如何從Java應(yīng)用程序內(nèi)部獲取VM參數(shù)?我需要檢查是否可以傳遞給JVM的某個(gè)選項(xiàng)是顯式設(shè)置還是具有默認(rèn)值。更具體一點(diǎn):我需要?jiǎng)?chuàng)建一個(gè)具有比默認(rèn)堆棧大更高的本機(jī)堆棧大小的特定線(xiàn)程,但是如果用戶(hù)希望通過(guò)指定-Xss我想要?jiǎng)?chuàng)建具有默認(rèn)堆棧大小的所有線(xiàn)程的選項(xiàng)來(lái)自己處理這些事情(將由用戶(hù)在-Xss選項(xiàng)中指定)。我已經(jīng)檢查了類(lèi)java.lang.System和的類(lèi)java.lang.Runtime,但這些沒(méi)有給我任何有關(guān)VM參數(shù)的有用信息。有沒(méi)有辦法獲得我需要的信息?
3 回答

慕碼人2483693
TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超9個(gè)贊
使用此代碼,您可以獲取JVM參數(shù):
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
...
RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = runtimeMxBean.getInputArguments();

jeck貓
TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
在啟動(dòng)時(shí)通過(guò)這個(gè) -Dname=value
然后在你的代碼中你應(yīng)該使用
value=System.getProperty("name");
獲得這個(gè)價(jià)值
添加回答
舉報(bào)
0/150
提交
取消