Deperecated 120

JAVA관련 토막 지식.

1. 리터럴(literal) - 소스 코드 내에서 직접 입력된 값 2. JVM의 메모리 사용 영역 - JVM은 운영체제에서 할당받은 메모리 영역을 1. 메소드 영역 / 2. 힙 영역 / 3. 스레드로 구분해서 사용한다. 메모리 영역 설명 설명2 메소드 (Method 영역) 코드에서 사용되는 클래스(~.class)를 클래스 로더로 읽어서 클래스 별로 1. 런타임 상수풀(runtime constant pool) 2. 필드 데이터(field) 3. 메소드 데이터(method) 4. 메소드 코드 5. 생성자(constructor) 코드 등 으로 분류해서 생성한다. JVM이 시작할 때 생성되고 모든 스레드가 공유하는 영역이다. 힙 (Heap 영역) 배열과 객체가 생성되는 영역. JVM의 스택 영역의 변수나 다른 ..

Deperecated/JAVA 2019.12.19

비트 연산자 뽀개기

봐도봐도 기억 안나는 비트 연산자.. 비트 너무싫어 하드웨어 싫어 싫어싫어 하다보니 이 지경 까지.. 확실히 뽀개놓는다. 1. 비트 연산이란? 비트단위로 연산을 진행 하는 것. CPU에겐 곱셈과 나눗셈은 매우 부담이 되는 작업이지만, 비트를 이동시키는 연산은 전혀 부담되지 않는다. Flag 처리에 주로 쓰인다. 예를 들어, 4Byte면 Bit가 32개 이므로 32개의 상태 처리가 가능하다. 2. 비트 연산자 비트 연산자 설명 활용 & 비트 단위로 AND 연산을 한다. 둘 다 1이면 1 Flag가 켜져있는지 확인 if(Flag & 1) 1이 켜져있는지 if(Flag & 2) if(Flag & 4) if(Flag & 8) | 비트 단위로 OR 연산을 한다. 하나만 1이면 1 Flag | 1 // 0000 0..

JAVA 기본서 공부 - 4 <연산자>

기본 연산자에 관한 내용은 너무 기본적이라 뺐음. 1. Short-Circuit Evaluation AND 혹은 OR의 연산에 있어서 결과가 확실히 예측 되었을 경우 뒤의 나머지 연산을 실행하지 않고 답을 내는 경우. 빠르게 연산을 진행하기 위해 넣은 것. Class Hyunndy { public static void main(String[] args) { int num1=0, num2=0; boolean result; result = (num1+=10) 0; System.Out.Println("result ="+result); System.Out.Println("num1="+num1+", num2 = "+num2); 출력 결과: result = false; num1 ..

Deperecated/JAVA 2019.12.19

JAVA 기본서 공부 -3 <상수>

1. 상수(= 리터럴)의 저장 상수는 "자료형을 기반"으로 저장된다. 하지만 자바의 상수 저장방식은 기본적으로 "고정"되어 있다. 상수 타입 저장 방식 정수 int 실수 double 2. 접미사 자바는 상수의 자료형 검사에 매우 엄격하다. 상수의 크기(데이터)를 기준으로 자료형을 결정짓지 않고, 정수형은 무조건 int, 실수형은 무조건 double로 표현하기 때문에, 그 이 외의 다른 자료형으로 표기하려면 접미사를 붙여야 한다. class Hyunndy { pubilc static void main(String[] arm) { long num1 = 1000000000; // 컴파일 불가 int num2 = 1000000000; // 컴파일 불가 long num3 = 10000000000L; // 컴파일 ..

Deperecated/JAVA 2019.12.19

JAVA 기본서 공부 -2 <변수&자료형>

1. 변수란? 데이터의 저장과 참조를 위해 할당된 메모리 공간. 결국 변수를 선언해서 데이터를 저장하고, 그 변수를 이용해 이리저리 써먹는것이 코딩의 기본. 2. 프로그래밍에서의 실수 소수점 이하의 값이 존재하는 숫자 3. JAVA의 기본 자료형(Primitive data type) 자료형 메모리 크기 데이터 bool 1 바이트 true or false char 2 바이트 모든 유니코드 문자 byte 1 바이트 정수 short 2 바이트 정수 int 4 바이트 정수 long 8 바이트 정수 float 4 바이트 실수 double 8 바이트 실수 4. 정수의 표현 방식 " 몇 바이트로 정수를 표현할 것인가? " -> 정수는 1,2,4,8바이트로 표현할 수 있다. 정수의 부호 컴퓨터의 표현 방식 양 가장 왼..

Deperecated/JAVA 2019.12.19

진수 뽀개기

나는 살면서 내 머리가 나쁘다는 생각을 별로 해본적이 없는데... 항상 n진수는 공부할 때 마다 까먹는다...왜?왜지..? 컴구 시간에 자서..? 공부를 안해서..? 내 머릿속의 지우개... 이번 기회에 N진수를 확실히 뽀개보겠다. 1. N진수란? N은 데이터를 표현하는데 사용하는 기호의 개수를 의미한다. 2. 자릿수 N진수는 N의 몇 승으로 각각의 자릿값을 더해 숫자를 표현할 수 있다. 3. 2진수 컴퓨터를 구성하는 회로에서 전기가 통할 때 1, 통하지 않을 때 0 두 가지 상태만 존재한다. 그래서 미국의 수학자는 이를 bit(비트)라 했고, 이는 오늘날 컴퓨터에서 표현되는 데이터의 기본 단위가 된다. 4. 16진수 왜 16진수를 알아야 할까? 이는 컴퓨터가 2진수를 쓰기 때문에, 큰 수를 표현할 때 ..

Java 기본서 공부 - 1 <자바 개발환경>

Java에 대해 이론은 알지만 처음 해보므로 기본서를 완독하기로 했다. 기본서보단 프로젝트를 먼저 만드는게 좋다는걸 알지만, 역시 성격상 이런 문법서 하나는 완독해야한다. 그래서 목표는 3일 내로 "난 정말 JAVA를 공부한 적이 없다구요" 책을 끝내는 것이다. 1. 자바 프로그램의 실행 원리 - 운영체제는 자바 가상머신을 실행시키고, 자바 가상머신은 자바 프로그램을 실행 ㅣ키는 구조이다. 왜? 자바 프로그램을 운영체제에 상관없이 실행시키기 위함이다. 하지만 자바가상머신은 운영체제별로 다르게 설치해줘야 한다! 2. 자바 컴파일러&자바 바이트 코드 - 000.java(소스코드) -> Javac.exe(자바 컴파일러) -> 자바 바이트코드로 변환 -> Java.exe(000.class, JVM) - 자바 컴..

Deperecated/JAVA 2019.12.15

Java와 C++의 차이점.

Java 공부를 시작해보려 한다. 부끄럽게도, 게임 개발에 C++이 주로 사용된다는 것에 안주해서 Java 책을 사놓고도 한 번도 제대로 보지 않았다. (반성) 시작 전에, 나에게 익숙한 C++과 Java의 차이점에 대해 알고 가려고 글로 정리해본다. *사전지식 C++은 "C with Classes" 를 모토로 절차지향적 언어인 C를 객체 지향적 언어로 발전시킨 것이다. C++은 객체 지향적 언어로, 다형성, 다중 상속, 정보 은닉의 특징이 있다. Java는 "Writing Once, Using Everywhere" 을 모토로 만들어진 객체 지향 언어 이다. C++은 컴파일러를 사용해 플랫폼에 비독립적이고, Java는 인터프리터를 사용하기 때문에 가상머신이 깔려있는 플랫폼에서라면 플랫폼에 독립적이다. 위..

Deperecated/JAVA 2019.12.15