JVM虚拟机(一)

最近在看《深入理解java虚拟机:JVM高级特性与最佳实践》在这里记录备忘。

Sun官方定义的java技术体系包括以下几个组成部分:

    Java程序设计语言

    各种硬件平台上的虚拟机

    Class文件格式

    JavaAPI类库

    来自商业机构和开源社区的第三方Java类库

JDK(Java Development Kit):包括java程序设计语言、java虚拟机、Java API类库这三部分,JDK是用于支持Java程序开发的最小环境。

JRE(Java Runtime Environment):包含Java API类库中的Java SE API子集和java虚拟机这两部分,JRE支持Java程序运行的标准环境。

Java技术体系所包含的内容,以及JDK和JRE所涵盖的范围。


以上是根据各个组成部分的功能来进行划分的,如果按照技术所服务的领域来划分,或者说按照Java技术关注的重点业务领域来划分,Java技术体系可以分为4个平台,分别为:

    Java Card:支持一些Java小程序(Applets)运行在小内存设备(如智能卡)上的平台。

    Java ME(Micro Edition):支持Java程序运行在移动终端(手机,PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,之前称为J2ME。

    Java SE(Standard Edition): 支持面向桌面级的应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,之前称为2SE。

    Java EE(Enterprise Edition):支持使用多层架构的企业应用(如ERP、CRM应用)的Java平台,除了提供JavaSE API外,还对其做了大量的扩充并提供了相关的部署支持,之前称为J2EE。

HotSpot VM是JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机。HotSpot VM具有准确式的内存管理,还有它的热点代码检测技术。HotSpot VM的热点代码探测能力可以通过执行计数器找出最具有编译价值的代码,然后通知JIT(Just-in-time)编译器以方法为单位进行编译。如果一个方法被频繁调用,或方法中有效循环次数很多,将会分别触发标准编译和OSR(栈上替换)编译动作。通过编译器和解释器恰当地协同工作,可以最优化的程序响应时间和最佳执行性能中取得平衡,而且无须等待本地代码输出才能执行程序,即时编译的时间压力也相对减小,这样有助于引入更多的代码优化技术,输出质量更高的本地代码。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值