Java Profiler是一种监视JVM级别的Java字节码构造和操作的工具。Profilers跟踪所有方法调用和内存使用情况,允许你以选择的任何角度深入调用呼叫结构。
你的标准分析器将提供大量信息,其有用性主要取决于手头的调试任务。它应详细说明JVM的所有内存使用情况,包括对象创建,方法执行,迭代执行(包括递归调用),线程执行和垃圾收集。
由于进程监控对于Java程序的高效开发和调试非常重要,因此所有流行的IDE供应商都提供自己的品牌分析器,无论是内置的还是可以下载的插件。
在Eclipse的内存分析器是一个Java堆分析仪,可以帮助你找出内存泄漏和减少内存消耗。它可用于分析生产堆转储以计算对象的保留大小,查看谁阻止垃圾收集器收集对象,以及运行报告以自动提取泄漏嫌疑人。
在JVM的调试器内存查看插件,既有的IntelliJ IDEA和Android Studio支持,扩展了内置的JVM调试器功能的调试会话期间探讨在JVM堆中的对象。它显示了按类名称分组的堆中的对象总数。
Netbeans IDE有自己的内置分析器,简称Profiler。它的功能包括CPU,内存,线程,锁和SQL查询分析,以及基本的JVM监视。
作为程序员,我们知道默认并不总是最佳选择。事实上,它通常不是。因此,检查IDE的分析器的替代方案是有意义的,看看哪种工具最适合你的需求,特别是如果它是免费的。
VisualVM被称为“一体化Java故障排除工具”, 是一个集成命令行JDK工具和轻量级分析功能的可视化工具。它使用各种技术(包括jvmstat,JMX,Serviceability Agent(SA)和Attach API)监视和解决在Java上运行的应用程序。
Java Mission Control与Java Flight Recorder一起,允许分析和事件收集有关Java虚拟机(JVM)和Java应用程序行为的低级信息。与Oracle JDK一起打包的这组工具还提供了对收集的数据的详细分析。
应用程序性能监视器很少免费。实际上,大多数AMP的使用范围从相当实惠到企业专用 - 当你考虑监控应用程序性能的重要性时,这真是一种耻辱,特别是在同一服务器上执行(希望)执行的复杂应用程序拓扑时。这不仅是因为这是发现错误和问题的可靠方法,而且因为用户期望并要求你构建的应用程序的性能。你也应该这样做。
开源Java APM Glowroot以其轻量级,易于安装而自豪,并提供广泛的功能集以及各种应用程序服务器的支持。Glowroot是免费且有详细记录的,是Java程序员的性能监控解决方案,他们也是开源软件的狂热粉丝。
精确定位问题并不容易。如果你想要监控用Java编写的大规模分布式系统的性能,PinPoint可以派上用场。PinPoint是免费和开源的,它提供了一种解决方案,通过跟踪分布式应用程序之间的事务,帮助分析系统的整体结构以及它们中的组件如何相互连接。
JavaMelody专为Java EE应用程序开发,可让你在QA和生产环境中测量和计算应用程序的实际操作。这种全面的免费和开源解决方案易于集成到大多数应用程序中(由于缺少数据库和分析),因此特别轻巧。
Scoute通过社区开发工作免费提供相同的价值。其中,Scouter可以向你显示有关用户活动,服务指标和资源分配的信息。