有没有办法找出创建的对象数量? 例如, 如果我需要找到为下面的代码创建的对象数量,我该如何完成它? 代码:
String [][] str = { {new String("A"),new String("B"),new String("C")}, {new String("D"),new String("E")} };
答案 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;
}
编辑:没关系,我对所有事情都非常糟糕......