JAVA 性能优化(VisualVM)

技术发现:
最近搞测试的同事分享了一款针对与Java运行性能监控的软件Java isualVM,在jdk1.6之后,它就出现并且潜伏在bin目录下,
由于平时很少关注version更新信息,直到现在才发现这款简单强大的工具。
技术简介:
visualVM是一款充分集成了Many jdk命令行工具的可视化工具,可提供强大的分析能力,而且所有这一些和jdk一样都是免费的。
它囊括的命令行工具包括jstat, JConsole, jstack, jmap 和 jinfo,这些工具与JDK的标准版本是一致的。你可以使用VisualVM生成和
分析海量数据、跟踪内存泄漏、监控垃圾回收器、执行内存和CPU分析,同时它还支持在MBeans上进行浏览和操作。尽管Visual-
VM自身要在JDK6这个版本上运行,但是JDK1.4以上版本的程序它都能监控。
它潜伏在你的jdk的bin目录下, 中间这个jvisualvm.exe就是Java isualVM的启动,

运行界面很丰富,左侧是应用程序展示栏包括本地和远程的,所有的应用程序不需要你在启动器中注册,它都会自动显示出来
       
同时你也从界面上看到了,它的功能异常丰富,当然在扩展插件之后,它的功能会更加丰富。
使用它你可以可视化的监控应用程序的性能和内存占用情况,监控应用程序的线程,分析(Profile)应用程序性能和内存分配情况,
进行线程转储(Thread Dump)或堆转储(Heap Dump),分析核心转储(Core Dump),保存快照以便脱机分析应用程序。
具体的功能介绍以及应用会在以后的随笔中伴随我的学习继续和大家交流分享,下面分享一下我昨天做的visualVM到Eclipse的集成。
visualVM 集成到Eclipse IDE
 1、下载中文版的visualVM 启动器 http://java.net/projects/visualvm/downloads/download/release134/visualvm_134-ml.zip
    2、 下载visualVM到Eclipse的插件 http://java.net/projects/visualvm/downloads/download/release133/visualvm_launcher_u1_eclipse_36.zip
    3、 下载完成后将visualvm_134-ml.zip 解压到软件安装目录作为一款单独软件运用配置。
           我安装在了:D:\DevelopTools\visualvm_134-ml\visualvm_134
    4、 将visualvm_launcher_u1_eclipse_36.zip 解压到Eclipse主目录 :D:\DevelopTools\YoxosLauncher\visualvm_launcher_u1_eclipse_36
               (我用的 YoxosLauncher 集成版的Eclipse)
    5、 在Eclipse中加入新插件:help--->install new software
           然后add--->local 刚刚解压的visualvm_launcher_u1_eclipse_36 目录
           如图: ok之后显示下边的界面就代表成功了,直接next安装就行了


     6、安装成功后进行配置:
          在window的preferences中进行VisualVM的配置,需要配置它的启动器(visualvm_134 的bin下的visualvm.exe执行文件)还有jdk目录。(新版本VisualVM的visualvm.exe在JDK的bin目录,名字:jvisualvm.exe)
          如图  :
          
       7、配置完成visualVM之后,再进行启动注册的配置:,针对你的小程序进行选择启动器的配置
            如图:
              
所有安装及配置工作到此结束,现在就可以测试一下了。
          如图:
           (1)项目测试的整体概述:
           
          (2)项目运行的监控可视化 
           
          (3)项目运行的线程分析
          
          (4)项目运行具体方法性能分析
          
          (5)项目运行的GC分析
           
 
     功能太丰富了,就展示这些吧,其他的大家自己去挖掘吧
     海量数据分析,性能全方位监控,免费,简单,总的来说这款扩展应用还是相当不错的。

附录:其实呢,这只是一部分简单的安装应用,最最强悍的还是visualVM提供了许多的API接口供免费使用,这样你就可以编写
适合自己的更强大的visualVM 插件了。具体的编写应用将会在以后的随笔中继续和大家分享。
先露个图片:
              

时间: 2024-10-13 17:43:19

JAVA 性能优化(VisualVM)的相关文章

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性能优化技巧及实战

Java性能优化技巧及实战 关于Java代码的性能优化,是每个javaer都渴望掌握的本领,进而晋升为大牛的必经之路,但是对java的调优需要了解整个java的运行机制及底层调用细节,需要多看多读多写多试,并非一朝一夕之功.本文是近期笔者给公司员工内部做的一个培训,主要讲述在系统压测过程中出现的性能问题,以及如何在编码过程中提升代码的运行效率,需要掌握哪些实战技巧.片子里干货较多,也很具有实操性,因此发文出来,共享给大家(部分数据做了去除公司特征信息,见谅).(PS:由于原文是ppt,因此做了导

java性能优化技巧

一.通用篇 "通用篇"讨论的问题适合于大多数 Java应用. 1.1     new 1.1     new 11..11 不用 nneeww关键词创建类的实例 用new 关键词创建类的实例时,构造函数链中的所有构造函数都会被自动调用.但如 果一个对象实现了Cloneable 接口,我们可以调用它的clone()方法.clone()方法不会调用任 何类构造函数. 在使用设计模式(Design Pattern)的场合,如果用 Factory模式创建对象,则改用clone() 方法创建新的

JAVA性能优化的五种方式

一,JAVA性能优化之设计优化 设计优化处于性能优化手段的上层.它往往须要在软件开发之前进行.在软件开发之前,系统架构师应该就评估系统可能存在的各种潜在问题和技术难点,并给出合理的设计方案,因为软件设计和系统架构对软件总体设计质量有决定性的影响.所以,设计调优对系统的性能影响也是最大的,假设说,代码优化.JVM优化都是对系统微观层次的"量"的优化,那设计优化就是对系统"质"的优化. 设计优化的一大显著特征是:它能够规避某一个组件的性能问题,而是改良组件的实现;比方:

Java性能优化,不得不付诸实践的JVM

暂附贴图,详情稍后叙述,欢迎留言交流 图一.JVM知识体系(部分) 图二.通过jconsole监控jvm 图三.通过jvisualvm监控jvm Java性能优化,不得不付诸实践的JVM,布布扣,bubuko.com

Java 性能优化之 String 篇

原文:http://www.ibm.com/developerworks/cn/java/j-lo-optmizestring/ Java 性能优化之 String 篇 String 方法用于文本分析及大量字符串处理时会对内存性能造成不可低估的影响.我们在一个大文本数据分析的项目中(我们统计一个约 300MB 的 csv 文件中所有单词出现的次数)发现,用于存放结果的 Collection 占用了几百兆的内存,远远超出唯一单词总数 20000 个. 本文将通过分析 String 在 JVM 中的

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

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

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++)

[原创]Java性能优化权威指南读书思维导图

[原创]Java性能优化权威指南读书思维导图 书名:Java性能优化权威指南 原书名:Java performance 作者: (美)Charlie Hunt    Binu John 译者: 柳飞 陆明刚 京东购书地址: http://item.jd.com/11407830.html 介绍:<Java性能优化权威指南>是Java应用性能调优的圣经,内容通俗易懂,介绍了大量的监控和测量工具,涉及各种硬件架构和操作系统.涵盖了如何构建实验.解释结果以及如何采取行动等技巧. 现在自己是越来越忙,

15分钟了解Java性能优化以及一切你想知道的(转)

15分钟了解Java性能优化以及一切你想知道的 http://blog.csdn.net/kwensen/article/details/17302371