Warum startet meine Anwendung in mehr als 2 Minuten?

8

Ich habe eine grafische Java-Anwendung mit Swing auf meinem Windows 7 64-Bit-Computer ausgeführt.

Meine Anwendung ist eine ausführbare JAR-Datei, die ich über die Eingabeaufforderung mit dem folgenden Befehl starte:

%Vor%

Mein Problem ist, dass ich bei der Verwendung von JRE8 32Bits große Leistungsprobleme bekomme, während ich JRE7 32Bits oder JRE8 64Bits nicht verwende.
Beachten Sie, dass die Anwendung mit derselben JAR-Datei ausgeführt wird. Der einzige Unterschied ist, dass es von verschiedenen JREs ausgeführt wird.

Ich habe versucht, verschiedene JRE8-Version und die Probleme bestehen weiterhin ...

Wenn ich beide Ausgaben bei Verwendung des "-verbose" -Arguments vergleiche, sehe ich, dass ich mehr als 1500 Ausgaben mit dem Text '[Loaded xxxxxx from shared objects file]' für das JRE7 bekomme, während ich keines für JRE8 bekomme br> Vielleicht ist es irgendwie verknüpft?

Hat jemand eine Idee, was das Problem sein könnte?

Hier sind einige Ausgaben von JRE7

%Vor%

Hier sind einige JRE8-Ausgaben

%Vor%

Ich habe einen Xshare: -Dump für JRE7 und JRE8 ausgeführt und ich habe folgende Ergebnisse erhalten:

JRE7:

%Vor%

JRE8:

%Vor%     
Jsncrdnl 21.04.2015, 14:03
quelle

2 Antworten

2

Vielleicht das Shared Class Data Archiv von Ihre Installation fehlt oder ist beschädigt.

Sie können versuchen, wie in der Dokumentation unter vorgeschlagen "Regenerieren des freigegebenen Archivs"

  

Um das Archiv neu zu erstellen, melden Sie sich als Administrator an. Melden Sie sich in vernetzten Situationen bei einer Maschine mit der gleichen Architektur wie die Java SE-Installation an und stellen Sie sicher, dass Sie über die Berechtigung verfügen, in das Installationsverzeichnis zu schreiben. Dann führe den Befehl

aus      

java -Xshare:dump Diagnoseinformationen werden gedruckt, wenn das Archiv erstellt wird.

Beachten Sie, dass Sie die Verwendung der freigegebenen Daten erzwingen können, um eine Fehlermeldung (statt einer Verlangsamung) zu erhalten, wenn sie fehlschlägt, wie auf derselben Seite beschrieben:

  

Manuelles Steuern der Klassen-Datenfreigabe

     

Die Funktion zur gemeinsamen Nutzung von Klassendaten wird automatisch aktiviert, wenn die Bedingungen es erlauben. Die folgenden Befehlszeilenoptionen sind hauptsächlich für Diagnose- und Debugzwecke verfügbar und können in zukünftigen Versionen geändert oder entfernt werden.

     
-Xshare:off
Deaktivieren Sie die gemeinsame Nutzung von Klassen.
  
-Xshare:on
  
Erfordert, dass die gemeinsame Datenfreigabe aktiviert wird. Wenn es aus verschiedenen Gründen nicht aktiviert werden konnte, eine Fehlermeldung ausgeben und beenden.
  
-Xshare:auto
Der Standard; Aktivieren Sie die gemeinsame Nutzung von Klassendaten, wann immer dies möglich ist.
  
    
Holger 21.04.2015 15:01
quelle
0

Nicht sicher, ob dies die Antwort ist, die Sie suchen, ich hatte dieses Problem auf einem Windows 2012-Server. Die einzige Lösung für mich war, Java deinstallieren und dann neu installieren.

    
Wize 20.04.2016 09:58
quelle

Tags und Links