Java HotSpot虚拟机实现(Java HotSpotVM)是Sun Microsystems,针对Java平台的高性能VM。 Java HotSpot技术为Java SE平台奠定了基础,Java SE平台是用于快速开发和部署关键业务桌面和企业应用程序的主要解决方案。 通过Java技术被许可方,Java SE技术可用于Solaris Operating Environment(OE),Linux和Microsoft Windows以及其他平台。
Java平台已成为软件开发和部署的主流工具。拥有数百万开发人员和用户,Java平台在许多方面都在爆炸性增长:从信用卡到无线设备, 从台式机到大型机。它是部署网页小程序,Web服务,大型商业应用程序等的基础。
Java HotSpot VM建立在Java技术的跨平台支持和强大的安全模型的基础上,并具有针对可伸缩性,质量和性能的新功能。除了新功能, 该版本还与以前的版本向上兼容。
Java HotSpot VM实际上支持企业应用程序的开发,部署和管理的所有方面,并且由以下人员使用:
- 集成开发环境(IDE),包括Sun Java Studio工具,NetBeans开源项目,IBM的Eclipse,IntelliJ IDEA,Oracle JDeveloper等。
- 应用服务器供应商,例如Sun Java System Application Server,BEA Systems的WebLogic软件,IBM的WebSphere软件, Apple Computer,Inc.的WebObjects软件等。
Sun Microsystems,Inc.还通过使用各种行业标准和内部开发的基准来提高性能。这些改进适用于客户端和服务器端Java VM环境。
Java Standard Edition Platform包含Java VM的两种实现:
- Java HotSpot Client VM,通过减少应用程序启动时间和内存占用量,可在客户端环境中运行应用程序时对其进行优化,以实现最佳性能。
- Java HotSpot Server VM,旨在为在服务器环境中运行的应用程序提供最大的程序执行速度。
Java HotSpot VM建立在强大的特性和功能的基础上。支持动态的,面向对象的优化的体系结构可实现世界一流的性能。 整个VM的多线程支持甚至在当今可用的最大计算系统上也具有高可伸缩性。先进的可靠性, 可用性和可维护性(RAS)功能可提供企业级的可靠性,同时能够进行快速开发,自省和管理。
Java HotSpot虚拟机是Sun的Java平台VM。它结合了最新的内存模型,垃圾收集器和自适应优化器, 为使用许多先进技术的Java应用程序提供了最佳性能。它以高级的,面向对象的样式和功能编写:
- 统一对象模型
- 解释,编译和本机框架都使用同一堆栈
- 基于本机线程的抢占式多线程
- 精确的分代和压缩垃圾收集
- 超快速线程同步
- 动态去优化和积极的编译器优化
- 在VM启动时生成的特定于系统的运行时例程
- 支持并行编译的编译器接口
- 运行时分析只将编译工作集中在“hot”方法上
JDK包括两种VM:客户端产品和为服务器应用程序调整的VM。这两个解决方案共享Java HotSpot运行时环境代码库, 但是使用不同的编译器,这些编译器适合于客户端和服务器的独特性能特性。这些差异包括编译内联策略和堆默认值。
JDK在发行版中同时包含这两个系统,因此开发人员可以通过指定-client
或 选择他们想要的系统 -server
。
尽管服务器VM和客户端VM相似,但已经对服务器VM进行了特殊调整,以最大程度地提高峰值运行速度。 它用于执行长时间运行的服务器应用程序,这些应用程序需要比快速启动时间或较小的运行时内存占用更多的最快的运行速度。
客户端VM编译器可作为经典VM和早期JDK版本使用的即时(JIT)编译器的升级。Client VM为应用程序和小程序提供了改进的运行时性能。 Java HotSpot客户端VM经过特别调整,以减少应用程序启动时间和内存占用,使其特别适合客户端环境。通常,客户端系统更适合GUI。
客户端VM编译器不会尝试执行服务器VM中由编译器执行的许多更复杂的优化,但是作为交换,它需要更少的时间来分析和编译一段代码。 这意味着客户端VM可以更快地启动,并且需要较小的内存空间。
Server VM包含一个高级自适应编译器,该编译器支持通过优化C ++编译器执行的许多相同类型的优化, 以及一些传统编译器无法完成的优化,例如跨虚拟方法调用的主动内联。与静态编译器相比,这是一个竞争优势和性能优势。 自适应优化技术的方法非常灵活,通常甚至优于高级静态分析和编译技术。
两种解决方案均提供了极其可靠,安全和可维护的环境,可满足当今企业客户的需求