9个Java性能优化工具汇总

本文来自blog.idrsolutions.com

1、NetBeans profiler

NetBeans Profiler是一个模块化的添加,为NetBeans IDE提供分析功能,它是一个开源的集成开发环境。NetBeans IDE支持所有Java应用程序类型(Java SE开发(包括JavaFX),Java ME,Web和移动应用,EJB)。这个分析器包括功能如CPU,内存和线程的分析,也提供了基本的JVM监测额外的工具和功能,对那些需要解决内存和性能相关的问题开发商是非常有用的。

2、 JProfiler

JProfiler是以前我在以前的文章中提到,但仍然是一个非常好的Java Profiler结合CPU,内存和线程分析为一体的应用,它可以用来分析性能瓶颈,内存泄漏,CPU负载和解决线程问题并支持局部分析(在同一台机器上的JProfiler软件安装运行应用分析)和远程分析(运行在没有安装JProfiler软件的远程机器上允许Java应用程序的分析。)。

JProfiler是一个商业许可的Java分析工具的开发和EJ技术公司,主要设计用于Java EE和Java SE应用程序。

3、GC Viewer

GC Viewer是一个可以免费下载(从其网站GitHub)开源的工具,它由Java VM 选择使用vmflags -verbose:gc 和 -Xloggc:生产,可用于数据的可视化。GC Viewer可以用来计算垃圾收集相关的性能指标,其中包括吞吐量,累计暂停,最长的暂停和更多。当你想要一个来囤积垃圾的特殊应用程序,通过改变生成大小或设置初始堆大小通常是非常有用的。

4、VisualVM

VisualVM是来自NetBeans平台工具,其体系结构是模块化的,易于通过使用插件进行扩展。

Visual VM允许你们在一个Java虚拟机中运行Java应用程序获取你的详细信息。产生的数据可以生成的Java开发工具和检索工具(JDK),所有的数据和信息在多个Java应用程序可以查看本地和远程快速运行的应用程序。可以保存和获取关于JVM软件数据并保存数据到本地系统,然后查看数据后或与他人分享。

可视化虚拟机可以做处理器分析,内存分析,运行垃圾收集,采取快照和更多。

5、The “Patty” project

The “Patty” project 是一个可以从Source Forge下载的开源项目,旨在为Java1.5.0和更高版本的虚拟机提供分析工具。它通过在运行时保持有重点和针对性的分析,允许用户切换和关闭功能而区别于其他分析器。

目前其还在测试状态,但是一些重要的方法执行,代码覆盖率,可用于分析线程争用开销(内存CPU,等)一个信息通过TCP / IP套接字发送到其他电脑,作为一个易于使用的GUI,可以用来分析堆,可仪器和仪表类应用程序。

6、JRockit

JRockit Java专有的虚拟机是一个最初由Appeal Virtual Machines 和 acquired by BEA Systems 在2002开发,后来通过Sun Microsystems被 Oracle收购。

甲骨文JRockit对于Java SE 是一个完整的解决方案,包括高性能的Java虚拟机,分析,监测和?诊断工具,可用于在Java应用程序的延迟预测。

JRockit的当前迭代是捆绑在一起的一套工具,叫做JRockit的任务控制。这些工具包括:一个用于管理和能够可视化的垃圾收集和其他性能统计控制台。它也可以被用作一个运行时性能分析工具,称为运行时分析器,还可以分析内存问题。

7、Eclipse Memory Analyzer

The Eclipse Memory Analyzer是一个Java堆分析器,可以帮助你发现内存泄漏和减少内存消耗。它更适合作为一个通用工具箱来分析堆转储和大小的计算。它可以用来报告泄漏的问题和内存消耗的反模式。

8、JIP

JIP是一种高性能,低开销的分析器,用Java进行开发而来,目前有BSD经营许可证,可从Source Forge下载。对于开发者使用JIP能打开和关闭探看器,而虚拟机在运行也可以同时过滤掉类和包并控制输出。

9、Profiler4J

Profiler4J是一个专用CPU分析器,对用户友好并支持远程分析。显著的特征包括其基于动态字节码,它没有本地库也需要一个可执行文件。进一步显着的特点是,它的100%基于Java,可以提供图形信息的调用图,调用树,内存监视器,和类列表。支持细粒度配置。它目前在Apache V2.0许可证下发布并能从Source Forge下载

时间: 2024-11-05 12:12:11

9个Java性能优化工具汇总的相关文章

Java性能优化指南系列(二):Java 性能分析工具

进行JAVA程序性能分析的时候,我们一般都会使用各种不同的工具.它们大部分都是可视化的,使得我们可以直观地看到应用程序的内部和运行环境到底执行了什么操作,所以性能分析(性能调优)是依赖于工具的.在第2章,我强调了基于数据驱动的性能测试是非常重要的,我们必须测试应用的性能并理解每个指标的含义.性能分析和数据驱动非常类似,为了提升应用程序的性能,我们必须获取应用运行的相关数据.如何获取这些数据并理解它们是本章的主题.[本章重点介绍JDK中提供的性能分析工具] 操作系统工具及其分析 程序分析的起点并不

Java性能优化的9大工具

在这篇文章中,我会带着大家一起看一下9个可以帮助我们优化Java性能的工具.有一些我们已经在IDR Solutions中使用了,而另外一些有可能在个人项目中使用. NetBeans Profiler NetBeans profiler是一个NetBeans IDE插件,主要为NetBeans IDE提供性能分析相关的功.NetBeans IDE是一个开源的集成开发环境.它很好地支持所有Java应用类型(包括Java SE.JavaFX.Java ME.Web.EJB和移动应用)的开发. 这个性能

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

在这篇文章中,我会带着大家一起看一下9个可以帮助我们优化Java性能的工具.有一些我们已经在IDR Solutions中使用了,而另外一些有可能在个人项目中使用. NetBeans Profiler NetBeans profiler是一个NetBeans IDE插件,主要为NetBeans IDE提供性能分析相关的功.NetBeans IDE是一个开源的集成开发环境.它很好地支持所有Java应用类型(包括Java SE.JavaFX.Java ME.Web.EJB和移动应用)的开发. 这个性能

推荐:Java性能优化系列集锦

Java性能问题一直困扰着广大程序员,由于平台复杂性,要定位问题,找出其根源确实很难.随着10多年Java平台的改进以及新出现的多核多处理器,Java软件的性能和扩展性已经今非昔比了.现代JVM持续演进,内建了更为成熟的优化技术.运行时技术和垃圾收集器.与此同时,底层的硬件平台和操作系统也在演化. 目录: 一.Java性能优化系列之一--设计优化 二.Java性能优化系列之二--程序优化 三.Java性能优化系列之三--并发程序设计详解 四.Java性能优化系列之四--Java内存管理与垃圾回收

java性能优化笔记(三)java程序优化

程序代码优化要点: 字符串优化:分析String源码,了解String常用方法,使用StringBuffer.StringBuilder. List.Map.Set优化:分析常用ArrayList.LinkedList.HashMap.TreeMap.LinkedHashMap.Set接口.集合常用方法优化. 使用NIO:Buffered.Channel操作和原理,使用零拷贝. 引用优化:强引用.弱引用.软引用.虚引用.WeekHashMap. 优化技巧:常用代码优化技巧.这里不一一罗列,请参考

Java 性能分析工具 , 第 2 部分:Java 内置监控工具

引言 本文为 Java 性能分析工具系列文章第二篇,第一篇:操作系统工具.在本文中将介绍如何使用 Java 内置监控工具更加深入的了解 Java 应用程序和 JVM 本身.在 JDK 中有许多内置的工具,其中包括: jcmd:打印一个 Java 进程的类,线程以及虚拟机信息.适合用在脚本中.使用 jcmd - h 来查看使用方法. jconsole:提供 JVM 活动的图形化展示,包括线程使用,类使用以及垃圾回收(GC)信息. jhat:帮助分析内存堆存储. jmap:提供 JVM 内存使用信息

java性能优化技巧二

之前整理过一篇java性能优化的博客,链接java性能优化一,今天补充几个 1. 谨慎对待Java的循环遍历 Java中的列表遍历可比它看起来要麻烦多了.就以下面两段代码为例: A: private final List<Bar> _bars; for(Bar bar : _bars) { //Do important stuff } B: private final List<Bar> _bars; for(int i = 0; i < _bars.size(); i++)

[Oracle] - 性能优化工具(3) - ADDM

ADDM 通过检查和分析AWR获取的数据来判断Oracle数据库中可能的问题,并给出优化建议. 获取ADDM的方法如下: @?/rdbms/admin/addmrpt.sql 下面可以看一个例子: --第一步:创建测试用的表 drop table t cascade constraints purge; create table t AS SELECT * FROM dba_objects ; --第二步:快照 exec dbms_workload_repository.create_snaps

Java性能优化之String字符串优化

字符串是软件开发中最重要的对象之一.通常,字符串对象在内存中是占据了最大的空间块,因此如何高效地处理字符串,必将是提高整体性能的关键所在. 1.字符串对象及其特点 Java中八大基本数据类型没有String类型,因为String类型是Java对char数组的进一步封装. String类的实现主要由三部分组成:char数组,offset偏移量,String的长度. String类型有三个基本特点: 不变性 不变性是指String对象一旦生成,则不能再对它进行改变. 不变性的作用在于当一个对象需要被