Programming Language/Java
-
자바 가상 머신(Java Virtual Machine, JVM)이란?Programming Language/Java 2022. 3. 27. 15:18
Java Virtual Machine의 개념 정의 자바 컴파일 과정을 살펴본 사람들이라면 JVM이라는 개념이 어느 정도 익숙할 것이다. JVM은 '자바 컴파일러에 의해 생성된 자바 바이트 코드를 실행시키기 위한 가상머신'을 의미한다. JRE(Java Runtime Environment, 자바 런타임 환경)에 포함되어 있다. 즉, '코드를 실행하고, 해당 코드에 대한 런타임 환경을 제공하는 프로그램에 대한 사양'이다. 개발자들은 '어떤 기기 상에서 실행되고 있는 프로세스, 특히 자바 앱에 대한 리소스를 대표하고 통제하는 서버'를 지칭하기도 한다. 우리가 흔히 '자바는 OS에 독립적인 언어'라고 하는데 그렇게 될 수 있는 이유가 바로 이 JVM의 존재다. 즉, 그게 어떤 OS든지 JVM이 돌아가는 환경이라면..
-
자바 컴파일 과정Programming Language/Java 2022. 3. 26. 21:17
자바는 'OS에 독립적'이라는 특징이 있다. 풀어서 설명하자면 자바로 작성된 코드는 OS가 무엇인지와 상관없이 실행할 수 있다는 뜻이다. 이것이 가능한 이유는 JVM(Java Virtual Machine)이다. 이제 JVM의 어떤 기능으로 인해 OS에 독립적으로 실행될 수 있는지 자바의 컴파일 과정을 통해 알아보도록 하자. 자바 컴파일 과정 개발자의 자바 소스코드 작성(.java파일) 자바 컴파일러(Java Compiler)가 javac라는 명령어를 수행한다. javac는 소스코드를 자바 가상 머신(Java Virtual Machine, JVM)이 이해할 수 있는 바이트 코드(.class 파일)로 컴파일하는 명령어다. 이 바이트 코드는 아직 JVM만 읽을 수 있고 컴퓨터는 이해하지 못하는 반기계어 상태이..
-
Java의 역사와 특징Programming Language/Java 2022. 3. 26. 16:55
개발 공부를 하는 사람이라면 자바 언어에 대해서 한 번쯤 들어봤을 것이다. 특히 한국에서 개발 공부를 하다 보면 주로 사용하는 언어가 무엇인지를 떠나 자바 언어의 기본적인 문법과 사용법을 알고 있는 경우가 많다. 그만큼 많이 사용되는 프로그래밍 언어이기 때문이다. 한국의 경우 큰 기업들에서 스프링을 통해 백엔드를 구성해놓은 경우가 많기 때문에 그러한 경향이 더 크다. 이번 게시글에선 대표적인 프로그래밍 언어인 자바가 어떤 언어이며, 어떤 특징을 가지고 있는지 확인해보도록 하겠다. 자바의 역사 자바는 1991년 썬 마이크로시스템즈(Sun Microsystems)의 제임스 고슬링(James Gosling)이 고안한 프로그래밍 언어다. (한 가지 재밌는 이야기, Java를 처음 배울 때 흔히 사용하는 IDE인..