halo!
mi chiedevo ... nella jdk dov'e' che uno puo' trovare i sorgenti delle classi che compongono l'API "nativa"? tipo che cosi uno quando non ha niente da fare va a vedersi i sorgenti?
grazie
halo!
mi chiedevo ... nella jdk dov'e' che uno puo' trovare i sorgenti delle classi che compongono l'API "nativa"? tipo che cosi uno quando non ha niente da fare va a vedersi i sorgenti?
grazie
Quando si installa il JDK, se non erro, viene proposta la possibilità di installare anche i sorgenti.
Se l'hai spuntata, nella directory dove hai installato il JDK trovi una directory "src" contenente i sorgenti.
Altrimenti puoi scaricarli direttamente dal sito della Sun. Nella pagina di download del JDK, tra le varie scelte, c'è anche quella per scaricare i sorgenti.
Ad esempio, per la JDK 6: http://java.sun.com/javase/downloads/?intcmp=1281 trovi un link, in basso, chiamato "Java SE 6 JDK Source Code".
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
No, se installato, viene messo nella 'home' del JDK un file src.zip da decomprimere dove si vuole (meglio creare una directory es. 'src' in cui poi decomprimere lo zip).Originariamente inviato da LeleFT
nella directory dove hai installato il JDK trovi una directory "src" contenente i sorgenti.
Lo zip contiene solo sorgenti .java e alcuni sorgenti .c/.h per il "launcher". Non contiene alcun tipo di batch o script di build, quindi i sorgenti sono da intendere solo come "riferimento" per il programmatore.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
E' vero... l'ultima volta che ho utilizzato quell'opzione è stato troppi anni fa e me lo sono decompresso io nella directory "src"Originariamente inviato da andbin
No, se installato, viene messo nella 'home' del JDK un file src.zip da decomprimere dove si vuole (meglio creare una directory es. 'src' in cui poi decomprimere lo zip).
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Interessante! E li trovo tutte le classi che formano l'API e che sono create usando solamente i costrutti fondamentali (atomici e non ulteriormente riducibili) del linguaggio. Confermate?
Invece da un punto di vista "terorico" possiamo affermare che l'API nativa e' un po' un framework (molto basilare) che facilita lo sviluppo senza pero' fornire o indurre nessuno stile di programmazione ben specifico (tipo pattern MVC o altro). Mi sbaglio?
Scusate la pedanteria delle domande ma sono uno che parte dalle basi ;-)
grazie per la pazienza
In che senso "solamente i costrutti fondamentali"??? Quelli sono i sorgenti .java di tutte le classi del framework, da java.applet.Applet fino a org.xml.sax.helpers.XMLReaderFactory, comprese le classi non "documentate" com.sun.blablabla....Originariamente inviato da nourdine
Interessante! E li trovo tutte le classi che formano l'API e che sono create usando solamente i costrutti fondamentali (atomici e non ulteriormente riducibili) del linguaggio. Confermate?
Le API di Java SE forniscono un framework senza il quale non potresti fare molto (ben poco ....). Se non ci fossero classi come java.io.File, che faresti??Originariamente inviato da nourdine
Invece da un punto di vista "terorico" possiamo affermare che l'API nativa e' un po' un framework (molto basilare) che facilita lo sviluppo senza pero' fornire o indurre nessuno stile di programmazione ben specifico (tipo pattern MVC o altro). Mi sbaglio?
Il framework comunque è "permeato" di design pattern. Ad esempio le classi di I/O sono ampiamente basate sul pattern "Decorator" mentre ad esempio il sistema di event-handling (listener ecc..) nelle GUI è una forma molto specializzata di pattern "Observer". Vengono anche usati pattern Singleton, Factory method e altri.
Insomma .. il design di molte parti del framework di Java SE, è basato su pattern.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Per costrutti fondamentali (atomici) intendo i cotrutti non ulteriormente riducibili. Tipo:
for, if, else, Class, new, public, static, void bla bla bla. Quella roba li insomma ;-)
Ho dato un'occhiata e in src ci sono in effetti tutte le classi definite nella documentazione. Tipo Object e' una classe scritta usando gli atomi del linguaggio java e cosi via. In effetti io pensavo che quelle classi li fossero implementate nella jre a + basso livello.
Faccio un esempio che forse non ti piacera' perche sie un porgrammatore java e a voi JavaScript stra sul caz*o. In JavaScript il cotruttore Object non e' scomponibile ulteriormente e il codice in esso contenuto non e' noto. Di questo costruttore si conosce solo l'API. Insomma e' inglobato nell'ambiente di runtime JS e lo si prende per buono. Si sa che ha dei metodi e la storia finisce li. Io (ingenuo) avevo inavvertitamente importato il concetto anche al mondo java. Mi sbagliavo. Capisci quello che volevo dire?