java -verbose[:class|gc|jni] 在輸出設(shè)備上顯示虛擬機(jī)運(yùn)行信息。 1.java -verbose:class,該參數(shù)在查一些詭異的jar包沖突的時(shí)候極為有用 在程序運(yùn)行的時(shí)候究竟會(huì)有多少類被加載呢,一個(gè)簡(jiǎn)單程序會(huì)加載上百個(gè)類的!你可以用 verbose:class來監(jiān)視,在命令行輸入java -verbose:class XXX (XXX為程序名)你會(huì)在控制臺(tái)看到加載的類的情況。 verbose和verbose:class含義相同,輸出虛擬機(jī)裝入的類的信息,顯示的信息格式如下: [Loaded java.io.FilePermission$1 from shared objects file] 當(dāng)虛擬機(jī)報(bào)告類找不到或類沖突時(shí)可用此參數(shù)來診斷來查看虛擬機(jī)從裝入類的情況。
[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 在虛擬機(jī)發(fā)生內(nèi)存回收時(shí)在輸出設(shè)備顯示信息,格式如下: [Full GC 268K->168K(1984K), 0.0187390 secs] 該參數(shù)用來監(jiān)視虛擬機(jī)內(nèi)存回收的情況。 public class TestGC{ public static void main(String[] args) { TestGC test = new TestGC(); System.gc(); } } 在這個(gè)例子中,一個(gè)新的對(duì)象被創(chuàng)建,由于它沒有使用,所以該對(duì)象迅速地變?yōu)榭蛇_(dá),程序編譯后,執(zhí)行命令: java -verbose:gc TestGC 后結(jié)果為: [Full GC 168K->97K(1984K), 0.0253873 secs] 機(jī)器的環(huán)境為,Windows 2000 + JDK1.3.1,箭頭前后的數(shù)據(jù)168K和97K分別表示垃圾收集GC前后所有存活對(duì)象使用的內(nèi)存容量,說明有168K-97K=71K的對(duì)象容量被回收,括號(hào)內(nèi)的數(shù)據(jù)1984K為堆內(nèi)存的總?cè)萘浚占枰臅r(shí)間是0.0253873秒(這個(gè)時(shí)間在每次執(zhí)行的時(shí)候會(huì)有所不同)。 3.java –verbose:jni -verbose:jni輸出native方法調(diào)用的相關(guān)情況,一般用于診斷jni調(diào)用錯(cuò)誤信息。 在虛擬機(jī)調(diào)用native方法時(shí)輸出設(shè)備顯示信息,格式如下: [Dynamic-linking native method HelloNative.sum ... JNI] 該參數(shù)用來監(jiān)視虛擬機(jī)調(diào)用本地方法的情況,在發(fā)生jni錯(cuò)誤時(shí)可為診斷提供便利。 |
|