繁体   English   中英

Java程序性能(运行时间和内存消耗)

[英]Java Program Performance (running time & memory consumption)

我可以使用哪些工具来了解程序的生命周期或运行时间(从开始到结束)? 我也想知道程序从头到尾消耗了多少内存。 该程序是用Java编写的,我正在Windows XP上运行它。

您可以使用JConsole,这是一篇描述其用法的文章

替代文字

如果您使用* nix,则可以使用“ time”命令。 对于Windows,请参见其他SO线程

您检查过Dynatrace吗? 商业版,但对于您要寻找的内容非常有用。 一直在使用它,发现对跟踪执行路径,在每个api上花费的时间等非常有用。

程序花费“多少时间”是一个棘手的问题,答案取决于OS磁盘高速缓存的状态以及是否包括JVM本身的启动时间等而有很大差异。

问题的另一部分很容易回答:您需要一个探查器 探查器不仅会告诉您总的内存统计信息(或总的运行时间),还可以让您查明程序中的故障点,每单位时间创建过多对象的区域或相对于CPU消耗大量内存的位置到代码中的其他位置。

如果您对监视感兴趣,则可以使用JDK的jconsole 否则,请详细说明您的问题。

您现在可以尝试使用JDK附带的jconsole工具监视您的应用程序。 如果这还不够,我将尝试使用YourKit之类的工具对您的应用程序进行性能分析。 它是一种商业产品,但非常有用。

我了解NetBeans内置了一个探查器,但是我没有使用过它。 如果您使用的是NetBeans,则也可以选择。

我使用Sun的VisualVM ,它非常好,具有许多有用的功能 您可以监视堆空间使用情况,已加载的类,GC活动和活动线程。

您也可以对远程Java应用程序执行相同的操作。

暂无
暂无

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

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