heap size vergrößern

Status
Nicht offen für weitere Antworten.

guarditan

Mitglied
Hallo Leute,

ich habe ein Problem. Ich habe ein Programm geschrieben, was Dateien hashen soll. Ich hab das bei mir auf meinem Linux geschrieben und auf dem Windows meiner Mutter getestet. Lief alles prima. Bei meinem Bruder auf dem Laptop streikt das Programm jedoch, wenn es um größere Dateien geht, da der maximale Heapsize überschritten wäre.
Angeblich kann man den manuelll über die VM einstellen.

Allerdings würde ich gern eine einfachere Lösung haben, denn ich kann nicht jedem zumuten, wenn er mein Programm benutzen will, dass er weiß, wie man den heap vergrößert. Gibts da irgendwie eine Möglichkeit das benutzerfreundlich zu gestalten ?
und wenn nein, kennt jemand ne Anleitung, wie ich das unter windows machen kann ? (mein Linux hat wohl einen riesigen Heapsize) hatte mal was von "java -Xms64" oder sowas gelesen und probiert, bin aber dabei gescheitert.
 
Der Heap ist auf Windows und Linux per Default gleich, nämlich 64MiB.
Erhöhen geht mit dem Parameter Xmx also zB java -Xmx512m .jar DeineJar.jar
Um das zu automatisieren kannst du:
1. eine Verknüpfung anlegen
2. Ein start script schreiben
3. Webstart verwenden
 
hm danke schon mal für deine Antwort. Komisch finde ich aber nur, dass unter Linux alles problemlos ging, sogar Dateien mit über 300 MB, und windows schon bei 80 MB Probleme gemacht hat. Ich habe bei beiden noch nichts geändert.


Du hast ja bereits drei Möglichkeiten genannt, aber irgendwie sagen die mir gerade kaum was, was ich machen muss. Geht das bitte noch etwas genauer. Bzw. was wäre die beste Möglichkeit um das möglichst autonom zu machen ?
 
Ohne die Implementierung zu kennen ist es sehr schwierig dazu Stellung zu nehmen.
Was verstehst du an den drei Optionen nicht? Was eine Verknüpfung ist sollte klar sein, was eine Batch Datei ist, sollte ebenfalls klar sein und Webstart lässt sich problemlos in Wikipedia nachschlagen.
Persönlich bevorzuge ich immer Webstart, eine hash funktion würde ich allerdings ohne GUI schreiben und als Konsolenanwendung verwenden, da würde Webstart natürlich wenig sinn machen und es sollte stattdessen ein start script her.
 
Ich mach mal am besten konkret, was ich versteh und was nicht 🙂


1. eine Verknüpfung anlegen

also hier soll ich manuell auf dem PC eine Verknüpfung anlegen, die auf "java -Xmx512m .jar DeineJar.jar" "zeigt" ? Wobei natürlich das angepasst wird, ja ?

2. Ein start script schreiben

Um ehrlich zu sein, hab ich nur mal ein bißchen in Linux mit shellscripts gearbeitet. Wie genau soll das funktionieren ? Mein Javaprogramm soll ja möglichst auf jedem OS laufen. In welcher Sprache soll das Script sein ? Sorry, aber das hängts noch mit meinem Verständnis.

3. Webstart verwenden

Das scheint mir irgendwie auf den ersten Blick sehr aufwändig zu sein. Mir wäre eigentlich auch eine offline lösung lieber.
 
also hier soll ich manuell auf dem PC eine Verknüpfung anlegen, die auf "java -Xmx512m .jar DeineJar.jar" "zeigt" ? Wobei natürlich das angepasst wird, ja ?
Manuell, per Setup, völlig egal

Um ehrlich zu sein, hab ich nur mal ein bißchen in Linux mit shellscripts gearbeitet. Wie genau soll das funktionieren ? Mein Javaprogramm soll ja möglichst auf jedem OS laufen. In welcher Sprache soll das Script sein ? Sorry, aber das hängts noch mit meinem Verständnis.
Für Linux ein Shellscript, für Windows eine .bat,...

Das scheint mir irgendwie auf den ersten Blick sehr aufwändig zu sein. Mir wäre eigentlich auch eine offline lösung lieber.
Webstart ist eine Offline Lösung, lediglich die 'Installation' und sofern gewünscht updates passieren online. Aufwendig ist es übrigens nicht.
 
gut dann vielen Dank bis hierhin. Ich werde mir mal das Java Web Start anschauen. Wenn das nicht so schwierig ist, ist es glaub ich eine gute Lösung 🙂

Bei Fragen melde ich mich hier einfach nochmal 🙂
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben