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來(lái)監(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ù)來(lái)診斷來(lái)查看虛擬機(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ù)用來(lái)監(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)建,由于它沒(méi)有使用,所以該對(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)存容量,說(shuō)明有168K-97K=71K的對(duì)象容量被回收,括號(hào)內(nèi)的數(shù)據(jù)1984K為堆內(nèi)存的總?cè)萘?,收集所需要的時(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ù)用來(lái)監(jiān)視虛擬機(jī)調(diào)用本地方法的情況,在發(fā)生jni錯(cuò)誤時(shí)可為診斷提供便利。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。