I try this with NetBeans desktop application template – increasing heapsize (to 512 MiB) of executed .jar file. (I believe that NetBeans uses Singleton app by default – SingleFrameView) Will it work?
public static void main(String[] args) { if (args == null) { args = new String[1]; args[0] = "Xmx512m"; } else { String[] tempArgs = new String[args.length+1]; for (int i=0; i<args.length; i++) { tempArgs[i] = args[i]; } tempArgs[tempArgs.length-1] = "Xmx512m"; args = tempArgs; } launch(MyApp.class, args); } }
Advertisement
Answer
Not going to work. The heap space is set from the -Xmx parameter at JVM initialization time. By the time you’re running Java code, it’s too late.
There could be an exception if the launch() method spawns a new JVM, but nothing I see indicates that that is the case.