java - 如何找出创建垃圾对象的代码

标签 java garbage-collection jvm heap-memory

应用程序正在创建 3GB 的垃圾对象,并且这会被垃圾收集。这个创建垃圾的过程及其随后的收集每 30 分钟重复一次。我进行了堆转储并可以识别无法访问的对象,但无法识别创建这些无法访问的对象的代码。请告诉我是否有一种方法可以在不购买 Jprofiler/YourKit 的情况下找出对此负责的代码。

最佳答案

您始终可以使用 Java Flight recorder 和 Java Mission Control 而不是 Jprofiler/YourKit。从 Oracle JDK 7 Update 40 (7u40) 版本开始支持它。除非您使用的版本不低于此。

http://www.oracle.com/technetwork/java/javaseproducts/mission-control/java-mission-control-1998576.html

https://docs.oracle.com/javacomponents/jmc.htm

关于java - 如何找出创建垃圾对象的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27162134/

相关文章:

java - 开始使用 Java 编程

javascript - 如何防止 Node.js 对关键变量进行垃圾收集 (GC)

java - 创建按钮来调用特定号码 - Android Studio

java - "GC--"在 java 垃圾收集日志中意味着什么?

.net - 当 .NET 垃圾收集压缩堆时, "Allocate Bytes"性能计数器是否更新?

Scala 对大数的阶乘有时会崩溃,有时不会

java - Java中的主线程什么时候停止?

android - android 上的纯函数式编程

java - Android改变Arraylist项值

Java Gson - 帮我解析我的 JSON