728x90

jvm 2

[Java] 자바가 컴파일 되는 과정

자바는 OS에 독립적인 특성을 지니고 있다. 이것이 가능한 이유는 JVM(Java Vitual Machine) 덕분이다. 그렇다면 JVM의 어떠한 부분 때문에 OS에 독립적으로 실행을 시킬 수 있는지 자바 컴파일 과정을 통해 알아보고자 한다. 자바 컴파일 순서 개발자가 자바 소스코드(. java)를 작성한다. 자바 컴파일러(Java Compiler)가 자바 소스파일을 컴파일한다. 이때 나오는 파일은 자바 바이트 코드(. class) 파일로 아직 컴퓨터가 읽을 수는 없는 자바 가상 머신이 이해할 수 있는 코드다. 바이트 코드의 각 명령어는 1바이트 크기의 Opcode와 추가 피연산자로 이루어져 있다. (※ Opcode란? → 옵코드는 올리디버거에 어떤 프로그램을 올렸을때, 숫자로만 나타내는 코드. 컴퓨터에..

JAVA 2022.02.23

[Java] JVM 구조에 대한 설명. 그리고 버전에 따라 무엇이 바뀌는가?

자바 공부를 할때마다 볼 수 있는 JVM. 오늘은 JVM의 구조와 버전에 따른 변경을 한 번 살펴보고자 한다. 먼저 JVM이란? JVM이란 Java Virtual Machine의 약자로 자바 가상 머신을 뜻한다. 여기서 가상 머신이란 프로그램의 실행을 위한 물리적 머신과 유사한 머신을 소프트웨어로 구현을 한것이다. JVM의 역할은 자바 애플리케이션을 Class Loader를 통해 읽어 Java API와 함께 실행을하고, JVM은 Java와 OS사이에서 중개자 역할을 수행하며 Java가 OS에 구애받지 않고 재사용을 가능하게 해준다. 그리고 가장 중요한 메모리 관리, Garbage Collection을 수행한다. 또한 JVM은 스택기반의 가상 머신이다. 그럼 우리는 왜 JVM를 알아야하는가? 한정된 메모리..

JAVA 2022.02.22
728x90