본문 바로가기

Development/etc

Java의 바이트코드 실행 방식

자바 바이트코드는 기계가 바로 실행할 수 있는 언어보다는 비교적 인간이 보기 편한 형태로 기술됐다. 그래서 실행 엔진은 이와 같은 바이트코드를 실제로 JVM 내부에서 기계가 바로 실행할 수 있는 형태로 변경한다.


- 인터프리터 : 바이트코드 명령어를 하나씩 읽어서 해석하고 실행한다. 하나하나의 해석은 빠른 대신 인터프리팅 결과의 실행은 느리다는 단점이 있다. 즉, 바이트코드라는 '언어'는 기본적으로 인터프리터 방식으로 동작한다.


- JIT(just-in-time) 컴파일러 : 인터프리터의 단점을 보완하기 위해 도입된 것이 JIT 컴파일러다. 인터프리터 방식으로 실행하다가 적절한 시점에 바이트코드 전체를 네이티브 코드로 변경하고, 이후에는 해당 메서드를 네이티브 코드로 직접 실행하는 방식이다. 네이티브 코드는 캐시에 보관하기 때문에 한 번 컴파일된 코드는 계속 빠르게 실행된다.

'Development > etc' 카테고리의 다른 글

Git 명령어 정리  (0) 2015.05.17
Mac OS 업데이트 후 Homebrew가 동작하지 않을때...  (0) 2015.05.09
Find Bug  (0) 2015.03.31
App 아이콘을 만들어주는 사이트  (0) 2014.09.16
yum 으로 tomcat7 설치하기  (0) 2014.09.12