{{위키데이터 속성 추적}}
{{소프트웨어 정보
| name = 자바 핫스팟 가상 머신
| logo =
| screenshot =
| caption = 
| developer = [[오라클 (기업)|오라클]] (과거에는 [[썬 마이크로시스템즈]])
| released = {{시작 날짜와 나이|1999|04|27}}<ref name=HotSpot1.0PR>{{웹 인용|title=Sun Announces Availability of the Java HotSpot Performance Engine|url=http://www.thefreelibrary.com/Sun+Announces+Availability+of+the+Java+HotSpot+Performance+Engine%3B...-a054477747|work=Press Release|publisher=Sun Microsystems|access-date=26 March 2013|archive-date=2013-11-01|archive-url=https://web.archive.org/web/20131101095145/http://www.thefreelibrary.com/Sun+Announces+Availability+of+the+Java+HotSpot+Performance+Engine%3B...-a054477747|url-status=dead}}</ref>
| latest release version = 23.25-b01| latest release date = {{시작 날짜와 나이|2016|01|01}}
| operating system = [[크로스 플랫폼]]
| programming language = [[C++]]
| genre = [[자바 가상 머신]]
| license = 사유 (초기 버전), [[GNU GPL]] (현재)
| website = {{URL|openjdk.java.net/groups/hotspot}}
}}
'''핫스팟'''(HotSpot)은 [[데스크톱 컴퓨터|데스크톱]]과 [[서버]] 컴퓨터를 위한 [[자바 가상 머신]]으로, '''자바 핫스팟 퍼포먼스 엔진'''(Java HotSpot Performance Engine)이라는 이름으로 출시되었으며<ref name=HotSpot1.0PR />, [[오라클 (기업)|오라클]]에 의해 유지 보수 및 배포가 이루어지고 있다. [[JIT 컴파일]]과 [[적응 최적화]](adaptive optimization)와 같은 방식들을 통해 성능을 개선한 것이 특징이다.

== 역사 ==
1999년 4월 27일 첫 출시된<ref name=HotSpot1.0PR /> 자바 핫스팟 퍼포먼스 엔진은 본래 롱뷰 테크놀로지스(Longview Technologies)가 "Animorphic"로 개발한 [[스트롱토크]](Strongtalk)라는 이름의 [[스몰토크]] 프로그래밍 언어의 구현체의 기술을 기반으로 한다. 썬 연구 프로젝트의 하나인 [[셀프 (프로그래밍 언어)|셀프]]라는 언어는 일찍이 Animorphic의 가상 머신 기술을 성공적으로 사용하였다. 1997년, 썬 마이크로시스템즈는 Animorphic을 구매하였다.<ref>{{웹 인용
| url= http://findarticles.com/p/articles/mi_m0CGN/is_n3348/ai_20359903/pg_1
| title=Sun's Gosling Previews Hotspot Java Virtual Machine
| publisher= ComputerGram
| date=1998-02-13
| access-date=2008-04-20}}</ref>

Animorphic을 인수한 직후에 썬은 자바 가상 머신을 위한 새로운 [[JIT 컴파일|JIT 컴파일러]]를 작성하기로 결정한다.<ref>{{웹 인용
| url=http://www.infoq.com/interviews/click-gc-azul
| title=Cliff Click on Azul's Pauseless GC, Zing, JVM Languages
| publisher=InfoQ
| date=2011-01-20
| access-date = 2016-05-10
| quote = [...] Anamorphic was acquired by Sun so the original team was at a company called Anamorphic, they came in with a technology that was targeted at Smalltalk and they re-targeted it for Java and they hired me shortly afterwards to do a new JIT for their virtual machine.
}}</ref> 이 새로운 컴파일러는 소프트웨어의 동작에서 착안하여 핫스팟(HotSpot)이라는 이름을 사용하기로 한다: [[자바 바이트코드]]를 실행하므로, 종종 또는 반복적으로 실행되는 핫스팟을 위한 프로그램 성능을 계속적으로 분석한다. 그 뒤 [[최적화]]를 목표로 함으로써 성능에 덜 민감한 코드에 대해 부하를 최소화하여 고성능 실행을 이룩한다. 한 보고서에 따르면 JVM은 일부 벤치마크에서 일부 [[C++]], [[C (프로그래밍 언어)|C]] 코드의 성능에 필적한다.<ref>{{웹 인용
| url=http://scribblethink.org/Computer/javaCbenchmark.html
| title= Performance of Java versus C++
| last=Lewis|first=J. P.
| year=2004
| access-date=2007-10-03}}</ref>

== 기능 ==
썬의 [[JRE]]는 2개의 가상 머신을 갖추고 있는데, 하나는 클라이언트, 나머지 하나는 서버이다. 클라이언트 버전은 빠른 로딩을 위해 튜닝되어 있다. 해석하는 역할을 담당한다. 서버 버전은 더 느리게 로드하며, 더 높은 성능을 위해 매우 최적화된 [[JIT 컴파일]]을 생성하는데 온 노력을 집중한다.

핫스팟은 [[C++]]로 작성되어 있다. 소스 코드는 대략 250,000줄의 코드를 포함하고 있다.<ref>{{웹 인용
| url=http://openjdk.java.net/groups/hotspot/
| title= The HotSpot Group
| publisher=Sun Microsystems
| quote=''There are nearly 1500 C/C++ header and source files, comprising almost 250,000 lines of code''
| year=2007
| access-date=2007-10-03}}</ref> 핫스팟은 다음을 제공한다:
* [[자바 클래스로더]]
* [[자바 바이트코드]] [[인터프리터]]
* 클라이언트 및 서버 가상 머신. 자신들의 개별 용도에 최적화됨.
* 일부 [[쓰레기 수집|쓰레기 수집기]]
* 지원 런타임 라이브러리 집합

== 같이 보기 ==
* [[OpenJDK]]

== 각주 ==
{{각주}}

== 외부 링크 ==
* {{공식 웹사이트}}

{{자바 가상 머신}}
{{토막글|소프트웨어}}

[[분류:자바 가상 머신]]
[[분류:C++로 작성된 자유 소프트웨어]]
[[분류:오라클 소프트웨어]]
[[분류:썬 마이크로시스템즈 소프트웨어]]
[[분류:어셈블리어 소프트웨어]]