1
我們需要手動設置-Xmax和-Xmin環境變量,但是我想從java代碼中設置這些變量。有沒有辦法用java代碼設置這些變量?謝謝。從java代碼設置JRE變量
我們需要手動設置-Xmax和-Xmin環境變量,但是我想從java代碼中設置這些變量。有沒有辦法用java代碼設置這些變量?謝謝。從java代碼設置JRE變量
我得到了這個問題該解決方案: -
public static void main(String[] args) {
Properties prop = new Properties();
try {
String path=System.getenv("APPDATA");
path=path.substring(0,path.lastIndexOf('\\')+1)+"LocalLow\\Sun\\Java\\Deployment\\deployment.properties";
System.err.println(path);
prop.load(new FileInputStream(path));
String jreIndex = null;
Enumeration enuKeys = prop.keys();
while (enuKeys.hasMoreElements()) {
String key = (String) enuKeys.nextElement();
String value = prop.getProperty(key);
if(value.contains("1.6.0_26")){
String[] st2 = key.split("\\.");
if(st2.length==5){
jreIndex = st2[3];
}
}
}
//SystemSettings SysConfigsettings = new SystemSettings();
if(jreIndex != null){
// if (SysConfigsettings.getValue(SystemSettings.JRE_HEAP_SIZE))
{
prop.setProperty("deployment.javaws.jre."+jreIndex+".args", "-Xmx1024m");
}
}
prop.store(new FileOutputStream(path), "UpdatedHeapSize");
System.out.println("First : "+prop.getProperty("deployment.javaws.jre.0.args"));
} catch (Exception e) {
e.printStackTrace();
}
}
您是否需要從正在運行的Java進程中設置這些設置?我不相信這是可能的。但是,您可以將它們設置爲來自調用Java程序的子進程,例如通過ProcessBuilder。
ProcessBuilder pb = new ProcessBuilder("myCommand", "-Xmax", value);
pb.directory(new File("dir"));
Process p = pb.start();
「*我們要...... *」 這是功課呢?如果是這樣,請標記爲這樣。 – user1329572
答案是否定的。請參閱http://stackoverflow.com/questions/763295/setting-jvm-heap-size-at-runtime。 –
我們意味着我和我的團隊,它不是家庭作業..我需要從應用程序GUI設置這些環境變量。 – ajkush