Heap Space - System.setProperty()?

Hi Erdal,

das Problem hinter der Frage würde mich interessieren. Vielleicht gibt es ja eine andere Lösung....

Gruß Jo
 
Hallo Jo,

die Applikation an der ich zur Zeit arbeite braucht mehr Heap Space als standardmäßig eingestellt. Von Vorteil wäre es wenn der Anwender das selber nicht einstellen müsste. Sondern es schon in der Applikation integriert vorhanden wäre.

Was mir einfällt, könnte man es nicht in die Manifest Datei einer Jar schreiben.


Vg Erdal
 
Moin!
In das Manifest kann man es auch nicht schreiben, aber
warum nicht einfach eine Batch Datei mitgeben, welche das Starten des Programms übernimmt und die erforderlichen Parametern setzt?

*grüssle*
MeinerEiner
 
Da fällt mir ein, wenn man es umständlich machen will ;) ,
kannst du ja auch eine zusätzliches Archiv erstellen welches der Nutzer starten soll., Dieses würde dann dein eigentliches Archiv mit den entsprechenden Parametern starten..

*grüssle*
MeinerEiner
 
Hallo,

warum nicht einfach eine Batch Datei mitgeben, welche das Starten des Programms übernimmt und die erforderlichen Parametern setzt?

Naja, dann müsste man aber für alle Betriebssysteme eine Startdatei mitgeben.
Man könnte aber eine "startup"-Klasse schreiben, die das Programm mit den entsprechenden Parametern startet. Dann bräuchte man nur eine Datei. Diese Klasse könnte man direkt mit in das Jar-File packen oder in ein eigenes.
Also ich hab das noch nicht probiert, müsste aber so funktionieren. :-)

MFG

zEriX


EDIT:
Da war ja schon wieder Meiner_Einer schneller. :-)
 
Zuletzt bearbeitet:
Hallo,

habe die vorgeschlagenen Ideen umgesetzt. Es funktioniert :) !

Wenn man beide Klassen in eine jar packt. Und die Starter Klasse als Main-Klasse im Manifest definiert wird, müsste es theoretisch klappen.


Java:
import java.io.IOException;
import java.util.Scanner;

public class Starter {

	public static void main(String[] args) throws IOException {
		ProcessBuilder builder = new ProcessBuilder("java", "-Xmx256m", "Application");
		Process p = builder.start();

		Scanner s = new Scanner(p.getInputStream()).useDelimiter("/n");
		while (s.hasNext())
			System.out.println(s.next());
	}
}

Java:
public class Application {

	public static void main(String[] args) {
		System.out.println("App Begin");
		Runtime r = Runtime.getRuntime();
		System.out.println(r.maxMemory());
		System.out.println(r.totalMemory());
		System.out.println(r.freeMemory());
		System.out.println("App End");
	}
}

Ausgabe
Code:
App Begin
266403840
5177344
4960288
App End


Vg Erdal
 
Zurück