你们推荐Java使用什么?
唯一的要求是它应该是开源的,或者没有太昂贵的学术许可证。
你们推荐Java使用什么?
唯一的要求是它应该是开源的,或者没有太昂贵的学术许可证。
Answers:
jdk6附带的VisualVM里面有一个基本的探查器。VisualVM随jdk一起提供,因此,如果安装了jdk6,则可能也已安装了它。
您在此处有一个列表(在下面列出它们,以防万一链接损坏)
- JMemProf
- JMP
- 博士
- JTreeProfiler
- NetBeans探查器
- JAMon API
- JBoss探查器
- 邮件管理
- 红外线
- Tomcat探针
- Java Interactive Profiler(JIP)
- Profiler4j
- 跑表
- 测量
- DJ专业版
- TIJmp
- 阿蒙
- 应用程式
- 尤里卡
- 佳宝
- OKTECH探查器
- Perf4j
啊。Netbeans Profiler,developer.com的“年度最佳产品”获得者,在2009年。
开源工具jvmtop确实包含一个基本的控制台分析器。输出示例:
JvmTop 0.7.0 alpha - 15:16:34, amd64, 8 cpus, Linux 2.6.32-27, load avg 0.41
http://code.google.com/p/jvmtop
Profiling PID 24015: org.apache.catalina.startup.Bootstrap
36.16% ( 57.57s) hudson.model.AbstractBuild.calcChangeSet()
30.36% ( 48.33s) hudson.scm.SubversionChangeLogParser.parse()
7.14% ( 11.37s) org.kohsuke.stapler.jelly.JellyClassTearOff.parseScript()
6.25% ( 9.95s) net.sf.json.JSONObject.write()
3.13% ( 4.98s) ....kohsuke.stapler.jelly.CustomTagLibrary.loadJellyScri()
这是一篇有关使用TPTP进行Java应用程序性能分析的文章,这是一篇使用Eclipse TPTP进行基于J2SE 5.0的应用程序性能分析的教程。
如果您正在寻找简洁,易于使用的开源探查器,那么您可能想看看Jip(Java Interactive Profiler)。它是根据BSD许可发布的。我发现它对于小型程序非常有用。至少,它给出的结果比hprofs输出更容易理解。
Java Mission Control,可免费用于开发,并且与Eclipse集成。它具有非常低的开销(<1%),因为它无论如何都依赖JVM收集的数据。
它非常易于使用,并且还可以提供很多其他分析工具通常找不到的信息,例如延迟分析,在线内存检查,详细的gc统计信息
考虑尖端的https://github.com/jvm-profiling-tools/async-profiler
该项目是Java的低开销采样分析器,不会遇到Safepoint偏差问题。它具有针对HotSpot的API,以收集堆栈跟踪并跟踪内存分配。探查器可与基于HotSpot JVM的OpenJDK,Oracle JDK和其他Java运行时一起使用。
它还内置在IntelliJ IDEA Ultimate中:https : //www.jetbrains.com/help/idea/cpu-profiler.html。
还有类似的https://github.com/jvm-profiling-tools/honest-profiler。
async-profiler
和之间的比较honest-profiler
:https : //github.com/jvm-profiling-tools/async-profiler/issues/77
Netbeans IDE包含一个免费的探查器。
另外,如果我没记错的话,JProfiler的学术许可证价格相对便宜。
JVM Monitor是与Eclipse集成在一起的Java分析器,用于监视Java应用程序的CPU,线程和内存使用情况。
如果需要进一步的深入分析,则可以使用其他工具(例如TPTP,Memory Analyzer)进行下一步。