扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国IT实验室 来源:中国IT实验室 2007年8月24日
关键字:
远程调用Ctrl-Break Handler
可以使用JRockit Management Console来远程调用Ctrl-Break Handler。存在一个对JRockitConsoleMBean的操作,称为runCtrlBreakHandlerWithResult。JRockit Management Console可以从属性浏览器调用对MBean的操作。这里有关于如何调用Ctrl-Break Handler的逐步描述。
试着输入“help”作为参数,将会列出所有可用的Ctrl-Break Handler,如图1所示。
图1.从JRockit Management Console调用Ctrl-Break Handler(单击图片查看大图)
堆视图(试验性)
当分析应用程序如何使用某种垃圾收集策略时,在每一次GC后对堆进行快照将会非常有帮助。这有助于开发人员研究数据,比如碎片/压缩以及算法通常如何执行。但是快照中包含如此多的数据量以至于查看它没有什么意义,因此JRockit团队开发了一个提供图形化表示的小工具,以便更好地进行说明。
图2显示了一个快照的例子(使用的是一个非常早的JRockit 1.4.2预发布版本):
每一排表示一次垃圾收集。左边是开始的堆,右边是结束的堆。堆显示的右边是一个可配置图形。实心白色区域表示空白堆,黑色区域是充实区(也就是填充了对象的区域),浅灰色区域是碎片区,红色、黄色和绿色区域是可配置图形。可以从命令行指定在可配置图形中显示什么。该工具依然很粗糙,对于用户也不够友好,不过毋庸置疑它对JRockit的终端用户非常有用,所以这是一个非常不错但是不能通用的工具。
code coverage(试验性)
很多开发人员在以某种方式使用他们的应用程序时,使用code coverage分析来研究诸如代码库中的多少以及哪些部分正在运行之类的状况。测试人员喜欢使用code coverage来度量测试套件覆盖应用程序的比例。但是,对于大型应用程序,由code coverage工具所引起的性能开销通常是被禁止的。
JRockit内置了高性能的行code coverage。当启用code coverage运行时,代码将由记录行命中的捕获器生成。一旦某行被命中并记录,就删除捕获器,JRockit可以继续以接近全速的速度运行。
要使JRockit记录code coverage数据,必须指定一个命令行选项。
用法 -Xcodecoverage
可以使用以下系统属性来控制该行为:
系统属性 | 描述 |
---|---|
jrockit.codecoverage.filter= <filterspec> |
filterspec是个以分号(Windows)或冒号(Linux)隔开的筛选器字符串列表,它定义哪些类应当被覆盖。以“-”开头的筛选器字符串会被视为不应当覆盖的类。
示例: |
jrockit.codecoverage.filterfile= <filename> |
设置包含筛选器定义的文件的文件名。文件格式为每行一个筛选器字符串。 |
jrockit.codecoverage.outputfile= <filename> |
设置存放输出的文件。如果写入<filename>_0,输出文件不能被打开,那么将尝试<filename>_1,以此类推。在多个JVM共享一个公共命令行的情况中,这可能会很有用。 |
jrockit.codecoverage.testid= <id-string> |
设置初始测试标识符。 |
jrockit.codecoverage.verbose | 使code coverage更为详细。适用于在覆盖文件(均是纯文本文件)中执行文本比较。 |
jrockit.codecoverage.appendoutput | 设置对输出文件的写入为追加而不是覆盖。 |
这里给出特定于code coverage的参数,用于生成如下图中所示的数据。
-Xcodecoverage -Djrockit.codecoverage.filter=com/jrockit/console/*;com/jrockit/common/* -Djrockit.codecoverage.outputfile=console_coverage.txt
在内部,由一个code coverage小工具来解释JRockit所生成的数据,如图3所示。
图3:code coverage工具的输出示例
结束语
BEA对Java运行时的掌控将其置于一个独一无二的位置:BEA交付了一些针对Java平台的低开销的管理和监控特性。很多针对BEA JRockit的有趣的管理和使用特性正在开发中。其中一些已经随着包含在JRockit 5.0 R26中的JRockit Mission Control而可以使用,更多特性也即将出现。更多信息请参见Mission Control home page。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者