java -verbose[:class|gc|jni] 在輸出設備上顯示虛擬機運行信息。
1.java -verbose:class,該參數在查一些詭異的jar包沖突的時候極為有用
在程序運行的時候究竟會有多少類被加載呢,一個簡單程序會加載上百個類的!你可以用 verbose:class來監(jiān)視,在命令行輸入java -verbose:class XXX (XXX為程序名)你會在控制臺看到加載的類的情況。
verbose和verbose:class含義相同,輸出虛擬機裝入的類的信息,顯示的信息格式如下: [Loaded java.io.FilePermission$1 from shared objects file] 當虛擬機報告類找不到或類沖突時可用此參數來診斷來查看虛擬機從裝入類的情況。
[Loaded org.apache.catalina.core.ApplicationResponse from file:/home/admin/login/.default/tmp/deploy/tmp13385jbossweb.jar]
[Loaded org.apache.catalina.core.ApplicationHttpRequest from file:/home/admin/login/.default/tmp/deploy/tmp13385jbossweb.jar]
[Loaded org.apache.catalina.core.ApplicationRequest from file:/home/admin/login/.default/tmp/deploy/tmp13385jbossweb.jar]
[Loaded org.apache.catalina.connector.ResponseFacade from file:/home/admin/login/.default/tmp/deploy/tmp13385jbossweb.jar]
[Loaded org.apache.catalina.core.ApplicationDispatcher$State from file:/home/admin/login/.default/tmp/deploy/tmp13385jbossweb.jar]
[Loaded org.apache.catalina.CometFilterChain from file:/home/admin/login/.default/tmp/deploy/tmp13385jbossweb.jar]
[Loaded org.apache.catalina.core.ApplicationFilterChain from file:/home/admin/login/.default/tmp/deploy/tmp13385jbossweb.jar]
[Loaded org.apache.coyote.http11.Constants from file:/home/admin/login/.default/tmp/deploy/tmp13385jbossweb.jar]
[Loaded org.apache.tomcat.util.net.AprEndpoint$Handler$SocketState from file:/home/admin/login/.default/tmp/deploy/tmp13385jbossweb.jar]
2.java –verbose:gc
在虛擬機發(fā)生內存回收時在輸出設備顯示信息,格式如下: [Full GC 268K->168K(1984K), 0.0187390 secs] 該參數用來監(jiān)視虛擬機內存回收的情況。
public class TestGC{
public static void main(String[] args) {
TestGC test = new TestGC();
System.gc();
}
}
在這個例子中,一個新的對象被創(chuàng)建,由于它沒有使用,所以該對象迅速地變?yōu)榭蛇_,程序編譯后,執(zhí)行命令: java -verbose:gc TestGC 后結果為:
[Full GC 168K->97K(1984K), 0.0253873 secs]
機器的環(huán)境為,Windows 2000 + JDK1.3.1,箭頭前后的數據168K和97K分別表示垃圾收集GC前后所有存活對象使用的內存容量,說明有168K-97K=71K的對象容量被回收,括號內的數據1984K為堆內存的總容量,收集所需要的時間是0.0253873秒(這個時間在每次執(zhí)行的時候會有所不同)。
3.java –verbose:jni
-verbose:jni輸出native方法調用的相關情況,一般用于診斷jni調用錯誤信息。
在虛擬機調用native方法時輸出設備顯示信息,格式如下: [Dynamic-linking native method HelloNative.sum ... JNI] 該參數用來監(jiān)視虛擬機調用本地方法的情況,在發(fā)生jni錯誤時可為診斷提供便利。
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請
點擊舉報。