JVM -verbose參數詳解

1.java -verbose:classphp

在程序運行的時候有多少類被加載!你能夠用verbose:class來監視,在命令行輸入java -verbose:class XXX  (XXX爲程序名)你會在控制檯看到加載的類的狀況。verbose和verbose:class含義相同,輸出虛擬機裝入的類的信息,顯示的信息大概格式以下: java

[Opened D:\software\jdk1.6.0_21\jre\lib\rt.jar]
[Loaded java.lang.Object from D:\software\jdk1.6.0_21\jre\lib\rt.jar]
...
[Loaded java.lang.ThreadGroup from D:\software\jdk1.6.0_21\jre\lib\rt.jar]
[Loaded java.util.Map from D:\software\jdk1.6.0_21\jre\lib\rt.jar]    //程序加載
[Loaded java.util.Dictionary from D:\software\jdk1.6.0_21\jre\lib\rt.jar]
...
[Loaded java.lang.ref.ReferenceQueue$Lock from D:\software\jdk1.6.0_21\jre\lib\rt.jar]
[Loaded java.util.HashMap from D:\software\jdk1.6.0_21\jre\lib\rt.jar]   //程序加載
[Loaded java.util.Map$Entry from D:\software\jdk1.6.0_21\jre\lib\rt.jar]
[Loaded java.util.HashMap$Entry from D:\software\jdk1.6.0_21\jre\lib\rt.jar]   //程序加載
[Loaded java.security.AccessController from D:\software\jdk1.6.0_21\jre\lib\rt.jar]
...
[Loaded java.util.List from D:\software\jdk1.6.0_21\jre\lib\rt.jar]    //程序加載
...
[Loaded java.util.Collections from D:\software\jdk1.6.0_21\jre\lib\rt.jar]   //程序加載
[Loaded java.util.Collections$EmptySet from D:\software\jdk1.6.0_21\jre\lib\rt.jar]   //程序加載
[Loaded java.util.Collections$EmptyList from D:\software\jdk1.6.0_21\jre\lib\rt.jar]  //程序加載
[Loaded java.util.Collections$EmptyMap from D:\software\jdk1.6.0_21\jre\lib\rt.jar]   //程序加載
[Loaded java.util.Collections$ReverseComparator from D:\software\jdk1.6.0_21\jre\lib\rt.jar]   //程序加載
...
[Loaded java.util.ArrayList from D:\software\jdk1.6.0_21\jre\lib\rt.jar]   //程序加載
...
[Loaded cn.com.sinosoft.iecs.web.util.UrlSignUtil from file:/D:/SVN/dev/%e7%bd%91%e9%94%80/iecs-online-web/target/classes/]
[Loaded java.io.UnsupportedEncodingException from D:\software\jdk1.6.0_21\jre\lib\rt.jar]  //程序加載
[Loaded java.security.NoSuchAlgorithmException from D:\software\jdk1.6.0_21\jre\lib\rt.jar]   //程序加載
[Loaded cn.com.sinosoft.iecs.online.core.util.PropertiesUtil from file:/D:/SVN/dev/%e7%bd%91%e9%94%80/iecs-online-core/target/classes/]
...
[Loaded java.security.MessageDigestSpi from D:\software\jdk1.6.0_21\jre\lib\rt.jar]  //程序加載
...
[Loaded sun.security.provider.ByteArrayAccess from D:\software\jdk1.6.0_21\jre\lib\rt.jar]
ea542da6768faa749dbc08ea51d746c5  //執行結果
[Loaded java.util.IdentityHashMap$KeySet from D:\software\jdk1.6.0_21\jre\lib\rt.jar]
[Loaded java.util.IdentityHashMap$IdentityHashMapIterator from D:\software\jdk1.6.0_21\jre\lib\rt.jar]
[Loaded java.util.IdentityHashMap$KeyIterator from D:\software\jdk1.6.0_21\jre\lib\rt.jar]

當虛擬機報告類找不到或類衝突時可用此參數來診斷來查看虛擬機從裝入類的狀況。web

2.java –verbose:gcbash

。。。ide

[Loaded sun.security.provider.ByteArrayAccess from D:\software\jdk1.6.0_21\jre\lib\rt.jar]測試

[Full GC 812K->442K(15872K), 0.0031244 secs]
ea542da6768faa749dbc08ea51d746c5  //執行結果ui

[Loaded sun.misc.Cleaner from C:\Java\jdk7\jre\lib\rt.jar]url

3.java –verbose:jnispa

-verbose:jni輸出native方法調用的相關狀況,通常用於診斷jni調用錯誤信息。命令行

在虛擬機調用native方法時輸出設備顯示信息,格式以下:

[Dynamic-linking native methodjava.lang.Object.registerNatives ... JNI]

該參數用來監視虛擬機調用本地方法的狀況,在發生jni錯誤時可爲診斷提供便利。

具體測試方法:

相關文章
相關標籤/搜索