NetBeans Programm in NetBeans deutlich schneller als als Jar

DanielS

Mitglied
Guten Tag,
ich entwickle ein Performanceintensives Programm. Nun ist mir aufgefallen, dass das Programm, wenn ich es direkt aus Netbeans starte, etwa 3 mal schneller ist als die von NetBeans generierte *.Jar Datei (Komprimierung ist ausgeschaltet).
Das ist ein Problem, mit dem ich so leider nicht leben kann :(.
Woran kann das liegen?
Viele Grüße und vielen Dank im Vorraus
Daniel
 

DanielS

Mitglied
Hallo JohannisderKaeufer,
Danke für deine Antwort. Ich bin mir nicht sicher, wie ich herausfinde, welche JRE Netbeans benutzt, allerdings benutzt Windows 1.7:
screenshotJavaVersion.png

Daran liegt es dann wahrscheinlich nicht, oder?
Viele Grüße
Daniel
 

parabool

Bekanntes Mitglied
Vielleicht liegt es an der Speicherzuweisung ? (zu wenig)
Kannst mal schauen, wie die beim starten unter Netbeans aussieht und
dann ev. beim Starten der jar - Datei die Speicherzueweisung anpassen (wenn es denn daran liegt)
 

faetzminator

Gesperrter Benutzer
Vielleicht ist auch einfach nur der Start langsamer? Mögliche Ursachen wär, dass dein OS das Programm (die JVM) zuerst suchen und dann noch starten muss...
 

DanielS

Mitglied
@faetzminator, der Programmstart dauert nicht lange. Erst das Starten der Berechnung.
@parabool, du hast Recht. Wenn ich es aus Netbeans öffne, hat der Prozess java.exe einen Speicherverbrauch von etwa 700mb. Wenn ich die *.Jar öffne, hat die javaw.exe(anderer Name?) einen Speicherverbrauch von nur 40mb. Wie kann ich das ändern? Also wie kann ich der *.Jar Datei "mitteilen", dass sie sich viel mehr Speicher nehmen darf?
Viele Grüße
Daniel
 

GUI-Programmer

Top Contributor
Also wie kann ich der *.Jar Datei "mitteilen", dass sie sich viel mehr Speicher nehmen darf?l

Also ich weiß zwar nicht ob und wenn ja, wie man dass bei der Jar einstellen kann, aber du kannst der Jar selbst mehr RAM zuweisen, indem du sie per Konsole mit den Paramentern Xmx und Xms startest:
Code:
java -Xmx1024M -Xms1024M -jar deineJar.jar

Ne Möglichkeit wäre eine weitere Main.Klasse zuschreiben, die die bisherige Main-Klasse mit den Paramtern ausführt, per Runtime.getRuntime.exec oder gar den ProzessBuilder.
 
Zuletzt bearbeitet:

parabool

Bekanntes Mitglied
Also in eine Datei namens z.B. start.bat folgendes eintragen:

start javaw -jar -Xmx1024 -Xms64m deinejar.jar

Dann startest Du die jar über dieses Startskript.
 

DanielS

Mitglied
Vielen Dank für eure Hilfe, allerdings klappt es noch nicht ganz.
Ich habe eine bat datei erstellt mit folgendem Inhalt:
start javaw -jar -Xmx1024 -Xms64m deinejar.jar
Die Datei deinejar.jar ist im gleichen verzeichnis. Leider passiert einfach nichts, wenn ich die Bat datei öffne :(
Viele Grüße
Daniel
 

DanielS

Mitglied
ändert leider auch nichts. Auch wenn ich den Befehl direkt in der Konsole in dem entsprechenden Ordner ausführe passiert nichts. Kann es an der *.Jar Datei liegen? Doppelklick auf die jar Datei funktioniert allerdings problemlos.
Viele Grüße
Daniel
 
M

maki

Gast
Ich habe eine bat datei erstellt mit folgendem Inhalt:
start javaw -jar -Xmx1024 -Xms64m deinejar.jar
Du hast das m vergessen, sollte heissen:
[c]start javaw -jar -Xmx1024m -Xms64m deinejar.jar[/c]
wobei 64m ein schlechter Startwert (Xms) ist wenn klar ist dass es nicht ausreicht, lieber gleich auf 512m als Xms gehen.
 

DanielS

Mitglied
Das darf ich leider nicht machen, da es eine Auftragsprogrammierung ist und mein Kunde damit sicher ein Problem hätte :( kann ich euch ansonsten irgendwelche Informationen geben? Oder habt ihr vielleicht eine test.jar, mit der ich das probieren kann, um herauszufinden, ob es an der Jar Datei liegt?
 

DanielS

Mitglied
Danke maki, der fehler lag an dem fehlenden "m".
Der richtige Code lautet:
start javaw -jar -Xmx1024m -Xms512m Skatanalyse.jar (java anstatt javaw klappt auch, allerdings wird dann eine zusätzliche konsole geöffnet).
Die Performance ist jetzt auch so wie gewohnt, ich danke euch vielmals für eure Hilfe!
Viele Grüße
Daniel
 

DanielS

Mitglied
So, nun habe ich das ganze an meinen Kunden geschickt und bei ihm funktioniert es nicht, weil javaw nicht gefunden werden kann.
Startproblem.jpg

Es muss also wohl die Umgebungsvariable angepasst werden. Kann das auch über eine bat oder ähnliches geschehen? Ich glaube kaum, dass mein Kunde da den "Standardweg" gehen möchte..
Viele Grüße
Daniel
 

DanielS

Mitglied
ja, aber kann man das auch irgendwie automatisch machen? Ist ja nicht bei mir auf dem Rechner sondern bei meinem Kunden..
Und im allgemeinen verstehe ich auch nicht, warum java das bei der installation nicht automatisch macht?
 

Paddelpirat

Bekanntes Mitglied
Hast du mal nachgefragt, ob er die neuste Java-Version (7) auf dem Rechner hat? Bei näherer Betrachtung habe ich auch nichts von Java in meinen Umgebungsvariablen stehen und es funktioniert trotzdem.
 

DanielS

Mitglied
Mein Programm ist in Java7 und die Jar funktioniert ja auch. Also müsste er ja Java7 installiert haben? Außerdem ist seine Windows Installation erst etwa einen Monat alt, vermutlich hat er sich da dann auch gleich das neuste Java installiert.
Viele Grüße
Daniel
 

Paddelpirat

Bekanntes Mitglied
Frag nur, weil ich auch vor kurzem mein System neu aufgesetzt habe und es dann ohne Path setzen lief. Ansonsten kannst du ihn dein Programm ja so aufrufen lassen:

Code:
c:\Programme\java\jre7\bin\javaw -jar -Xmx1024m -Xms512m Skatanalyse.jar

Das sollte bei Installation mit Standardpfad eigentlich funktionieren.

Edit: Der Pfad könnte natürlich etwas anders sein, bei 32-Bit Systemen. (Bin mal von Windows 7 ausgegangen)

Edit2: Außerdem könntest du sonst versuchen in einer .bat Datei den Pfad zu setzen mit
Code:
set JAVA_HOME=c:\Programme\java\jre7\bin
Code:
set path=%path%;%JAVA_HOME%

Für die beiden Befehle möchte ich jetzt aber keine Garantie übernehmen, und solltest vielleicht nochmal vorher nachschauen ob es funktioniert, bevor du dir oder deinem Kunden den path zerschießt. Von daher wäre es wohl einfacher den Java-Pfad in den Umgebungsvariablen zu setzen.
 
Zuletzt bearbeitet:

DanielS

Mitglied
Danke für deine Hilfe. Ich werde mal probieren, den Java Pfad direkt in der Bat anzugeben.
Ist es denn möglich, bei einem 64bit Windows eine 32bit java version zu installieren?
Viele Grüße
Daniel
 

DanielS

Mitglied
Habe jetzt mal noch 4 Bat Dateien an den Kunden verschickt (2 Deutsche, 2 Englische) und werde mich wieder melden, wenn ich neues weiß.
Ansonsten schonmal vielen Dank.
 

bERt0r

Top Contributor
Ojehmine, du kannst doch nicht bei deinem Kunden die Umgebungsvariablen umsetzten. Wie willst du denn wissen wo bei ihm die javaw.exe liegt? Am Ende machst du noch was kaputt und kannst dafür geradestehen.
Kann dein Kunde denn die jar Datei ausführen wenn er sie einfach mal doppelklickt?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Jose05 Umgang mit Exceptions in einen Programm Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
R Programm führt Methoden gleichzeitig aus Allgemeine Java-Themen 2
T Der Aufruf von CMD-Programm Allgemeine Java-Themen 30
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
Mike80 Processing Programm fiert ohne Arduino ein Allgemeine Java-Themen 2
B Mysteriöse Ergebnisse beim Baccarat Programm? Allgemeine Java-Themen 13
districon Programm zum Durchsuchen von (Ebay-)Artikeln Allgemeine Java-Themen 1
T Addons im eigenen Programm Allgemeine Java-Themen 1
Calli11 Was muss ich hier in die Main schreiben, damit das Programm ausgeführt wird? Allgemeine Java-Themen 4
S .exe Datei/Programm auslesen? Allgemeine Java-Themen 2
S Formel für Sonnenwinkel in ein Programm überführen Allgemeine Java-Themen 11
Alex_99 Programm stürzt beim Aufruf der Funktion ab? Text ausgeben Allgemeine Java-Themen 45
B Java Programm auf virutellem Desktop laufen lassen? Allgemeine Java-Themen 1
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
Tiago1234 Warum hängt sich mein Programm auf? Allgemeine Java-Themen 22
D Programm designen Allgemeine Java-Themen 1
S Folgendes Problem bei einem Programm Allgemeine Java-Themen 1
J c Programm läuft nicht in compilierter Version des Java Projektes Allgemeine Java-Themen 7
O 2D-Grafik BioFarben-Programm soll auf Vollbild schalten Allgemeine Java-Themen 1
S Nachrichten Filter Programm Allgemeine Java-Themen 14
S Programm schreiben, das mir aufgrund von Schlagwörtern, die ich im Internet suche, relevante Themen sofort anzeigt. Allgemeine Java-Themen 1
T Hilfe bei Programm. IDE: Eclipse mit EV3-Plugin, lejos Allgemeine Java-Themen 8
Lukas2904 Swing Anzeigen lassen das das Programm geschlossen wurde Allgemeine Java-Themen 3
TechnikTVcode Mail Programm Allgemeine Java-Themen 2
S Programm entwickeln, welches ein Dreieckspuzzle lösen kann Allgemeine Java-Themen 5
R Lesen von Interfaces (Programm Vervollständigen) Allgemeine Java-Themen 10
Dann07 Java-Programm findet DLLs nicht! Allgemeine Java-Themen 20
OSchriever Linux-Programm öffnen Allgemeine Java-Themen 6
P USER Management in SQL übergreifend auf JAVA Programm Allgemeine Java-Themen 41
L Eclipse Konsole im exportierten Programm Allgemeine Java-Themen 2
OSchriever Programm über Linux-Kommandozeile ausführen Allgemeine Java-Themen 20
D Verkauf von einem Programm welches ich in Java geschrieben habe Allgemeine Java-Themen 4
M Programm erkennt String aus .txt Datei nicht Allgemeine Java-Themen 3
P Erstelltes Programm ist doppelt so groß Allgemeine Java-Themen 11
N Programm nach Abschluss neustarten lassen Allgemeine Java-Themen 6
S Einfaches Programm programmieren Allgemeine Java-Themen 5
M kleines KI Programm Idee Allgemeine Java-Themen 7
D Boolean von ein anderem Java Programm während der Laufzeit ändern Allgemeine Java-Themen 23
L Excel Datei löscht sich selbst im Programm - Java Allgemeine Java-Themen 3
I File ausführen und mein Programm bearbeiten lassen Allgemeine Java-Themen 11
ralfb1105 Starten Java App(s) (.jar) aus einem Java Programm Allgemeine Java-Themen 18
temi Java Programm aus einer DB laden und starten Allgemeine Java-Themen 2
N Programm startet nicht, nur per cmd Allgemeine Java-Themen 5
J Programm zum Suchen eines Wortes im Dateisystem Allgemeine Java-Themen 4
E Java Programm mit Clients erweitern - Möglichkeiten? Allgemeine Java-Themen 2
Joker4632 Methoden Befehl an bereits extern geöffnete Programm-spezifische Konsole senden Allgemeine Java-Themen 1
M Dieses Programm schneller machen? Allgemeine Java-Themen 2
R Programm zur Rekursion Allgemeine Java-Themen 5
N Quicksort Programm hängt sich auf Allgemeine Java-Themen 6
S Compiler-Fehler Programm verhält sich in Eclipse anders Allgemeine Java-Themen 1
B Input/Output Programm zum Auslesen/Beschreiben von Textdateien, wie Geschwindigkeit erhöhen? Allgemeine Java-Themen 18
dereki2000 Programm veröffentlichen Allgemeine Java-Themen 14
mrbig2017 Threads Chat Programm mit Threads? Allgemeine Java-Themen 2
M Suche aktuelle Apache Poi Bibliothek zum Einbinden in mein Programm Allgemeine Java-Themen 2
J Java "Bank Programm" Brauche eure Hilfe Allgemeine Java-Themen 3
S Java Programm (Spiel mit den Boxen) Allgemeine Java-Themen 1
kodela Programm hängt in der Ereigniswarteschlange Allgemeine Java-Themen 13
A Java Programm verbessern/vereinfachen Allgemeine Java-Themen 20
P Programm darf nicht mehrfach startbar sein Allgemeine Java-Themen 16
S Programm hängt sich manchmal (selten) auf Allgemeine Java-Themen 9
JavaNewbie2.0 Programm nicht im Taskmanager schliesen können Allgemeine Java-Themen 15
J XML Datei mit installiertem Programm öffnen Allgemeine Java-Themen 7
Arif Input/Output Dateien im Jar-Programm speichern Allgemeine Java-Themen 12
H Java FX 2 Fragen um Programm in mehrere sprachen zu übersetzen in Gluon Framwork Allgemeine Java-Themen 3
JavaNewbie2.0 Programm bleibt "stehen" Allgemeine Java-Themen 2
JavaNewbie2.0 Start eines Anderen Programm erkennen Allgemeine Java-Themen 6
E Mit Java ein Python Programm starten Allgemeine Java-Themen 20
Q-bert Daten von Java Programm speichern Allgemeine Java-Themen 4
Aruetiise Methoden .jar mit Programm öffnen Allgemeine Java-Themen 2
C anderes Programm schließen! Allgemeine Java-Themen 5
C Webseiten Programm problem Allgemeine Java-Themen 5
E Programm auf Installation prüfen Allgemeine Java-Themen 1
J Programm zum Download von CSV-Dateien Allgemeine Java-Themen 4
E Programm ohne Windowsrand(Vollbild) ? Allgemeine Java-Themen 5
G Programm, das nach abgearbeiteter main Methode weiterläuft Allgemeine Java-Themen 72
P Schnittstelle java Programm zu Webserver / Browser Allgemeine Java-Themen 2
J Schutz Programm Jar Exe Allgemeine Java-Themen 7
R javax.comm --> Programm funktioniert nach Export nicht mehr Allgemeine Java-Themen 0
Blender3D Java Swing Programm Windows 10 Autostart Problem Allgemeine Java-Themen 2
U Input/Output Warum wirft mir das Programm diesen Fehler? Allgemeine Java-Themen 6
X jvm exception abfangen und an externes Programm schicken Allgemeine Java-Themen 4
B Programm updaten mit FXLauncher Allgemeine Java-Themen 1
D Nicht quelloffenes Programm Allgemeine Java-Themen 5
F Java-Programm lizensieren Allgemeine Java-Themen 21
I Programm im Hintergrund bei Windows zur Steuerung der Tastatur nutzen Allgemeine Java-Themen 2
X Aus Programm "Installationsprogramm" machen Allgemeine Java-Themen 6
T Java Programm in Internetseite? Allgemeine Java-Themen 4
T Java Programm frisst RAM Allgemeine Java-Themen 6
H Alter Java-Programm läuft nicht mehr. Laut strace fehlt libpthread.so.0 Allgemeine Java-Themen 3
H Runtime reagiert erst wenn Programm abbricht Allgemeine Java-Themen 1
E Exceptions abfangen und dann Programm stoppen - aber wie? Allgemeine Java-Themen 2
Neumi5694 Offenes Programm nutzen Allgemeine Java-Themen 4
L Java-Programm Zahlenkombinationen ausgeben Allgemeine Java-Themen 10
KaffeeFan Methoden Suche Methode um Programm kurz warten zu lassen Allgemeine Java-Themen 22
J Programm meldet "Keine Rückmeldung" nach Verbindung zum Server Allgemeine Java-Themen 4
T Java Programm sauber beenden (Mac OS) Allgemeine Java-Themen 7
O Programm wird einfach "gekillt" Allgemeine Java-Themen 3
L TV Programm API/Web Service o.ä. Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben