티스토리 뷰

JAVA

[JIT Optimizer] 개념

박중수 2015. 4. 23. 18:57

javac 컴파일러는 소스코드를 바이트코드로 된 class 파일로 변환시켜준다.

그렇기 때문에 자바 프로그램을 실행할 때에 JVM은 항상 바이트 코드로 시작하고,

동적으로 기계에 의존적인 코드로 변환한다.


JIT는 프로그램에서 각각 메소드를 컴파일 할 만큼 시간적 여유가 많지 않으므로,

모든 코드는 인터프리터에 의해 시작되고 해당 코드가 많이 실행될 경우 컴파일의 대상이 된다.


HotSpot VM에서 이 작업은 각 메소드에 있는 카운터를 통해 통제되고,

이 메소드는 invocation, backedge 라는 두 개의 카운터를 가진다. 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함