我想看看当我运行我的程序时,Java 创建了多少个对象。
我的意图是,如果我使用代码,String s = new String("Hi");我想看看 Java 将创建多少个对象。稍后我想尝试String news = "Hi";
这是我的示例程序:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
String str = new String("Hi");
Scanner s = new Scanner(System.in);
s.nextLine();
}
}
Run Code Online (Sandbox Code Playgroud)
我使用Scanner只是为了避免程序终止。
我已经阅读了这篇文章如何查找堆中的对象数量并尝试使用jvisualvm,但该工具没有给出在我的类中创建的对象的计数。我也不明白如何根据下图获取对象的实际数量。
当我尝试使用该命令jmap -heap <pid>时,出现以下错误:
正在附加到进程 ID 15101,请稍候...附加到进程时出错:sun.jvm.hotspot.debugger.DebuggerException:无法附加到进程
如果我使用 Eclipse 调试作为选项,那么我发现这不是找出正在创建的对象数量的正确方法。
| 归档时间: |
|
| 查看次数: |
2972 次 |
| 最近记录: |