Java란 무엇인가? 그 본질은 무엇인가라는 궁금증에 대하여 심도있고, 상세한 설명과 함께 쓰여진 블로깅이 있어서 링크한다. 엑셈의 WAS성능 관리 솔루션을 만드는 분이 아닐까 추측을 해본다.
> [JVM Internal]Java Performance Fundamental 교재를 공유합니다.
- JVM = Runtime Data Area + Execution Engine + ClassLoader + Garbage Collection + Native Code (JVM 위키피디아)
- Runtime Data Area = Java Stack(Frame Data = Operand Stack + Local Variable) + Method Area + Method Area
+ istore : Operand Stack -> Local Variable
+ iload : Local Variable -> Operand Stack
- ClassLoader = Bootstrap (rt.jar) + Extension (jdk/ext directory) + System ClassLoader (application)
- ClassLoader Work = Loading -> Linking -> Initializing
- Execution Engine : byte code를 interpreting 하여 수행
+ JIT (Just In Time) Compiler : 많이 수행되는 것 일부를 Native Code로 Compile 하여 수행
+ HotSpot Compiler = Client or Server Compiler
+ Profile을 이용하여 Native Code Compiler 코드를 결정
+ Native -> Interpet로 돌아갈 수도 있음
> JVM 과 JavaScript Engine의 차이
'Languages > Java' 카테고리의 다른 글
[ASM4] Core API - 01 (0) | 2012.12.27 |
---|---|
[Groovy] Closure 지원하는 그루비 (0) | 2012.12.25 |
[Groovy] 그루비를 IntelliJ IDE에서 개발하고 테스트 하기 (0) | 2012.12.25 |
[Groovy] Domain Specific Language 배우기 (0) | 2012.12.25 |
[BeanShell] 설치하고 사용하기 (0) | 2012.10.26 |