电话:0731-83595998
导航

64位环境中的Java(下)

来源: 2017-12-19 10:19

 内存管理器也有必须面对的问题。虽然具有较大的堆对性能有益,但为了使堆管理算法伸缩自如,这也加重了JVM的负担。虽然始终都有堆碎片的问题,但在堆较大时,这一问题就很严重了。

编译器和优化器
从应用程序性能的角度考虑,使用所有优化去编译所有方法也是不必要的,因为编译时间也是应用程序执行时间的一部分。因此,不仅WebLogic JRockit不会在启动时完全优化所有方法,而且在整个应用程序运行期间,也会保留大量的方法不被优化。WebLogic JRockit仅选择改进后能够最大限度地提高应用程序性能的函数,然后仅对这一少部分方法进行优化。

 

 

图1. BEA WebLogic JRockit有两条代码编译途径。||| 

  WebLogic JRockit使用尖端的、低开销的、基于采样的技术来识别应该优化的函数。JVM包含一个采样器线程,该线程以周期性间隔唤醒,并检查几个应用程序线程的状态。它会识别每个线程正在执行什么方法,并记录某些执行历史纪录。采样器线程为所有方法跟踪此信息,当它发现频繁使用某一方法时,就会打上标记以便进行优化。在应用程序运行期间,较早的阶段会有大量这种优化机会,随着应用程序的继续执行,优化机会出现的速率不断下降。
WebLogic JRockit中的优化编译器包含许多基于Intel Itanium 2微体系结构的众所周知的代码生成技术。这些技术包括尖端的寄存器分配器,它可以充分利用Intel Itanium处理器系列的大寄存器堆栈(128个通用寄存器和128个浮点寄存器)。

内存分配和垃圾收集
WebLogic JRockit包含多种垃圾收集器,不同的应用程序可获益于不同的收集器。JVM包含相应的启发式,可以按各自适应方式为每个应用程序找到最佳的垃圾收集算法。所有的垃圾收集器在设计上都可以正确处理大型堆,算法可以利用堆中数据稀疏这一优势--即堆中包含的大多是由寿命短的对象形成的垃圾。
碎片可能会成为严重的性能问题,尤其是在大型堆空间的情况下更是如此。在垃圾收集期间压缩堆空间将会解决这一问题,但会影响性能,因为压缩大型堆空间开销太大。避免压缩也有问题:堆的部分空间将无法使用,从而导致频繁进行垃圾收集。同样,位置也会影响处理器缓存的性能。
当SOA Java开发人员将他们的应用程序部署到使用JRockit的、基于Intel Itanium 2微处理器的平台上以后,既可以提高运算能力,同时又能获得所需的性能和可靠性。机不可失,马上使用这种技术吧!您最终会获益匪浅。

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端