JAVA 程序,在编译成字节码文件后(即通常所说的build),需要在JVM中运行。
JVM,就是java virtual machine,一个项目跑在一个JVM中,就xing成了一个java进程。那么这个进程的性能如何?我们做的代码改动是否解决了实际问题?这个时候就需要用到JVM分析工具了。
常用的jvm分析工具:
https://www.cnblogs.com/shuiyonglewodezzzzz/p/8729030.html
或者你直接上网搜索jvm-tools也能出来一大堆。一般安装JDK的时候都会给安装JVM分析工具,但是如果你安装了多个版本的JDK,或者机器不是你的,就要先检查运行待检查进行的JDK和你用的JVM Tools是不是一个版本的,如果不是,很有可能出现兼容性错误。
Error attaching to process: sun.jvm.hotspot.runtime.VMVersionMismatchException: Supported versions are 25.212-b04. Target VM is 25.45-b02
sun.jvm.hotspot.debugger.DebuggerException: sun.jvm.hotspot.runtime.VMVersionMismatchException: Supported versions are 25.212-b04. Target VM is 25.45-b02
这时候只要去找你的进程是哪个版本运行的,然后到它的bin目录下,用该目录下的工具就可以了。
//以linux系统为例,如果java路径已经配置在环境变量里
which java
//复制Java路径
cd /xxx
//使用当前路径下的工具
./jmap -heap <pid>