Java技术,IBM风格: 监视和判断问题 - 编程入门网
and call countObjects on them to */
/* populate the object type count HashMap */
while(allHeaps.hasNext()) {
countObjects((JavaHeap)allHeaps.next(),objectCountMap);
}
/* print out each of the entries in the HashMap of object types */
for (String objectClassName : objectCountMap.keySet()) {
System.out.println(objectClassName +
" occurs " + objectCountMap.get(objectClassName));
}
private static void countObjects(JavaHeap currentHeap,
Map<String, Long> objectCountMap)
throws Exception{
/* Iterate over each of the Objects on the supplied Java heap */
Iterator currentHeapObjects = currentHeap.getObjects();
while(currentHeapObjects.hasNext()) {
JavaObject currentObject = (JavaObject)currentHeapObjects.next();
/* Get the name of the class from the object */
String objectClassName = currentObject.getJavaClass().getName();
long objectCount = 0;
/* Add the class name to the HashMap, or increase the count if it */
/* already exists */
if (objectCountMap.containsKey(objectClassName)) {
objectCount = objectCountMap.get(objectClassName);
}
objectCountMap.put(objectClassName, objectCount + 1);
}
}
结束语 本文讨论的所有功能都可以帮助您诊断和解决在 Java 部署中遇到的开发和生产问题。结合使用这三种主要的设施来生成历史跟踪数据和详细的状态数据,再用简单的 API 访问状态数据,就可以以强大且灵活的方式探察 Java 应用程序并解决问题。 本文结束了对 Java 虚拟机的 IBM 实现中主要改进和改变的讨论。具体地说,我们讨论了内存管理、类共享和应用程序监视,描述了如何利用这些功能改进 Java 应用程序的性能和可用性。关于这些改进和其他改进的更多信息可以在 IBM Diagnostics Guide 中找到,还可以通过 IBM Runtimes and SDKs 论坛进行反馈和讨论。 在这个系列的最后一篇文章中,Java 安全开发团队将讨论 IBM 对 Java 平台的安全改进。那篇文章将介绍每个安全组件以及它们提供的功能。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |