PDA

View Full Version : Welche JVM ist zu bevorzugen?



max40
07-10-10, 15:07
Moin,
nachdem wir V7R1 installiert haben, ist mir aufgefallen, das die bisherigen Programme kein Java-Verzeichnis mehr unter /QIBM/ProdData/Java400/ gefunden haben.

Unter V7R1 stehen sie jetzt im Verzeichnis /QOpenSys/QIBM/ProdData/JavaVM/

Dies ist auch schon unter V6R1 zu beobachten, wobei dort in beiden Verzeichnissen Java-Versionen vorhanden sind.

Im Verzeichnis /QIBM/ProdData/Java400/ erhalte ich zur Umgebungsvariable java.vm.name den Wert "Classic VM".
Unter /QOpenSys/QIBM/ProdData/JavaVM/ erhalte ich zur Umgebugnsvariable java.vm.name den Wert "IBM J9 VM"
Beides mit jdk60!

Jetzt zu meinen Fragen:

1. Warum sind da Unterschiede und welche Vor- und Nachteile ergeben sich bei den Versionen?

2. Davon ausgehend, dass die Programme alle auf Java 1.4 kompiliert wurden, in welcher Reihenfolge prüfe ich die Verzeichnisse ob sie vorhanden sind, so das ich die optimalste JVM verwende die auf dem System zur Verfügung steht?

Danke + Gruß
Max

BenderD
07-10-10, 20:31
... die IBM J9 VM (zuweilen auch als 32 Bit bezeichnet) ist meist die schnellere (der AIX), die 64 Bit Classic ist Auslaufmodell. Gesteuert wird das am einfachsten und besten über die Environment Variable JAVA_HOME. Verzeichnisse abprüfen, braucht man da nicht.

D*B


Moin,
nachdem wir V7R1 installiert haben, ist mir aufgefallen, das die bisherigen Programme kein Java-Verzeichnis mehr unter /QIBM/ProdData/Java400/ gefunden haben.

Unter V7R1 stehen sie jetzt im Verzeichnis /QOpenSys/QIBM/ProdData/JavaVM/

Dies ist auch schon unter V6R1 zu beobachten, wobei dort in beiden Verzeichnissen Java-Versionen vorhanden sind.

Im Verzeichnis /QIBM/ProdData/Java400/ erhalte ich zur Umgebungsvariable java.vm.name den Wert "Classic VM".
Unter /QOpenSys/QIBM/ProdData/JavaVM/ erhalte ich zur Umgebugnsvariable java.vm.name den Wert "IBM J9 VM"
Beides mit jdk60!

Jetzt zu meinen Fragen:

1. Warum sind da Unterschiede und welche Vor- und Nachteile ergeben sich bei den Versionen?

2. Davon ausgehend, dass die Programme alle auf Java 1.4 kompiliert wurden, in welcher Reihenfolge prüfe ich die Verzeichnisse ob sie vorhanden sind, so das ich die optimalste JVM verwende die auf dem System zur Verfügung steht?

Danke + Gruß
Max

max40
08-10-10, 07:38
Danke für die Antwort,

die Programme laufen nachher auf verschiedene Systeme, daher ist offen welche JVM installiert ist und darum soll das dann automatisch ermittelt werden so das kein händisches tun mehr nötig ist!

Gruß
Max

BenderD
08-10-10, 07:59
... das Vorhandensein eines Verzeichnisses sagt nix drüber aus, ob darin tatsächlich eine lauffähige Java Version steckt und welche!
Normalerweise versucht man eine JVM zu starten, was bei korrekter Instalölation auch immer geht und prüft dann im Java, ob die von der Version her ausreicht.

D*B


Danke für die Antwort,

die Programme laufen nachher auf verschiedene Systeme, daher ist offen welche JVM installiert ist und darum soll das dann automatisch ermittelt werden so das kein händisches tun mehr nötig ist!

Gruß
Max

max40
08-10-10, 09:32
okay.
Vielen Dank.

Gruß Max

Fuerchau
08-10-10, 10:09
Ich finde es schon seltsam, auf einem 128-Bit-System (OS/400) mit 64-Bit-CPU eine 32-Bit-JVM vorzuziehen.
Wäre da eine 64-Bit-JVM nicht wenigsten zu erwarten ?

BenderD
08-10-10, 10:23
... eine 64 Bit JVM kann nur dann Vorteile bringen, wenn man Heaps mit mehr als 4 GB Storage braucht (und die dann auf einer AS/400 auch noch mit Hauptspeicher hinterlegen kann). Bei allem anderen bringt sie Nachteile, weil die Pointer größer und die Erstellung vieler kleiner Objekte teurer wird. Auf der AS/400 (und kompatiblen Rechnern, wie i, i5 und anderen renames) kommt noch hinzu, dass die 32 Bit die Aix als Erblasser hat und deutlich ausgereifter ist.

D*B


Ich finde es schon seltsam, auf einem 128-Bit-System (OS/400) mit 64-Bit-CPU eine 32-Bit-JVM vorzuziehen.
Wäre da eine 64-Bit-JVM nicht wenigsten zu erwarten ?