Ich möchte JVM-Flags ändern/setzen, sobald mein Programm startet. Ich kann das nicht in der Befehlszeile tun, weil ich mit Leuten arbeite, die nicht einmal wissen, dass es existiert. Es muss also automatisch im Programm gemacht werden.JVM-Flags zur Laufzeit ändern
Ich interessiere mich besonders für diese drei Flaggen: -Xms4G -Xmx8G -noverify
ich in this discussion (oder that one) festgestellt, dass es möglich ist, einige Fahnen mit dem Interface HotSpotDiagnosticMXBean zu ändern. Und this code zeigt, wie die Flags geändert werden. Leider werden die Flags Xms
oder nur ms
nicht erkannt und dann wird eine Ausnahme ausgelöst.
Ich habe auch festgestellt, dass capsule die Arbeit tun kann, aber es scheint ziemlich schwer zu bedienen.
Gibt es einen einfachen Weg, es zu tun?
Ich würde sagen, Sie können nicht. Aber Sie könnten eine zweite jvm aus Ihrem Code mit den gewünschten Parametern mit einem 'ProcessBuilder' starten. – joshiste
Ich bin mir nicht sicher, wie es funktionieren würde. Starten Sie eine andere JVM in Ordnung, aber mein Programm hätte bereits auf der ersten gestartet. Wie kann ich das zweite einschalten? – FiReTiTi