JVM进程jar包加载分析

Posted zzfx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM进程jar包加载分析相关的知识,希望对你有一定的参考价值。

有时在一个应用中,会依赖很多的jar包,难免会出现引用不同jar包中的同名类,或者jar包冲突,这时搞清楚:

  1. JVM启动时加载了哪些jar包
  2. 或者一个类来自哪个jar中来就非常重要了。

一、查看JVM加载了哪些jar包

  1. 启动JVM,通过如下命令获取进程号:

    jps -lm
    • 1

    其中参数: 
    -l:输出main所在类的全名,如果执行的是jar包,则输出jar包路径 
    -m:输出jvm进程启动时传递给main函数的参数

    jps还有参数-v:输出jvm进程启动时JVM参数。

  2. 使用如下命令:

    jinfo + 进程号
    • 1

    找到打印出的信息中的java.class.path属性值,既是jvm进程启动时加载的jar包。

二、查看具体的class从哪个jar保重加载的

在JVM启动时,加上如下参数:

-verbose:class


https://blog.csdn.net/tterminator/article/details/53648773

以上是关于JVM进程jar包加载分析的主要内容,如果未能解决你的问题,请参考以下文章

maven 各个版本加载jar 的顺序有啥区别

jvm

jvm 性能监控与分析工具

jvm 性能监控与分析工具

JVM调优:Arthas 工具

JVM调优:Arthas 工具