Newsgroup: it.comp.java
Titolo: Ditemi che non è vero

Exception in thread "main" java.lang.ClassFormatError: Lg (Code of a method
long
er than 65535 bytes)
Ho avuto questo messaggio di errore.
E' davvero cosě ? Possibile ?
Ciao ^_^

Sinceramente non mi è mai capitato di compilare classi il cui codice di 1
metodo (!) superi 64k...
Comunque mi sembra che tale limitazione non sia una novità, anche in altri
linguaggi di programmazione. Ho qualche flashback di Pascal ( se non ricordo
male, si ricorreva a tecniche di "overlay"), anche in clipper ricordo che un
programma l'avevamo dovuto ricompilare con un dos extender per fargli
accettare un .exe di qualche mega, e in assembly la dimensione massima del
codice di un .com non poteva superare i 64k.
Tu pare che hai 1 metodo che superi queste dimensioni... un metodo non
dovrebbe mai superare un certo numero di righe, se no vuol dire che
probabilmente ti stai "allargando" un po' troppo. Prova a riorganizzare il
metodo in modo un po' più logico.
Non è che hai dichiarato un array e l'hai scritto tutto nel codice? Magari
un'immagine. Se no, non mi viene in mente nessun'altro motivo per cui un
metodo dovrebbe mai arrivare a tali dimensioni. Comunque se è così prova a
spostare tali dati in un file esterno, e non nel codice.

 un'immagine.
BINGO, ho fatto quello. Ma anche spostandolo all'esterno, non va. Sempre
troppe linee di codice.
Soluzioni ?
Ciao ^_^

Perché non usi una GIF, o un JPEG? Vedrai che tutto si risolve, e i dati
dell'immagine stanno fuori dal codice.

E' un JPG. E non ci sta dentro.
Cavolo. Voglio avere assolutamente l'immagine nel codice.
E se la divido in piu' metodi ?
Ciao ^_^

 wrote in message
news:aou17q$ff7$1...@lacerta.tiscalinet.it...


Lo so che posso leggerla da file.
Ma voglio inserirla nel sorgente perchè non voglio che venga alterata o
manipolata.
Tutto qui.
Ciao ^_^

Basta che da codice calcoli un CRC e verifichi che non sia stata modificata.
Se no devi ridurre la qualità del JPEG e far ritornare la dimensione del
file nei limiti consentiti.
64K di codice per un metodo, fidati, sono fin troppi, per qualsiasi
linguaggio, non solo per java.

 manipolata.
Bah, se proprio ci tieni, scriviti una classe che mantiene spezzoni di byte 
di al massimo 64K ed espone metodi che ti permettano, da codice, di vedere 
il tutto come uno stream. Il tuo codice vedra' uno stream, ma la sorgente 
sara' in memoria. 
Fai parte dell'UCCS? :-)
-- 
Life's something u don't get out alive..
ObjectZone - 
http://space.tin.it/computer/csadun

> Fai parte dell'UCCS? :-)
Ci avevo pensato e reallizato. Funziona. Un po palloso devo ammettere.
Cumunque ...... no non faccio parte dell'UCCS.
Cosa è ?
Ciao ^_^

 Cosa è ?
Ufficio Complicazioni Cose Semplici :)


Hai ragione ... ma mi serviva questa cosilla.
Ciao ^_^

Con un metodo di 64 k .... ehm ehm ... stai sbagliando di brutto.
non e' sempre cosi'.. a me e' capitato di scrivere un JSP (che come
saprai viene visto come un metodo di una servlet creata on the fly)
con un po' di select corposi (es le nazioni del mondo) gestiti con tag
speciali e di superare i 64K! 
Ti assicuro che e' parecchio frustrante, anche perche' uso il pattern
MVC e non metto praticamente alcuna logica nella pagina.. certo si
riesce a risolvere spezzando la pagina o usando una taglibrary ecc..
ecc.. ma le bestemmie vengono emesse lo stesso ;D     
 ciao