|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Mar 2001
Città: Padova/Vicenza
Messaggi: 138
|
Java: Class e dintorni
Salve a tutti,
la questione che vorrei poter risolvere riguarda la "reflection" di Java. So' che e' possibile con tale tecnica ricavare informazioni sullo stato di una classe venendo a sapere quali campi dichiara e quali attributi e costruttori possiede, ma il tutto si "ferma" li, nel senso che io vorrei anche sapere cosa "c'e' dentro ai metodi" (cioe' come sono stati implementati) ed a quanto mi par d'aver capito non e' possibile. Mi sbaglio? C'e' qualche modo alternativo di "perlustrare" una classe fin dentro ai suoi metodi? (anche solo per sapere quali campi/oggetti sono utilizzati...) Grazie. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Decompilandola... Fai una ricerca...di recente è stato postato un programma che decompila un file .class...
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
se inizi a rispondere pure ai thread su java qui rimane poco da fare |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Va bene non lo farò più
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Mar 2001
Città: Padova/Vicenza
Messaggi: 138
|
ehm... io vorrei che il tutto avvenisse run-time, cioe'
poter "indagare" su come son fatti dentro i metodi mentre il mio programma gira. Comunque, a dirla tutta, la mia vera necessita' sarebbe: come faccio a sapere quali ".class" ha bisogno un dato ".class" per funzionare? (non so se mi son spiegato...) Grazie. |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
si ti sei spiegato ma continuo a non capire la necessità. se nel codice hai paura di istanziare una classe che non e' in classpath (e cio' e' possibile solo se lo fai dinamicamente con la reflection, altrimenti il tuo codice non compilerebbe nemmeno) metti l'istanizazione in un cpostrutto try/catch che catturi una ClassNotFoundException, e nel catch gestisci il problema. |
|
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Mar 2001
Città: Padova/Vicenza
Messaggi: 138
|
In pratica poi nel "catch" come dovrei fare a gestire la cosa?
Avevo pensato di scrivere un ClassLoader personalizzato che si procura il ".class" da dove e' arrivato l'oggetto che ne ha bisogno, ma prima voleva sapere se nn c'era un modo di spedire tutti i ".class" a destinazione prima di spedire l'istanza dell'oggetto (e' vero che comunque dovrei caricare i ".class" che mi arrivano, prima dell'arrivo della istanza, con il ClassLoader...). Tutto questo riguarda un'applicazione che spedirebbe, ad un servizio web gestito da ApacheSoap e Tomcat, un oggetto che e' l'estensione di quello che il servizio accetterebbe (ho scritto un (de)serializzatore custom) per cui a livello di unmarshaling dovrei istanziare una classe di cui non ho i ".class" e che quindi o se li procura con un ClassLoader custom, o li ha gia' da qualke parte xke' glieli ha spediti prima il client. Ecco, problema non da niente... spero sia chiaro. Grazie. |
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Mar 2001
Città: Padova/Vicenza
Messaggi: 138
|
Mi accontenterei anke solo di una conferma (o smentita)
al fatto che ci sia un modo di sapere quali ".class" necessita un dato ".class"... grazie |
|
|
|
|
|
#9 |
|
Member
Iscritto dal: Mar 2001
Città: Padova/Vicenza
Messaggi: 138
|
Nel caso a qualcun altro potesse esser utile: la questione che ho
tirato in ballo non e' risolvibile, ho spulciato un po' dappertutto e non si puo' indagare su come siano fatti i metodi con la reflection. Ciao a tutti. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:51.



















