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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM