• 近期将进行后台系统升级,如有访问不畅,请稍后再试!
  • 极客文库-知识库上线!
  • 极客文库小编@勤劳的小蚂蚁,为您推荐每日资讯,欢迎关注!
  • 每日更新优质编程文章!
  • 更多功能模块开发中。。。

九大工具助你玩转 Java 性能优化

Java 性能优化工具可以帮助你改进你的 Java 代码

之前我写过一篇关于 5 个工具帮助写出更好的 Java 代码的文章。合适的工具可以改进我们的代码,并且提高开发效率。在 IDR 解决方案中,我们一直在找一些方法来改进我们的代码。但最近,我们在考虑改进 PDF HTML5 转换器和 Java PDF 类库代码时,发现最近我们的关注点已经开始转换到如何提升 Java 性能。

在这篇文章中,我会带着大家一起看一下 9 个可以帮助我们优化 Java 性能的工具。有一些我们已经在 IDR Solutions 中使用了,而另外一些有可能在个人项目中使用。

NetBeans Profiler


NetBeans profiler 是一个 NetBeans IDE 插件,主要为 NetBeans IDE 提供性能分析相关的功。NetBeans IDE 是一个开源的集成开发环境。它很好地支持所有 Java 应用类型(包括 Java SE、JavaFX、Java ME、Web、EJB 和移动应用)的开发。

这个性能分析器包含了诸如 CPU、内存和线程性能分析功能,并且提供了一些用于基本 JVM 监控的附加工具和功能。对于需要解决内存和性能相关问题的开发者非常有用。

JProfiler


JProfiler 在我之前的文章中有提及。同样,它也是一个很好的 Java 性能分析工具。JProfiler 集 CPU、内存和线程性能分析于一体,可以用于分析性能瓶颈、内存泄漏、CPU 负载和解决线程相关的问题,并且支持本地性能分析(分析与 JProfiler 软件安装在同一台机的应用)和远程性能分析(它可以分析远程没有安装 JProfiler 机器上的应用),这一点对开发人员非常有用。

JProfiler 由 ej-technologies GmbH 开发的商业授权的 Java 性能分析工具,主要为 Java EE 和 Java SE 应用所设计。

GC Viewer

GC viewer 截图

GC Viewer 可以(从主页和 Github)免费获取。GC Viewer 是一个开源工具,可以对 vmflags -verboase:gc 和-Xloggc:等 Java VM 选项产生的数据进行可视化分析。GC Viewer 可以用于计算 GC(垃圾回收)相关的性能数据记录,包括吞吐、累积暂停、最长时间的暂停等等。当你想要通过改变生成大小和设置初始堆大小来调整某个特定应用的 GC 时,它尤其有用。

GC Viewer 是一个开源工具,由 Tagtraum Industries Incorporated 开发。这是一个很小的初创软件咨询公司,位于罗利、北卡罗莱纳州,由成立于 1999 年的非盈利项目 Tagtraum Industries 在 2004 年创立。

VisualVM


VisualVM 是一个由 NetBeans 平台派生的工具,遵循模块化的架构思想。这意味着可以通过插件方便的进行扩展。

Visual VM 允许你获取 Java 程序的详细信息,只要它在一个 Java 虚拟机(JVM)上运行即可。生成的数据可以由 JDK 工具生成和读取,多个 Java 程序的所有数据和信息都可以很方便地进行查看,包括本地和远程的运行程序。同时可以保存 JVM 软件的数据快照,把数据保存在本地,方便以后进行查看或者和其他人一起分享。

Visual VM 可以进行 CPU 性能分析、内存性能分析,进行 GC(译者注:可以进行强制调用 GC)、保存快照等。

Patty *Beta

Patty in action (图片来源于 http://patty.sourceforge.net.)

“Patty” 项目 是一个开源项目,可以从 Source Forge 下载。它致力于为 Java 1.5.0 和更高版本的虚拟机提供性能分析工具。与其他性能分析工具不同之处在于,它专注性能分析,并且允许用户在运行时开启和关闭性能分析功能。

目前 Patty 正处于 beta 版阶段,但随着更多强大的功能如方法执行、代码覆盖、线程竞争(Thread Contention)分析的加入,Patty 可以用于(内存、CPU 等)性能调优,并且可以将信息通过 TCP/IP Socket 发送到其他电脑上。Patty 有着易用的 GUI,可以用于分析堆。还可以在 Java 编译流程中的准备阶段,对应用程序运行时对 class 进行监测(instrument)和取消监测(de-instrument)。

JRockit——任务管理
JRockit 是一个原由 Appeal Virtual Machines 开发的专有 Java 虚拟机。2002 年由 BEA Systems 收购,之后从 Sum Microsystems 处转到 Oracle。

Oracle 的 JRockit 是一套完整的 Java SE 解决方案,包含了一个高性能 JVM、性能分析、监控和排错工具。可用于预测 Java 程序中的延迟。

现在,JRockit 打包有一系列的称为 JRockit 任务控制(JRockit Mission Control)的工具。这些工具包括:一个用于管理的控制台(console,译者注:此 console 跟终端不一样,是特指管理后台系统),进行 GC 数据可视化和其他的一些性能统计。它同样可以作为运行时性能分析工具 Runtime Analyzer 来使用,也可以分析内存问题。

Eclipse Memory Analyzer

Memory Analyzer (MAT) 可以在 Eclipse IDE 中找到

Eclipse 内存分析器(Eclipse Memory Analyzer)是一个可以帮助你找到内存泄漏和减少内存损耗的 Java 堆分析器。它更适合作为一个分析 Java 堆栈和计算大小的工具集,也可以用于监测内存泄漏和反模式带来的内存损耗。

Java Interactive Profiler

JIP 是一个用 Java 开发的高性能、低损耗性能分析器。基于 BSD 许可协议发布,可以从 Source Forge 下载。使用 JIP 的开发者可以在 VM 运行时开启和关闭性能分析,并且可以过滤类和包、控制输出。

Profiler4J

Profiler4j 是一个专注于 CPU 性能分析的工具。它具有友好的用户界面,支持远程性能分析,并且支持动态修改配置。Profiler4j 值得关注的特性有:基于动态字节码增强方式,这就表明它不需要任何本地的库和外部可执行文件支持。更重要的是,它完全由 Java 编写,可以提供图形化的调用图形信息、调用树结构、内存监控和类列表,支持细粒度配置文件。它基于 Apache License v2.0 协议发布,可以从 Source Forge 上下载

丨极客文库, 版权所有丨如未注明 , 均为原创丨
本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
转载请注明原文链接:九大工具助你玩转 Java 性能优化
喜欢 (0)
[247507792@qq.com]
分享 (0)
勤劳的小蚂蚁
关于作者:
温馨提示:本文来源于网络,转载文章皆标明了出处,如果您发现侵权文章,请及时向站长反馈删除。

欢迎 注册账号 登录 发表评论!

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00