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