java超出gc开销限制
这篇文章是我们原来的GC开销超出问题模式的延续。 正确的Java堆分析对于消除OutOfMemoryError:GC开销问题至关重要。 如果您不熟悉此Java HotSpot 1.6错误,建议您
首先阅读有关此主题的
第一篇文章 。
本文将为您提供一个示例程序和一个教程,介绍如何在OutOfMemoryError之后使用Memory Analyzer分析Java HotSpot堆的占用空间。 我强烈建议您使用本教程自己执行和分析堆转储,以更好地理解这些原理。
故障排除工具
**所有这些工具都可以免费下载**
- Eclipse Indigo发布
- 通过IBM Support Assistant 4.1进行的内存分析器(热点堆转储分析)
- Java虚拟机:Windows HotSpot JRE 1.6.0_24 64位
示例Java程序
下面的简单Java示例程序将用于触发OutOfMemoryError; 使我们能够分析生成的HotSpot堆转储文件。 只需在您选择的Eclipse项目中创建一个新的Java类:JVMOutOfMemoryErrorSimulator.java,然后重命名或保持当前包不变即可。
该程序基本上是在Map数据结构内创建多个String实例,直到Java Heap耗尽为止。
**请确保您的Eclipse编译器和JRE为1.6 **
package org.ph.javaee.javaheap;
import java.util.Map;
import java.util.HashMap;
/**
* JVMOutOfMemoryErrorSimulator
*
* @author PH
*
*/public class JVMOutOfMemoryErrorSimulator {
private final