九大Java性能调试工具,必备至少一款
九款Java性能调试工具,有什么更好、更多的工具,欢迎补充。
NetBeans Profiler

NetBeans中可以找到NetBeans Profiler。
NetBeans分析器是NetBeans的扩展,用于为NetBeans IDE提供分析功能。NetBeans IDE是一个开源的集成开发环境。NetBeans IDE支持开发所有Java应用程序类型(Java SE(包括JavaFX),Java ME,Web,EJB和移动应用程序)。
该分析器包括CPU,内存和线程分析等功能,还提供基本JVM监控的工具和功能。对于需要解决内存或性能相关问题的开发人员来说,这是非常有用的。
JProfiler

JProfiler是一个非常好的Java分析器。将CPU,内存和线程分析结合到一个应用程序中。可用于分析性能瓶颈,内存泄漏,CPU负载和解决线程问题。支持本地分析(分析在安装了JProfiler软件的同一台机器上运行的应用程序)和远程分析(这是可以分析在未安装JProfiler远程机器上运行的Java应用程序)。
JProfiler是由ej-technologies GmbH开发的商业的Java分析工具,主要用于与Java EE和Java SE应用程序一起使用。
GC查看器

GC查看器的截图
GC Viewer可以免费下载,并且开源。可用来可视化JVM的数据(使用vmflags -verbose:gc和-Xloggc:配置)GC Viewer可用于计算与垃圾回收相关的性能指标,包括吞吐量,累积暂停,最长暂停等。当通过更改生成大小或设置初始堆大小来调整应用程序的垃圾回收时,这非常有用。
VisualVM

VisualVM是从NetBeans平台派生的工具,模块化架构,意味着它可以通过使用插件来扩展。
Visual VM允许在Java虚拟机(JVM)上运行时获取有关Java应用程序的详细信息。生成的数据可以由JDK工具生成和检索,并且可以快速查看多个Java应用程序的所有数据和信息,包括本地和远程的应用程序。也可以保存和捕获有关JVM软件的数据,并将数据保存到本地,然后再查看数据或与其他人共享数据。
Visual VM可以执行CPU分析,内存分析,运行垃圾收集,快照等。
Java性能分析工具(Patty)* Beta

Patty在行动(图片最初来自http://patty.sourceforge.net。)
“Patty”项目是可从Source Forge的开源项目,旨在为Java 1.5.0及更高版本的虚拟机提供分析工具。Patty非常重视目标分析,这是与其他分析器的区别,还允许用户在运行时切换分析功能。
目前它处于beta状态,但是关于方法执行的分析,代码覆盖,线程中用到一些强大的功能可用于分析开销(内存CPU等)。可以把信息通过TCP / IP套接字发送到其他计算机。有一个易于使用的GUI界面,可用于堆的分析。
JRockit - 任务控制

JRockit是一个专有的Java虚拟机(JVM)。最初由Appeal Virtual Machines开发,并于2002年被BEA Systems收购,后来通过Sun Microsystems成为Oracle的一部分。
Oracle JRockit是Java SE的完整解决方案,包括高性能JVM,分析,监控和诊断工具,可用于预测Java应用程序中的延迟。
JRockit的当前迭代版本与一组名为JRockit Mission Control的工具捆绑在一起。这些工具能够可视化垃圾回收和其他性能统计信息,还有用于管理的控制台,。也可以用作运行时性能分析工具,称为运行时分析器,也可以分析内存问题。
Eclipse内存分析器

内存分析器(MAT)在Eclipse IDE中找到。
Eclipse内存分析器是一个Java堆分析器,可帮助你查找内存泄漏并减少内存消耗。它更适合作为分析Java堆转储和计算其大小的通用工具包。它也可以用来报告泄漏嫌疑和内存消耗的反模式。
Java Interactive Profiler

JIP是一种高性能,低开销的分析器。它目前根据BSD许可证发行 ,可从Source Forge下载 。对于使用JIP的开发人员,可以在VM运行时打开和关闭分析器,可以过滤类和包,并控制输出。
Profiler4J

Profiler4j是专用的CPU分析器。界面友好,支持远程分析,并可以“即时”配置。值得注意的功能包括基于动态字节码的检测,它不需要本地库,也不需要可执行文件。Profilter4J可以提供带有调用图,调用树,内存监视器和类列表的图形信息,支持细粒度的配置。它目前在Apache许可证v2.0下发布, 可从Source Forge 下载 。
如果文章对您有帮助,请记得点赞关注哟~
欢迎大家关注我的公众号,每日技术推送文章供大家学习参考。
九大Java性能调试工具,必备至少一款的更多相关文章
- Java程序员必备的6款最佳开发工具
工欲善其事,必先利其器.每一个Java程序员都有其惯用的工具组件.对于Java程序员,各种有用的软件和工具泛滥成灾.初级开发人员要么找不到合适的工具,要么在寻找过程中浪费了大量的时间.下面,我将为大家 ...
- JAVA性能调试+JProfiler使用相关
一.JProfiler下载.安装与激活 1.1 下载 直接官网下载(https://www.ej-technologies.com/download/jprofiler/files) 建议下载9.X系 ...
- 九大工具助你玩转Java性能优化
在这篇文章中,我会带着大家一起看一下9个可以帮助我们优化Java性能的工具.有一些我们已经在IDR Solutions中使用了,而另外一些有可能在个人项目中使用. NetBeans Profiler ...
- JVM——九大工具助你玩转Java性能优化
本文转载自 http://www.importnew.com/12324.html 本文由 ImportNew - 陈 晓舜 翻译自 idrsolutions.欢迎加入翻译小组.转载请参见文章末尾的要 ...
- 九大排序算法Java实现
之前学习数据结构与算法时花了三天时间整理九大排序算法,并采用Java语言来实现,今天第一次写博客,刚好可以把这些东西从总结的文档中拿出来与大家分享一下,同时作为自己以后的备忘录. 1.排序算法时间复杂 ...
- Java性能优化的9大工具
在这篇文章中,我会带着大家一起看一下9个可以帮助我们优化Java性能的工具.有一些我们已经在IDR Solutions中使用了,而另外一些有可能在个人项目中使用. NetBeans Profiler ...
- 推荐:Java性能优化系列集锦
Java性能问题一直困扰着广大程序员,由于平台复杂性,要定位问题,找出其根源确实很难.随着10多年Java平台的改进以及新出现的多核多处理器,Java软件的性能和扩展性已经今非昔比了.现代JVM持续演 ...
- 【转发】关于Java性能的9个谬论
转载请注明出处,感谢大家的支持!本文来自优优码:http://www.uucode.net/201502/9%e4%b8%aa%e8%b0%ac%e8%ae%ba Java的性能有某种黑魔法之称.部分 ...
- 最大化 AIX 上的 Java 性能,第 5 部分: 参考资料和结论
http://www.ibm.com/developerworks/cn/aix/library/es-Javaperf/es-Javaperf5.html 最大化 AIX 上的 Java 性能,第 ...
随机推荐
- 记一次linux Docker网络故障排除经历
背景: 之前做了一个项目,需要在容器内访问宿主机提供的Redis 服务(这是一个比较常见的应用场景哈), 常规方案: ① 主机网络(docker run --network=host): 完全应用 ...
- 快学Scala 第九课 (伴生对象和枚举)
Scala没有静态方法和静态字段, 你可以用object这个语法结构来达到同样的目的. 对象的构造器只有在第一次被使用时才调用. 伴生对象apply方法: 类和它的伴生对象可以互相访问私有特性,他们必 ...
- 异步处理ServletRequest引发的血案
我们的APP生产上出了一次比较严重的事故,许多用户投诉登录后能看到别人的信息,收到投诉后我们就开始查找问题,一般这样的问题都是线程安全引起的,所以查找原因的思路也是按线程安全的思路去查. 业务场景是这 ...
- redis系列之------简单的动态字符串(SDS)
前言 Redis 没有直接使用 C 语言传统的字符串表示(以空字符结尾的字符数组,以下简称 C 字符串), 而是自己构建了一种名为简单动态字符串(simple dynamic string,SDS)的 ...
- 面试常考各类排序算法总结.(c#)
前言 面试以及考试过程中必会出现一道排序算法面试题,为了加深对排序算法的理解,在此我对各种排序算法做个总结归纳. 1.冒泡排序算法(BubbleSort) 1.1 算法描述 (1)比较相邻的元素.如果 ...
- redis之spring应用
前言 读本文之前,需要大家对redis有所了解,大家可以去看一下我之前分享的redis安装及简单使用这一随笔,而本文我将跟大家分享学习一下redis与spring的集成.当然,首先需要打开我们的red ...
- LeetCode_20-Valid Parentheses
给定一个字符串,其中包含字符’(’,’)’,’[’,’]’,’{‘,’}’,左括号必须匹配右括号,一对匹配的括号不能单独出现单个左括号或者右括号.如:(()[])有效,[(])无效空字符串也算是有效的 ...
- 比较两个文件的异同Python3 标准库difflib 实现
比较两个文件的异同Python3 标准库difflib 实现 对于要比较两个文件特别是配置文件的差异,这种需求很常见,如果用眼睛看,真是眼睛疼. 可以使用linux命令行工具diff a_file b ...
- 聊聊面试-int和Integer的区别
最近面试了很多候选人,发现很多人都不太重视基础,甚至连工作十几年,项目经验十几页的老程序员,框架学了一大堆,但是很多 Java 相关的基础知识却很多都答不上来.还有很多人会回答,只知道要用,但是从来不 ...
- Ubuntu16.04换源
换成国内最快的阿里云源 第一步:备份原来的源文件 cd /etc/apt/ 然后会显示下面的源文件sources.list 输入命令 sudo cp sources.list sources.list ...