Java HotSpot VM 性能引擎架构

概述

Java HotSpot™虚拟机实现Sun Microsystems公司的高性能虚拟机的Java平台, 平台的应用环境从头到现在,依然有很多的应用存在: 从信用卡到无线设备,桌面到大型机等

Java HotSpot VM基于Java技术的跨平台支持和安全模型,具有可扩展性,质量和性能的新特性和功能。 除了新功能外,此版本还与以前的版本向上兼容

Java HotSpot VM支持企业应用程序的开发,部署和管理的所有方面,并且用于:

  • 集成开发环境(IDE),包括Sun Java Studio工具,NetBeans开源项目,IBM的Eclipse,IntelliJ IDEA,Oracle JDeveloper等
  • 应用服务器厂商,如Sun Java系统应用服务器,BEA系统公司的WebLogic软件,IBM的WebSphere软件,苹果电脑公司的软件的WebObjects等等

目前的话,IntelliJ IDEA工具还是比较火的,同样满足需求的请求下,coder们也追求快感和美感

 

Sun Microsystems公司也通过使用各种行业标准和内部开发的基准测试性能的改进, 这些改进适用于客户端和服务器端Java VM环境

Java标准版平台包含了Java虚拟机的两个实现:

  • Java HotSpot Client VM,通过减少应用程序启动时间和内存占用,在客户端环境中运行应用程序时可以获得最佳性能
  • Java HotSpot Server VM,旨在最大限度地提高服务器环境中运行的应用程序的执行速度


Java HotSpot VM架构 概观

Java HotSpot虚拟机是Sun用于Java平台的VM。 它使用许多先进技术为Java应用程序提供最佳性能,包括最先进的内存模型,垃圾收集器和自适应优化器。 它以高级,面向对象的风格编写,并具有以下特点:

  • 统一对象模型

  • 解释,编译和本地帧都使用相同的堆栈

  • 基于本地线程的抢占式多线程

  • 高效的垃圾回收机制

  • 超快速线程同步

  • 动态的优化和快速的编译器优化

  • 在VM启动时生成的系统特定的运行时程序

  • 支持并行编译的编译器接口

  • 运行时分析只关注"热"方法的编译工作

JDK包括两种VM - 一种是客户端产品,另一种是针对服务器应用程序调整的VM。 这两个解决方案共享Java HotSpot运行时环境代码库,但使用适合客户端和服务器独特性能特征的不同编译器。 这些差异包括编译内联策略和堆默认值

JDK在发行版中包含这两个系统,因此我们可以通过指定-client或-server来选择想要的系统

用了这么久的JDK,尴尬,才知道,另外发现大多数的系统层级或载体组件,都有着相同,或者说类似的架构设计模式

 

虽然服务器和客户端虚拟机类似,但服务器虚拟机已经过专门调整,以最大限度地提高峰值运行速度。 它旨在执行长时间运行的服务器应用程序,这些应用程序需要尽可能快的运行速度,而不是快速启动时间或较小的运行时内存占用

客户端VM编译器用作经典VM和先前版本的JDK使用的实时(JIT)编译器的升级。 客户端VM为应用程序和小程序提供了改进的运行时性能。 Java HotSpot客户端VM经过专门调整,可缩短应用程序启动时间和内存占用,使其特别适合客户端环境。 通常,客户端系统更适合GUI

Client VM编译器不会尝试执行服务器VM中编译器执行的许多更复杂的优化,但作为交换,它需要更少的时间来分析和编译一段代码。 这意味着客户端VM可以更快地启动并且需要更小的内存占用

Server VM包含一个高级自适应编译器,它支持通过优化C++编译器执行的许多相同类型的优化,以及传统编译器无法完成的一些优化,例如跨虚拟方法调用的积极内联。 与静态编译器相比,这是一种竞争优势和性能优势。 自适应优化技术的方法非常灵活,通常甚至优于高级静态分析和编译技术

这两种解决方案均可提供极其可靠,安全且可维护的环境,以满足的需求

 

粗略的VM架构认识就到这里,继续学习 Memory Model--内存模型

----------------------------------------------------------------

转载于:https://my.oschina.net/u/3829444/blog/1921743

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值