2013년 11월 6일 수요일

[JAVA HOT SPOT]자바 가상머신 기술(JAVA JVM, JAVA Virtual Machine)

[JAVA HOT SPOT]자바 가상머신 기술(JAVA JVM, JAVA Virtual Machine)
 
자바에서 하나의 클래스는 실행의 기본 단위인데 .class 파일을 읽어서 메모리에 적재한 다음 이를 사용시마다 일일이 운영체제에가 실행하기에 알맞은 코드로 번역을 했다. 그래서 자바를 Interpreter 언어라고도 한다. 물론 자바는 .class 파일을 만들기 위해 Compile을 해야 하므로 물론 컴파일 언어이다.
자바의 실행속도를 높이기 위해 여러가지 기술이 jvm을 만드는데 이용되었는데 Sun에서 최초로 사용한 기술은JIT이다.
이러한 번역 작업은 자바의 실행 속도를 떨어뜨리는 주 원인 이었다. 그래서 등장한 기술이 JIT(Just-In-Time) 기술이다. 이는 .class 파일을 읽어서 한꺼번에 운영체제에서 인식할 수 있는 코드로 한번에 번역을 하여 한번 번역된 코드는 다음에는 번역을 하지 않으므로 속도를 향상 시킬 수 가 있었다.

물론 앞의 JIT 방법도 문제가 있다. 한꺼번에 번역을 하다 보니 .class 파일의 size가 큰 경우에는 시간이 많이 걸리므로 등장한 기술이 Hotspot 이다.
HotSpot 기술은 .class 파일의 모두를 운영체제에 적합한 코드로 바꾸지 않고 가장 실행 시간을 요하는 부분만을 바꾸는 것이다.(실행시간을 많이 소요하는 코드 부분을 HotSport 이라고 한다.)
HotSpot 기능이 있는 자바 가상 머신을 HotSpot VM 이라고 하며 옛 방식을 Classic VM이라고 한다. JDK1.4 부터는 Classic VM은 더 이상 사용되지 않으며 HotSpot 가상 머신 만이 포함되어 있다.
[개강임박강좌, 오프라인교육장에 오시면 보다 자세히 배울 수 있습니다.]

오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(
www.onjprogramming.co.kr)

[주간]
  [11/13]SQL초보에서실전전문가까지
  [11/13]안드로이드개발자과정
  [11/18]Spring3.X, MyBatis, Hibernate실무과정
  [11/18]iPhone 하이브리드 앱 개발 실무과정

[평일야간]
  [11/08]C#,ASP.NET마스터
  [11/08]Spring3.X, MyBatis, Hibernate실무과정
  [11/12]iPhone 하이브리드 앱 개발 실무과정
  [11/14]JAVA&WEB프레임워크실무과정

[주말]
  [11/09]JAVA&WEB프레임워크실무과정
  [11/09]웹퍼블리싱 마스터
  [11/16]C#,ASP.NET마스터
  [11/16]PL/SQL,오라클힌트,SQL튜닝,사례연구
  [11/16]ASP.NET4.0 MVC 프로그래밍
  [11/16]Spring3.X, MyBatis, Hibernate실무과정




댓글 없음:

댓글 쓰기