有没有办法找出创建的对象数量?

时间:2009-07-30 14:29:14

标签: java object

有没有办法找出创建的对象数量? 例如, 如果我需要找到为下面的代码创建的对象数量,我该如何完成它? 代码:

String [][] str = { {new String("A"),new String("B"),new String("C")}, {new String("D"),new String("E")} };

4 个答案:

答案 0 :(得分:3)

是的 - 您可以使用分析器,例如Yourkit

答案 1 :(得分:1)

Netbeans和Eclipse都有很好的分析器,可以为您提供这些信息。如果您可以在其中一个IDE中运行项目,则此方法有效。

答案 2 :(得分:0)

这是一个litle批处理文件(希望你正在运行的窗口),让你可以走过 使用JDK工具在JDK vm中运行的任何Java应用程序的堆。

它使用JMAP转储堆,然后使用JHAT运行Web服务器,然后你可以浏览(离线)堆:)

@echo off
if not [%1%]==[] goto map
cls
echo.
echo Gebruik: map.cmd [pid#]
echo.
echo ( JVM 6+ required. You're using : %JAVA_HOME% )
echo.
echo Which PID would you like to use?
echo.
jps -l
echo.
pause
exit /b

:map
if exist c:\jmap.txt del c:\jmap.txt
jmap -dump:file=c:\jmap.txt %1
echo.
echo about to start the web-server on port 8081
pause
start http://localhost:8081
start jhat -port 8081 c:\jmap.txt -J-mx512m
echo.

答案 3 :(得分:-3)

在这种情况下你可以做到

int numberOfObjects = 0;
for(String[] s: str)
{
    numberOfObjects += s.length;
}

编辑:没关系,我对所有事情都非常糟糕......