G
Ga345613477
Gast
Ich vermute mal stark, daß die Breite der Adressen davon abhängt, für welche CPU die JVM compiliert wurde.
Also für einen 32 Bit Rechner 32 Bit breit und für einen 64 Bit Rechner 64 Bit breit und falls im Falle des x86 PCs die JVM für einen 32 Bit Rechner compiliert wurde, aber auf einem 64 Bit Rechner unter einem 64 Bit Betriebssystem ausgeführt wird, dürften die Adressen auch nur 32 Bit Breit sein, da dies durch das 32 Bit Compilat der JVM vorgegeben ist.
Allerdings könnte es auch ganz anders sein.
Wie jeder weiß, besteht Java Code aus Java Bytecode und eine JVM ist nichts anderes als eine Maschine in Software für die der Java Bytecode compiliert wurde. Und gerade der Java Bytecode ist es, der mich obige Lösung mit skepsis betrachten läßt, denn der muß auf jeder Maschine gleich laufen, sowohl auf 32 Bit als auch 64 Bit Maschinen und wenn Adressen im Bytecode gespeichert werden, dann wird klar, wo das Problem ist.
Dementsprechend könnte diese virtuelle Maschine auch eine 64 Bit Maschine sein, auch dann, wenn die JVM auf einer 32 Bit Maschine ausgeführt wird. Dementsprechend könnten also die Adressen im Java Bytecode trotzdem 64 Bit breit sein, weil die virtuelle Maschine eine 64 Bit breite Software CPU wäre.
Und so abwegig ist das nicht, denn Java wurde bei seiner Entstehungsphase auch schon früher für echte 64 Bit Maschinen ausgelegt, denn die CPUs für Sun Workstations & Co waren im Gegensatz zum Intel PC bzw. AMD64 schon damals 64 Bit fähig.
Daher suche ich nun nach der Antwort, was nun von den zwei genannten Möglichkeiten die richtige Lösung ist.
Also für einen 32 Bit Rechner 32 Bit breit und für einen 64 Bit Rechner 64 Bit breit und falls im Falle des x86 PCs die JVM für einen 32 Bit Rechner compiliert wurde, aber auf einem 64 Bit Rechner unter einem 64 Bit Betriebssystem ausgeführt wird, dürften die Adressen auch nur 32 Bit Breit sein, da dies durch das 32 Bit Compilat der JVM vorgegeben ist.
Allerdings könnte es auch ganz anders sein.
Wie jeder weiß, besteht Java Code aus Java Bytecode und eine JVM ist nichts anderes als eine Maschine in Software für die der Java Bytecode compiliert wurde. Und gerade der Java Bytecode ist es, der mich obige Lösung mit skepsis betrachten läßt, denn der muß auf jeder Maschine gleich laufen, sowohl auf 32 Bit als auch 64 Bit Maschinen und wenn Adressen im Bytecode gespeichert werden, dann wird klar, wo das Problem ist.
Dementsprechend könnte diese virtuelle Maschine auch eine 64 Bit Maschine sein, auch dann, wenn die JVM auf einer 32 Bit Maschine ausgeführt wird. Dementsprechend könnten also die Adressen im Java Bytecode trotzdem 64 Bit breit sein, weil die virtuelle Maschine eine 64 Bit breite Software CPU wäre.
Und so abwegig ist das nicht, denn Java wurde bei seiner Entstehungsphase auch schon früher für echte 64 Bit Maschinen ausgelegt, denn die CPUs für Sun Workstations & Co waren im Gegensatz zum Intel PC bzw. AMD64 schon damals 64 Bit fähig.
Daher suche ich nun nach der Antwort, was nun von den zwei genannten Möglichkeiten die richtige Lösung ist.