티스토리 뷰
javac 컴파일러는 소스코드를 바이트코드로 된 class 파일로 변환시켜준다.
그렇기 때문에 자바 프로그램을 실행할 때에 JVM은 항상 바이트 코드로 시작하고,
동적으로 기계에 의존적인 코드로 변환한다.
JIT는 프로그램에서 각각 메소드를 컴파일 할 만큼 시간적 여유가 많지 않으므로,
모든 코드는 인터프리터에 의해 시작되고 해당 코드가 많이 실행될 경우 컴파일의 대상이 된다.
HotSpot VM에서 이 작업은 각 메소드에 있는 카운터를 통해 통제되고,
이 메소드는 invocation, backedge 라는 두 개의 카운터를 가진다.
'JAVA' 카테고리의 다른 글
[JIT Optimizer] 컴파일 (0) | 2015.04.23 |
---|---|
[JIT Optimizer] 카운터란? (0) | 2015.04.23 |
[JVM] HotSpot VM의 개념 (0) | 2015.04.23 |
[JAVA 성능개선] 예외처리를 효율적으로 (0) | 2015.04.17 |
[Java 성능개선] JDBC를 사용할 때 참고할 점 (0) | 2015.04.17 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Clojure
- 시간
- 람다
- 클로저
- react
- Stream
- 퍼포먼스
- Jackson
- 알람
- Swift 2.0
- 날짜
- RAMDA
- 성능
- 자바
- rambda
- gitlab
- 자료구조
- 성능개선
- 코어
- Docker
- 리액트
- 컴퓨터 시간
- Java
- json
- javascript
- opensource
- 메모리
- 프로세서
- Java8
- 자바 성능
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함