Visualizzazione dei risultati da 1 a 7 su 7

Discussione: sorgenti API?

  1. #1
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130

    sorgenti API?

    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

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    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

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da LeleFT
    nella directory dove hai installato il JDK trovi una directory "src" contenente i sorgenti.
    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).

    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.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    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).
    E' vero... l'ultima volta che ho utilizzato quell'opzione è stato troppi anni fa e me lo sono decompresso io nella directory "src"


    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

  5. #5
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    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

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    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?
    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
    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?
    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??

    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.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    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?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.