Java虚拟机深入理解系列全部文章更新中...
- 深入理解Java虚拟机-Java内存区域透彻分析
- 深入理解Java虚拟机-常用vm参数分析
- 深入理解Java虚拟机-JVM内存分配与回收策略原理,从此告别JVM内存分配文盲
- 深入理解Java虚拟机-如何利用JDK自带的命令行工具监控上百万的高并发的虚拟机性能
- 深入理解Java虚拟机-如何利用VisualVM对高并发项目进行性能分析
- 深入理解Java虚拟机-你了解GC算法原理吗
前面在学习JVM的知识的时候,一般都需要利用相关参数进行分析,而分析一般都需要用到一些分析的工具,因为一般使用IDEA,而VisualVM对于IDEA也不错,所以就选择VisualVM来分析JVM性能,这篇文章就介绍一下如何利用VisualVM进行性能分析,以及在分析之前需要知道一些GC优化的原则,GC优化的目的,以及遇到问题时怎么去解决问题的方法。
1 为什么需要
开发大型 Java 应用程序的过程中难免遇到内存泄露、性能瓶颈等问题,比如文件、网络、数据库的连接未释放,未优化的算法等。随着应用程序的持续运行,可能会造成整个系统运行效率下降,严重的则会造成系统崩溃。为了找出程序中隐藏的这些问题,在项目开发后期往往会使用性能分析工具来对应用程序的性能进行分析和优化。
VisualVM 是一款免费的性能分析工具。它通过 jvmstat、JMX、SA(Serviceability Agent)以及 Attach API 等多种方式从程序运行时获得实时数据,从而进行动态的性能分析。同时,它能自动选择更快更轻量级的技术尽量减少性能分析对应用程序造成的影响,提高性能分析的精度。
2 如何安装
这里有两种方式:
- 没有按照IDEA插件
如果没有按照IDEA插件的话,我们需要找到JDK的按照目录bin下找到如下执行程序。
![bec8d64b4257e823c2fa23100e6af35c.png](https://i-blog.csdnimg.cn/blog_migrate/8c672782903fc0a9490a145f85721e30.png)
然后双击执行,就会出现界面,如下;
![97f211b9b025cebfa53afd7284a46341.png](https://i-blog.csdnimg.cn/blog_migrate/65cde0be028b697bbb9bfabcbd995b7a.jpeg)
但是,我们一般使用IDEA,所以会使用插件,就是下面这种方式。
- 按照IDEA插件
先在插件中找到VisualVM安装;
![b7be9e94cdc7694179c2dda067bfd17b.png](https://i-blog.csdnimg.cn/blog_migrate/81af746a6f6ba0a626cb034cda897f44.jpeg)
安装了之后,在运行的地方就会多出现两个VisualVM的运行按钮;
![da2a7d7f33d034b6598f17f3f97c4bae.png](https://i-blog.csdnimg.cn/blog_migrate/a4b838c0cc271fc8cc2250001af75e23.png)
这样运行程序之后,就可以自动打开Visual