<b>顺服Tiger: 虚拟机更新</b>[Java编程]
本文“<b>顺服Tiger: 虚拟机更新</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在顺服 Tiger 的这一期中,John Zukowski 介绍了最新的 Java 虚拟机若何改进启动时间、降低内存需求、提高性能.Tiger 供应了同享的数据档案文件、新的线程调度算法以及致命错误处理器(用来处理弊端).请在本文附带的 谈论论坛 上与作者和其他读者分享您对本文的设法.(也可以单击本文顶部或底部的 谈论 拜候谈论论坛.)
致命错误处理器
JVM 包含几个新的号令行选项.此中一个不太尺度的选项是“致命错误处理器”.用 -XX:OnError 选项启动 JVM,可以指定在发生错误和 JVM 有弊端时要履行的号令.清单 1 显示了几个这样的选项:
清单 1. 一些 OnError 处理选项
-XX:OnError="gcore %p; dbx - %p"
-XX:OnError="gdb %p"
-XX:OnError="pmap %p"
JVM 中发生致命错误时,就会履行引号中的号令.%p 选项用进程 ID 替换.想成心制造些错误并不简单,但是假如无意发现某种情形确切反复发生,那么通过处理器得到的信息是极有帮忙的.
OnError 选项利用 Java 调试接口(Java Debug Interface,JDI) 服务性代理衔接器桥(serviceability agent connector bridge).有了这个桥,就可以够衔接核心文件大概已经安装的虚拟机,以及其他任务.以下所示,随 JDK 供应了几个诊断工具,它们操纵了这个桥,但是最后三个工具在 Microsoft Windows 平台上不能用:
jps —— 得到进程 ID
jstat —— 得到进程 ID 的统计值(jstat -gc pid)
jinfo —— 得到 JVM 的配置信息
jmap —— 打印库的内存映射
jstack pid | core —— 生成仓库跟踪
类数据同享
为了帮忙改进启动时间,JVM 目前和内存映射文件一同工作.这些文件在安装时成立,保存着系统类的内部表示方法.这样,在启动 JVM 时,就不会重新开始装入系统类,而是装入内存映射文件.这在两个方面供应了帮忙.首先,差不多有一半内存映射文件是只读的,这意味着可以在多个并发运行的进程之间同享它们,从而在相当程度上削减了启动时间和需求的全部内存.其次,由于这些文件采取了 Java HotSpot 虚拟机可以利用的格局,所以永久不会发生需求内存来处理原始类文件的情形,这也改进了启动时间.
同享档案文件的位置依靠于平台.文件命名为 classes.jsa,此中 JSA 扩大代表 Java 同享档案(Java Shared Archive).在 Microsoft Windows 平台上,可以在 jre\bin\client 中找到同享档案.在 Linux 平台上,位置是 jre/lib/[arch]/client.全部这些位置都基于 JAVA_HOME 根.
以上是“<b>顺服Tiger: 虚拟机更新</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |