Wie gross darf eine java klasse maximal sein 64k?

hallo,
ich habe den eindruck, dass klassen, die grösser als 64 kb nicht richtig funktionieren.
ich bekomme fehlermeldungen, die ich nicht nachvollziehen kann.
gibt es eine einschränkung fuer die grösse der java klasse
weiss jemand darüber bescheid ?

danke im voraus
youssef

Moien

ich habe den eindruck, dass klassen, die grösser als 64 kb
nicht richtig funktionieren.

*Beunruhigt schnell eine 2500KB .class-Datei testen… geht*

ich bekomme fehlermeldungen, die ich nicht nachvollziehen
kann.

Welche ?

gibt es eine einschränkung fuer die grösse der java klasse

Bei der normalen JVM von sun gibt’s schon eine Grenze, aber das war was mit XY GB…

Um welche JVM geht’s ?

cu

Hallo,

dann musst Du beim Kompilieren eine -X Option verwenden und den Speicher vergrößern.

javac -?

Gruß

Peter

Hallo
ich verwende die neue version von java 1.5.0_05. ein kollege von mir hat gemeint dass der compiler diese klassen, die grösser als 64 kb zwar kompiliert aber darauf falsch zugreift. das habe ich auch nicht geglaubt. die fehler habe ich gefunden und hat mit der grösse der klasse datei nichts zu tun. wenn man manchmal bezeifelt ist wie ich jetzt bin glaubt man alles .
jetzt läuft es wieder einwandfrei obwohl die klasse 66 kb> 64kb gross ist.

youssef

Was der Kollege wohl meinte:

Es gibt eine Beschränkung der Methodengröße in Bytecode, die 64kb beträgt. Das kann z.b. bei großen JSPs passieren die vom JSPCompiler in eine einzige Service-Methode kompiliert werden.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

zuerst danke an alle für euere antworten.

Was der Kollege wohl meinte:

Es gibt eine Beschränkung der Methodengröße in Bytecode, die
64kb beträgt. Das kann z.b. bei großen JSPs passieren die vom
JSPCompiler in eine einzige Service-Methode kompiliert werden.

das meinte er vielleicht. wo finde ich mehr informationen darüber im netz … ?

youssef

Ggf. hilfreicher Link
Hallo,

hier ein hilfreicher Link, der die Grenzen von Java etwas näher erläutert (ohne Garantie, dass dies auch noch in Java 5 alles so ist!):

http://www.javaspecialists.co.za/archive/Issue059.html

Dies hat mir weitergeholfen, als ich eine extrem schwer zu findende Exception mit der Message „Illegal constant pool type“ bekommen hatte.
Es lag daran, dass in meinen generierten Klassen Strings mit mehr als 65535 Zeichen erzeugt wurden. Darauf muss man dann aber auch erst kommen…

Ciao, Bill