본문 바로가기

develop

프리미티브 타입과 레퍼런스 타입 -초보개발자- 자바의 타입은 크게 두 종류로 나뉜다. primitive type과 reference type이다. 프리미티브 타입 - Java의 기본적인 형(기본형) boolean : true or false char : 2바이트 문자 byte : 1바이트 정수 (-128 ~127 ) short : 2바이트 정수 (-32768 ~ 32767) int : 4바이트 정수 long : 8바이트 정수 float : 4바이트 소수 double : 8바이트 소수 레퍼런스 타입 프리미티브 타입을 제외한 모든 타입을 포함한다. Primitive type의 기본값은 Null이다. 값이 저장되어 있는 곳의 주소를 저장하는 공간으로 힙 (Heap) 메모리에 저장된다. 즉 실제값이 저장되어 있는 메모리 주소를 저장한다. 더보기
JDK 란? -초보개발자- JDK(Java Development Kit)는 약어이며 자바로 프로그램 개발을 하기 위한 모든 파일을 포함한 kit를 의미한다. 앞에서 배운 JRE(Java Runtime Environment)도 JDK의 일부이며 컴파일러나 자바 개발을 위한 다양한 파일들을 포함한다. JRE는 실행만을 위한 환경이다. JRE만 설치하면 자바를 컴파일하는 등의 각종 프로그램이 제외된 상태로 설치된다. 즉 JDK는 JRE를 포함한 개념이며 JDK가 더 넓은 범위에 있다고 생각하면 된다. JVM은 JRE안에 포함되며 JRE는 JDK안에 포함된다. 쉽게 나타내면 JDK>JRE>JVM 이다. 더보기
JIT 컴파일러란? -초보개발자- JIT(Just-In-Time)의 약자로 JRE(Java Runtime Environment - 자바 실행 환경) 안에 존재하며 프로그램을 실행할 때 기계어(native machine code)로 컴파일하는 컴파일 기법이다. - JIT를 사용하는 이유 자바 바이트 코드는 인터프리터 언어(interpreter language)이다. 인터프리터가 한 줄씩 읽고 해석하며 기능을 실행시키기에 실행 속도가 C/C++와 같은 언어로 만들어진 실행 파일보다 느리다. 이러한 이유로 같은 코드를 매번 새롭게 해석하는 대신, JIT를 이용해 '반복적인 코드'를 '네이티브 코드'로 전부 바꾸고 그 다음부터 인터프리터가 바로 네이티브 코드를 사용해 속도를 개선한다. ---------------------------------.. 더보기
컴파일의 방법과 실행 -초보개발자- 1. Compile 이란? 고급언어로 작성된 소스코드를 컴퓨터가 이해할 수 있도록 기계어로 변환하는 과정을 의미한다. (.java파일) → (.class파일)로 변환하는 과정이다. 즉, 자바에서의 컴파일은 자바 언어로 된 코드를 JVM이 인식할 수 있는 바이트코드로 변환하는 것이다. ✓ 소스코드 : 소프트웨어(프로그램)를 만들 때 쓰는 '설계도'이다. 예를 들어, 건축할 때 쓰이는 설계도처럼 소스코드는 프로그램의 설계도이다. - 컴파일을 하는 방법과 실행 컴파일을 하기 위해서는 컴파일 작업을 수행할 'Java Compiler'가 필요하다. 'Java Compiler'는 jdk를 설치하면 bin폴더 안에 'javac'라는 이름으로 설치된다. 정리하자면, 컴파일러가 자바코드(.java파일)를 JVM이 이해할.. 더보기
JVM 이란? -초보개발자- JVM 이란? JVM(Java Virtual Machine)의 약자로 '자바 가상 머신'이라고도 불린다. JVM은 어떠한 OS에서도 자바 프로그램이 실행될 수 있도록 도와주는 프로그램이다. JVM의 특성 1. WORA(Write once, Run anywhere) JVM을 통해 우리는 자바 프로그램을 어떤 OS든지 상관없이 사용할 수 있게 된다. 예전에는 같은 프로그램이더라도 Window용, Linux용 등 특정 운영체제에 맞게끔 프로그래밍을 해야 했다. 하지만 이제 JVM이 그 불편함을 없애준 것이다. 2. GC(Garbage Collection) 자바가 생기기 전, 모든 프로그램의 메모리는 프로그래머가 관리해야 했다. 하지만 지금은 JVM이 이러한 메모리 관리를 해준다. 메모리 관리는 GC의 과정을 .. 더보기
바이너리 코드와 바이트 코드 쉬운 정의 -초보개발자- 이 둘을 쉽게 정의하기 위해 생각해야 할 것이 있다. 프로그램을 실행하는 것은 컴퓨터가 한다. 즉, 프로그램은 컴퓨터가 이해할 수 있는 형태로 작성되어 있어야 한다. 1. 바이너리 코드란? 정의 : 컴퓨터가 인식할 수 있는 0과 1로 구성된 이진 코드이다. ✓ 이진 코드란? 쉽게 말해, 0과 1로 이루어진 코드이다. 바이너리 코드(binary code)의 영어 뜻을 해석해보면 'binary'는 '둘의', '이진법의'라는 뜻이다. 컴퓨터는 모든 정보를 '0'과 '1' 두 숫자만을 이용하여 인식한다. 그렇기 때문에 컴퓨터가 인식할 수 있는 0과 1로만 구성된 코드를 '바이너리 코드'라고 말한다. 2. 바이트 코드란? 정의 : '가상 머신'이 이해할 수 있는 '0'과 '1'로 구성된 이진 코드이다. ✓ 가상 .. 더보기