问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java性能优化的9个工具,你知道几个?

发布网友 发布时间:2024-09-28 03:09

我来回答

1个回答

热心网友 时间:2024-09-29 20:01

之前我写过一篇关于5个工具帮助写出更好的Java代码的文章。合适的工具可以改进我们的代码,并且提高开发效率。在IDR解决方案中,我们一直在找一些方法来改进我们的代码。

但最近,我们在考虑改进PDFHTML5转换器和JavaPDF类库代码时,发现最近我们的关注点已经开始转换到如何提升Java性能。

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

1、NetBeansProfiler

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

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

2、JProfiler

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

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

3、GCViewer

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

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

4、VisualVM

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

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

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

5、PattyBeta

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

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

6、JRockit——任务管理

JRockit是一个原由AppealVirtualMachines开发的专有Java虚拟机。2002年由BEASystems收购,之后从SumMicrosystems处转到Oracle。

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

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

7、EclipseMemoryAnalyzer

MemoryAnalyzer(MAT)可以在EclipseIDE中找到

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

8、JavaInteractiveProfiler

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

9、Profiler4J

Profiler4j是一个专注于CPU性能分析的工具。它具有友好的用户界面,支持远程性能分析,并且支持动态修改配置。

Profiler4j值得关注的特性有:基于动态字节码增强方式,这就表明它不需要任何本地的库和外部可执行文件支持。

更重要的是,它完全由Java编写,可以提供图形化的调用图形信息、调用树结构、内存监控和类列表,支持细粒度配置文件。它基于ApacheLicensev2.0协议发布,可以从SourceForge上下载。

来源:idrsolutions

译者:伯乐在线-陈晓舜

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见穿堂风 没有爱情我们一样会快乐的对吗 没有爱情的人会快乐么? 解除合同的效力有什么 合同解除会产生什么法律效力 合同解除后,哪些条款仍具效力? 合同解除产生哪些效力呢 民法典中合同解除产生哪些效力 解除合同的效力有哪些 济南七中学校怎么样 惠普dv2743的遥控器怎么用啊? 内蒙资质延期,申请建筑企业资质延续流程及手续 intel(r)extremetuningutility是什么软件 喀什资质延期,申请建筑企业资质延续流程及手续 intelextremetuningutility怎么用 天长资质延期,申请建筑企业资质延续流程及手续 开远资质延期,申请建筑企业资质延续流程及手续 在什么情况下??? 1十1=1,1十2=1,3十4=I,5十7=1,6十18=I 1+3十5+7十…十2O13的值是什么? 为什么用1十3? 南京市1十3十7隔离是什么意思 张佳宁一直火不起来,孙俪一句话指出她的问题所在!你知道她说了什么吗... 2013款 福特蒙迪欧 自动 GTDi240至尊型 13.5万公里保养项目多少钱 2013款福特蒙迪欧参数配置 13款蒙迪欧蓝牙在哪里 一款食用油是口味重要,还是营养成分更重要? 起名字哥哥叫仝嘉祥弟弟应该叫什么? 山东嘉祥-中国联盟国联网是什么类型网站 爽肤水和乳液是用来干嘛的 乳液和爽肤水哪个好 爽肤水&乳液的不同 江苏资质延期,申请建筑企业资质延续流程及手续 惠普DV2906 的遥控器是干什么用的啊?看DVD时候? 伊宁资质延期,申请建筑企业资质延续流程及手续 惠普自带遥控器如何使用?按了没反应啊 rivatuner 大安资质延期,申请建筑企业资质延续流程及手续 惠普DV2906TX的摄像头和遥控器 怎么用 安顺资质延期,申请建筑企业资质延续流程及手续 Applications Manager:提升应用性能,优化用户体验的必备工具 5款系统优化工具分享,给你的电脑提提速 微软出品!比360安全卫士更好用的Windows健康监控和性能优化工具 值得收藏!9个最佳SSD状态监控及性能优化工具 杭州社保最低缴费基数2023是多少 2023杭州社保最低一个月交多少钱_百度... 开机后按什么键进入BIOS设置? 电脑开机按什么键进入BIOS设置 怎样进入u启动BIOS设置界面呢? 电脑怎么阻止弹出网页? 为什么电脑开机后就会自动弹出网页? 电脑中毒了一开机就自动弹出网页“什么一分钟改变一生”和其他乱七... ...条杠”拿着3000工资操控涉案数亿犯罪团伙!你怎么评价这位九零后?