繁体   English   中英

消耗JVM内存

[英]Chew up JVM memory

我正在测试一个监视应用程序运行状况的应用程序,而决定因素之一就是jvm内存。 我很好奇如何吃完才能达到测试的门槛? 这行得通吗?

ArrayList<Object> list = new ArrayList<Object>();
while(true){
    list.add(new Object());
}

类似于在我不断分配内存的C中仔细检查应用程序内存? 还是垃圾收集器会来帮我清理所有这些? 还是我完全错过了标记?

不,您没有错过分数。 垃圾收集器将仅收集您不再引用的对象。 在示例代码中,列表将始终在范围内,列表所引用的所有对象也将始终在范围内,因此您最终将填充堆并生成OutOfMemoryException。

如评论中所述,根据堆的大小,使用普通对象可能不是实现此目的的最佳方法。 较大的对象或简单的基元数组将使您的生活更轻松。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM