Java/JVM 2

Java JIT compiler

Java JIT compiler 1. JIT 컴파일러란? 자바 파일을 컴파일하게 되면 ".class" 확장자를 가진 클래스 파일이 생성된다. 이 클래스 파일은 자바 바이트 코드(java byte code)로 이루어져 있다. 가상 기계(Virtual Machine)을 사용하는 언어에서의 가장 중요한 점으로는 컴파일된 바이트 코드를 어떻게 하면 더 효율적으로 빠르게 실행시킬 수 있을지에 대한 점이다. 자바 바이트 코드는 인터프리터 언어(interpreter language)이다. 한줄씩 읽고 해석하고, 그에 해당하는 기능을 실행시키는 인터프리터 언어이기에 비효율적으로 보일 수 있겠지만, 가상 머신에서 돌아가는 바이트 코드들은 매우 저수준의 인터프리터 언어이기에 자바스크립트 한줄에 비하면 자바 바이트 코드 한..

Java/JVM 2018.07.28

JVM이란?

JVM이란? JVM을 어떻게 정의할 것인가 고민하기에 앞서 기본적 JVM 원어부터 알아보자. JVM은 그 이름에서 자신의 모든 특성을 담고 있다. JVM은 먼저 Java에서 출발한다. 그리고 Virtual이라는 단어를 통해서 알 수 있듯이, JVM은 물리적인 형태가 아닌 소프트웨어로서 하나의 개념으로 존재한다. 그리고 JVM은 독자적으로 작동할 수 있는 메커니즘과 구조를 가지고 있다. 즉, 하나의 축약된 컴퓨터와 같은 의미에서 기계라는 의미의 단어 "Machine" 이 조합된 것이다. 결국 JVM은 정의된 스펙을 구현한 하나의 독자적인 프로세스 형태로 구동되는 Runtime Instance라고 할 수 있다. 따라서 JVM의 역할은 개발자들이 작성한 자바 프로그램이나 웹 애플리케이션 서버 등을 구별하지 않..

Java/JVM 2018.07.02