Sei sulla pagina 1di 13

Java (linguaggio di programmazione) Wikipedia

it.wikipedia.org January 12, 2014

Java Logo.svg Java Autore James Gosling, Sun Mi rosystems 1!!" General purpose #rientato agli oggetti $orte

Data di origine Utilizzo Paradigmi Tipizzazione Specifiche di %&e Java Language Spe i'i ation, Java S( ) (dition linguaggio !ten!ioni comuni *av, *ava +da ,-, .//, (i''el, Generi Java, Mesa, Modula0-, #1eron, #1*e tive0., "nfluenzato da 2.S3 4as al, Smalltalk +da 200", 5eanS&ell, .6, .lo*ure, 3, (.M+S ript, Groovy, J6, JavaS ript, #a influenzato 474, 4yt&on, S ala, Seed), 8ala "mplementazione di riferimento "mplementazione interprete on J9%ter Si!tema operativo :indows, Linu;, Ma #S < $icenza G=2 General 4u1li Li ense, Java .ommunity 4ro ess Sito %e& 4er sviluppatori Java Java > un linguaggio di programma?ioneorientato agli oggetti, reato da James Gosling e altri ingegneri di Sun Mi rosystems. Java > un mar &io registrato di #ra le.@1A 2n 1uon punto di parten?a per imparare Java > il tutorial u''i iale@2A.

Java > stato reato a partire da ri er &e e''ettuate alla Stan'ord 2niversity agli ini?i degli anni =ovanta. =el 1!!2 nas e il linguaggio #ak Bin italiano CDuer iaCE, prodotto da Sun Mi rosystems e reali??ato da un gruppo di esperti sviluppatori apitanati da James Gosling.@-A %ale nome 'u su essivamente am1iato in Java a ausa di un pro1lema di opyrig&t Bil linguaggio di programma?ione #ak esisteva giFE.@4A 4er 'a ilitare il passaggio a Java ai programmatori old-fashioned, legati in parti olare a linguaggi ome il .//, la sintassi di 1ase Bstrutture di ontrollo, operatori e osG viaE > stata mantenuta presso &H identi a a Duella del .//@"A@IAJ tuttavia, non sono state introdotte aratteristi &e ritenute 'onti di una omplessitF non ne essaria a livello di linguaggio e &e 'avoris ono lKintrodu?ione di determinati 1ug durante la programma?ione, ome lKaritmeti a dei puntatori, lKereditarietF multipla delle lassi, e lKistru?ione goto.@)A 4er le aratteristi &e orientate agli oggetti del linguaggio i si > ispirati al .// e soprattutto allK#1*e tive ..@,A 9n un primo momento Sun de ise di destinare Duesto nuovo prodotto alla rea?ione di appli a?ioni omplesse per pi oli dispositivi elettroni iJ 'u solo nel 1!!- on lKesplosione di internet &e Java ini?iL a 'arsi notare ome strumento per ini?iare a programmare per internet. .ontemporaneamente =ets ape .orporation annun iL la s elta di dotare il suo allora omonimo e ele1errimo 1rowser della Java 8irtual Ma &ine BJ8ME. Muesto segna una rivolu?ione nel mondo di 9nternetN gra?ie alle applet, le pagine we1 diventarono interattive a livello lient Bovvero le appli a?ioni vengono eseguite direttamente sulla ma &ina dellKutente di internet, e non su un server remotoE. Gli utenti poterono per esempio utili??are gio &i direttamente sulle pagine we1 ed usu'ruire di &at dinami &e e interattive. Java 'u annun iato u''i ialmente il 2- maggio 1!!" a Sun:orld. 9l 1- novem1re 200I la Sun Mi rosystems &a distri1uito la sua implementa?ione del ompilatore Java e della ma &ina virtuale Bvirtual ma &ineE sotto li en?a G4L. =on tutte le piatta'orme *ava sono li1ere. LKam1iente Java li1ero si &iama 9 ed%ea.@!A LK, maggio 200) Sun &a pu11li ato an &e le li1rerie Btranne al une omponenti non di sua proprietFE sotto li en?a G4L, rendendo Java un linguaggio di programma?ione la ui implementa?ione di ri'erimento > li1era.@10A 9l linguaggio > de'inito da un do umento &iamato The Java Language Specification Bspesso a11reviato JLSE. La prima edi?ione del do umento > stata pu11li ata nel 1!!I.@11A 3a allora il

linguaggio &a su1ito numerose modi'i &e e integra?ioni, aggiunte di volta in volta nelle edi?ioni su essive. +d oggi, la versione piO re ente delle spe i'i &e > la Java SE 7 Edition BDuartaE.@11A Java venne reato per soddis'are Duattro s opiN@12A
1. essere orientato agli oggettiJ 2. essere indipendente dalla piatta'ormaJ 3.

ontenere strumenti e li1rerie per il networkingJ

4. essere progettato per eseguire odi e da sorgenti remote in modo si uro. 9 programmi s ritti in linguaggio Java, dopo una 'ase ini?iale di ompila?ione on ottenimento del osiddetto 1yte ode, sono destinati allKese u?ione sulla piatta'orma Java attraverso una 'ase di interpreta?ione Bper Duesto motivo il linguaggio Java > detto an &e semi0interpretatoE ad opera di una Java 8irtual Ma &ine e, a tempo di ese u?ione, avranno a esso alle +49 della li1reria standard. Muesti due step 'ornis ono un livello di astra?ione &e permette alle appli a?ioni di essere interamente indipendenti dal sistema &ardware su ui esse saranno eseguite. 2nKimplementa?ione della piatta'orma *ava > il Java Puntime (nvironment BJP(E, ne essario per lKese u?ione del programma ompilato, mentre per lo sviluppo dei programmi in Java a partire dal odi e sorgente > ne essario il Java 3evelopment Qit BJ3QE &e in lude an &e il JP(.

LKese u?ione di programmi s ritti in Java deve avere un omportamento simile in ontesti di ese u?ione diversi. 4er raggiungere Duesto o1iettivo, si lavora su livelli diversi, e il primo di essi > naturalmente il linguaggio, il Duale > stato progettato appositamente proprio per Duesto s opo. +d esempio, esso 'ornis e una sintassi uni'i ata per de'inire le se?ioni riti &e, ompito &e in altri linguaggi si svolge tipi amente ri orrendo a li1rerie di ter?e parti o primitive di sistema.@1-A 9noltre, prati amente non las ia spa?io ai omportamenti non de'initi Bundefined behaviorE o dipendenti dallKimplementa?ione dellKam1iente di ese u?ione. Le spe i'i &e di linguaggio ri &iedono un am1iente di ese u?ione &e vigila sullKese u?ione del programma e &e proi1is e determinate opera?ioni &e altrimenti risultere11ero insi ure. (sse 'anno ri'erimento espli ito alla Java 8irtual Ma &ine, indi andola ome il destinatario tipi o del 1yte ode prodotto dalla ompila?ione ini?iale di un programma Java, e in'atti il ompilatore javac in luso nel J3Q ompila proprio in 1yte ode. %uttavia, > possi1ile la ompila?ione verso ar &itetture diverse, e in'atti > possi1ile produrre odi e oggetto spe i'i o di un erto sistema operativo, servendosi di un ompilatore apposito, ad esempio il G=2 .ompiler .olle tion. 9n linea di prin ipio, si dovre11e essere in grado di s rivere il programma una sola volta e di 'arlo eseguire dovunDue Bdi Dui il 'amoso slogan di SunN Cwrite on e, run everyw&ereCE. La porta1ilitF > un o1iettivo te ni amente di''i ile da raggiungere, e il su esso di Java in Duesto am1ito > materia

di al une ontroversie. Se11ene sia in e''etti possi1ile s rivere in Java programmi &e si omportano in modo onsistente attraverso molte piatta'orme &ardware diverse, 1isogna tenere presente &e Duesti poi dipendono dalle ma &ine virtuali &e sono, a loro volta, programmi a sH e &e &anno inevita1ilmente i loro 1ug, diversi lKuna allKaltraN per Duesto > nata una parodia dello slogan di Sun C:rite on e, run everyw&ereC BCS rivi una volta, esegui ovunDueCE, &e > diventato C:rite on e, de1ug anyw&ereC BCS rivi una volta, correggi ovunDueCE.@14A 9l linguaggio in sH de'inis e solo una minima parte delle li1rerie utili??a1ili in om1ina?ione on il linguaggio stesso. La parte restante > de'inita dalla piatta'orma sulla Duale il programma sarF eseguito. La #ra le mette a disposi?ione tre piatta'orme u''i ialiN
In aggiunta, il programmatore pu utilizzare un numero arbitrario di librerie di terze parti.

Per approfondire, vedi Applet Java. La piatta'orma Java 'u uno dei primi sistemi a 'ornire un largo supporto per lKese u?ione del odi e da sorgenti remote. 2n Java applet > un parti olare tipo di appli a?ione &e puL essere avviata allKinterno del 1rowser dellKutente, eseguendo odi e s ari ato da un server we1 remoto. Muesto odi e viene eseguito in unKarea Bsand1o;E altamente ristretta, &e protegge lKutente dalla possi1ilitF &e il odi e sia malevolo o a11ia un omportamento non desideratoJ &i pu11li a il odi e puL appli are un erti'i ato &e usa per 'irmare digitalmente le applet di &iarandole Csi ureC, dando loro il permesso di us ire dallKarea ristretta e a edere al 'ilesystem e al network, presumi1ilmente on lKapprova?ione e sotto il ontrollo dellKutente. 9n realtF gli applet non &anno avuto molta 'ortuna. 9n'atti presuppone &e il lient in ui essi vengono eseguiti a11ia installata la JP( Bdeve eseguire il odi e dellKappletE. 7anno avuto 'ortuna le appli a?ioni &e prevedono il osiddetto t&in0 lient, io> un lient KleggeroK &e non &a 1isogno di parti olari strumenti per eseguire il odi e remoto Ba volte > ne essario solo il 1rowserE. Segue il odi e sorgente di un sempli e programma &e stampa il testo C7ello worldC sulla onsole. .ome si evin e un programma minimale in Java deve o11ligatoriamente ontenere la de'ini?ione di lasse tramite la parola &iave class seguita dal nome classe e il metodomain o metodo prin ipale non &H entry point del programma in ui vengono de'inite varia1ili glo1ali, oggetti e ri &iamati metodi stati i su varia1ili eRo dinami i sugli oggetti. =ellKesempio soprastante il main ontiene lKistru?ione per la stampa a video della stringa !ello "ord ma, pur essendo per'ettamente 'un?ionante e sempli e da omprendere, non viene s'ruttata la 'iloso'ia ad oggetti &e viene normalmente appli ata ad ogni programma s ritto in Java. Segue Duindi il odi e sorgente di un programma &e svolge lo stesso ompito del pre edente, ma usando la programma?ione orientata agli oggetti. 9l metodo main a''ida la stampa del messaggio a un oggetto reato apposta per Duesto ompito, su ui > invo ato il metodo dinami o print de'inito prima del main assieme al ostruttore della lasse ovvero Duel parti olare metodo B on ugual nome della lasseE &e serve per ini?iali??are lKattri1uto della lasse toPrint dellKoggetto reatoRistan?iato nel main. 9 metodi de'ini1ili possono essere di &iarati privati B ontrassegnati dalla parola &iave privateE se ri &iama1ili solo allKinterno della stessa lasse oppure pubblici B ontrassegnati dalla parola &iave publicE se ri &iama1ili an &e da

altre lassi, di tipo statico B ontrassegnati dalla parola &iave staticE se invo a1ili li1eramente allKinterno della lasse Bad es. su varia1ili glo1aliE, dinamici se invo a1ili su oggetti. S rivendo nuove lassi &e supportano lKopera?ione print, si puL adattare il programma per mostrare messaggi di tipi radi almente diversi, las iando il main presso &H immutato B1asta am1iare la metF riga &e segue il ne#E. 4er esempio, si puL onsiderare un messaggio la s ritta in una 'inestra &e appare sullo s &ermo del omputer in uso, oppure una stringa inviata su onnessione di rete per apparire sulla 'inestra di un omputer lient. #ppure il programma puL dialogare on lKutente sulla riga di omando o in una 'inestra B onsiderando il dialogo ome un Cmessaggio interattivoCE. Si puL modi'i are radi almente il omportamento del programma on modi'i &e ir os ritte e in punti predisposti a priori Bpolimor'ismoEN il programma puL resistere ad aggiornamenti ed esigen?e non previste. Segue il odi e sorgente di un programma &e mostra lo stesso testo allKinterno di una 'inestra. 9l odi e proposto rea degli oggetti utili??ati per gestire lKinter'a ia gra'i a. 8iene ini?ialmente reata una 'inestra il ui titolo sarF !ello "orld$J allKinterno di Duesta 'inestra viene inserita unKeti &etta &e ontiene al entro la s ritta !ello "orld$. 9n'ine viene sta1ilita la dimensione della 'inestra e, 'inalmente, viene resa visi1ile Bassieme allKeti &etta &e porta la s ritta da visuali??areE. +n &e in Duesto odi e si 'a uso della programma?ione a oggetti, ma in un modo diversoN il main non onos e i me anismi ne essari per reare una inter'a ia gra'i a sullo s &ermo, e Duesti sono de isi dalle lassi J$rame e JLa1el &e sono state predisposte a priori Bin apsulamentoE.

Java > un linguaggio type sa'e, a tipi??a?ione stati a, on un nominativetype system, e dotato di manifest t%ping. 9n virtO di Dueste aratteristi &e, viene generalmente onsiderato un linguaggio a tipi??a?ione 'orte. 9l linguaggio distingue &iaramente i tipi primitivi B &e de'inis ono valori atomi iE dai tipi strutturati B &e de'inis ono strutture dati omposteE. 9 tipi primitivi sono detti an &e tipi atomici e tipi base e sono de'initi nelle spe i'i &e di linguaggioN di ognuno sono noti lKinsieme esatto dei valori ammessi e gli operatori supportati.

9 tipi strutturati sono an &e tipi ri'erimento, io> de'inis ono oggetti, e sono lassi o inter'a e. %ra Dueste, le lassi degli array sono de'inite nelle spe i'i &e di linguaggioJ tutti gli altri tipi strutturati sono Cde'initi dallKutenteC Buser-definedE, io> dal programmatore. 9 tipi de'initi dallKutente &e sono legati al linguaggio per Dual &e motivo sono riuniti nel pa kage java.lang e nei suoi sottopa kageJ il linguaggio sta1ilis e per al uni di essi BObject, String, Iterable, e altriE delle regole sintatti &e o semanti &e aggiuntive. 9 tipi ri'erimento in ludono le lassi per la gestione delle string&e, gli array e le olle?ioni Bliste, mappe, e .E. %ipi 1ase 3a tutto iL onsegue &e i valori dei tipi 1ase non sono oggetti. %uttavia, per ogni tipo 1ase > de'inita una orrispondente lasse Bde'inita in gergo tipo #rapper o tipo contenitoreE nel pa kage java.lang, la Duale permette di in apsulare dentro un oggetto un valore di tipo primitivo. #pportuni metodi della lasse wrapper permettono di ottenere lKoggetto &e in apsula un erto valore, e il valore in apsulato da un erto oggetto. 3alla versione ".0 in poi, sono supportati lKautobo&ing e lKunbo&ing, &e permettono di onvertire da tipo primitivo a orrispondente lasse #rapper e vi eversa. 9l ompilatore, Cdietro le DuinteC, tradu e la onversione in una opportuna invo a?ione a metodo sulla lasse ontenitoreJ Duindi non si tratta di una vera onversione, ma di una sintassi omoda &e Cnas ondeC la rea?ione di un oggetto della lasse wrapper. .ome molti altri linguaggi di programma?ione an &e Java possiede tra le strutture dati gli array Bvedi array in JavaE. 8alori ostanti in Java si identi'i ano on la parola &iave pre'issaN final seguita dal nome della ostante e dal valore assegnatoN
final tipo_costante <nome_costante>=valore;

esN
final String pippo="Ciao";

Sono supportate le seguenti strutture di ontrolloN


Strutture selettiveN if ... else e switch, ome in . Strutture iterativeN


o o o while for

e o ... while ome in .

mutuato dal .

for each &e agis e su un array o olle?ione@1"A

La gestione delle e e?ioni in Java viene gestita dalla sintassi tr! ... catch ... finall! simile a Duella del .//.

+l di lF dei ostrutti per la programma?ione ad oggetti il resto della sintassi di Java > detta li'e (, io> derivata o simile a Duella del linguaggio ..

Java > un linguaggio ob)ect-oriented. LKidea &e sta alla 1ase della ##4 > di rappresentare le entitF reali o astratte, &e determinano le dinami &e del pro1lema risolto dal so'tware, sotto 'orma di entitF unitarie, dotate di spe i'i &e dKuso e di 'un?ionamento de'inite a priori, e &iamate oggetti. Le spe i'i &e &e de'inis ono le aratteristi &e di Dueste unitF Be in 1ase alla Duale le stesse vengono reate o, in gergo, istan*iateE sono &iamate lassi. Java tuttavia non > un linguaggio ad oggetti puro, ma solamente ob)ect oriented Borientato agli oggettiE Bad esempio, i valori dei tipi primitivi non sono oggettiE. =el linguaggio Java, gli oggetti sono dotati di ampi Bde'initi an &e attributi o variabili di istan*a o di esemplareE e di metodi. 9 metodi sono a1itualmente usati per implementare agevolmente molti altri ostrutti &e al uni altri linguaggi 'ornis ono nativamente, ome la gestione degli eventi Bimplementata attraverso i listenersE o delle proprietF Bimplementata tramite gli a essor met&ods e, piO in generale, on oggetti Java5eansE. 9n Java non esistono le 'un?ioniN i 1lo &i di odi e &e Cnon appartengono a nessun oggettoC sono implementati ome metodi statici di una erta lasse BDuindi sempre metodiE. 9n Java si pone un 'orte a ento sulla distin?ione tra interfaccia e implementa*ione di una lasse o oggettoN la prima > lKinsieme delle spe i'i &e pu11li &e di ui gli utili??atori di un erto oggetto possono servirsi, mentre la se onda > lKinsieme delle strutture interne e delle istru?ioni esegui1ili &e, nel omplesso, adempiono a tali spe i'i &e. 9l termine interfaccia > usato an &e in unKaltra a e?ione, spiegata nel seguito.

S supportata lKereditariet+ tra tipi. Muesto permette di sta1ilire la gerarchia delle lassi &e ompongono un programma. 9l linguaggio impone &e a apo della gerar &ia i sia la nota lasse java.lang.Object.@1IA 9n Java non esiste ereditarietF multipla tra lassi.@1)A 3a un lato, Duesto vin olo permette di avere una gerar &ia di lassi lineare e previene gli svantaggi introdotti dallKereditarietF multipla. 3allKaltro, esso viene agevolmente superato 'a endo ri orso alle interfacce, ovvero a tipi analog&i alle lassi, ma progettati apposta per essere estesi e soggetti a determinate restri?ioni imposte dal linguaggio. @1,A@1!A 3i onseguen?a esse 'ornis ono al uni vantaggi dellKereditarietF multipla B ome la possi1ilitF &e uno stesso oggetto appartenga a tipi diversi tra loroE sen?a gli svantaggi B ome lKam1iguitF introdotta dal 'atto &e una lasse possa ereditare implementa?ioni diverse di uno stesso metodoE. 3opo lKavvento di Java, lKereditarietF singola si > gradualmente a''ermata ome modello standard di ereditarietF nelle te nologie o1*e t0oriented, ed > stata a11ra iata, per esempio, an &e dai linguaggi del 'ramework .=(%Mi roso't.

Le spe i'i &e di linguaggio non impongono una determinata sintassi per la do umenta?ione dei sorgenti, tuttavia nel tempo si > imposto ome 'ormato standard Duello ri onos iuto dal tool Javado e regolato da spe i'i &e u''i iali 1en de'inite Bseppure esterne al linguaggioE@20A. Muesto standard prevede &e la do umenta?ione sia 'ornita allKinterno di ommenti inseriti direttamente nei sorgenti e dotati di una spe iale 'ormatta?ione, &e viene ignorata dal ompilatore, ma ri onos iuta da tool spe iali??ati. .iL rende 'a ile aggiornare la do umenta?ione, in Duanto essa a ompagna direttamente lKelemento sintatti o da essa mar atoJ inoltre, durante la lettura dei sorgenti di un programma, iL permette di avere sottKo &io insieme le spe i'i &e e lKimplementa?ione dellKelemento di programma preso in onsidera?ione. 2n altro strumento utili??a1ile per la do umenta?ione sono le annota?ioni, introdotte nella ter?a versione delle spe i'i &e di linguaggio@21A. 4ur avendo una sintassi 'ormalmente di''erente dai ommenti Javado , esse sono usate per lo stesso s opo, io> 'ornire metadati &e des rivono le entitF di programma mar ate. %uttavia, mentre i ommenti riportano le spe i'i &e in maniera dis orsiva Bseppure strutturataE, le annota?ioni per loro stessa natura sono ideali per lKela1ora?ione tramite i tool, piO &e per la lettura da parte di esseri umani. 9noltre, sotto opportune ondi?ioni@22A, le in'orma?ioni &e 'ornis ono sono ompilate insieme al odi e e possono essere lette per'ino a tempo di ese u?ione, osa &e i ommenti non possono 'are.

J3Q 1.0 BnoneE 2- gennaio 1!!I J3Q 1.1 BnoneE 1! 'e11raio 1!!)
o o o o o

J3Q 1.1.4 BSparklerE 12 settem1re 1!!) J3Q 1.1." B4umpkinE - di em1re 1!!) J3Q 1.1.I B+1igailE 24 aprile 1!!, J3Q 1.1.) B5rutusE 2, settem1re 1!!, J3Q 1.1., B.&elseaE , aprile 1!!!

J2S( 1.2 B4laygroundE 4 di em1re 1!!!


o o

J2S( 1.2.1 BnoneE -0 mar?o 1!!! J2S( 1.2.2 B.ri ketE , luglio 1!!!

J2S( 1.- BQestrelE , maggio 2000


o

J2S( 1.-.1 BLady1irdE 1) maggio 2001

J2S( 1.4.0 BMerlinE 1- 'e11raio 2002


o o

J2S( 1.4.1 B7opperE 1I settem1re 2002 J2S( 1.4.2 BMantisE 2I giugno 200-

J2S( ".0 B1.".0E B%igerE 2! settem1re 2004 Java S( I B1.I.0E BMustangE 11 di em1re 200I Java S( ) B1.).0E B3olp&inE 2, luglio 2011 Java S( , B1.,.0E prossima ma*or release

Java 'u ini?ialmente distri1uito ome Java 3evelopment Qit 1.0 BJ3Q 1.0E. Muesto omprende il runtime Java Bla virtual ma &ine e le li1rerie di lassiE, e gli strumenti di sviluppo Bil ompilatore Java e altri strumentiE. Su essivamente, Sun 'ornG un pa &etto &e omprendeva solo il runtime, &iamato Java Puntime (nvironment BJP(E. =ormalmente le persone si ri'eris ono ad una parti olare versione di Java attraverso la versione del J3Q Bes. J3Q 1.4E Le versioni J3Q 1.2 e su essive sono spesso &iamate Java 2. 4er esempio, il nome u''i iale del J3Q 1.4 > Java B%ME 2 4lat'orm, Standard (dition 1.4. 9l linguaggio > rimasto sta1ile dal J3Q 1.0 al J3Q 1.4.;, on la J2S( ".0 sono state introdotte nuove 'un?ionalitF nel linguaggio. La li1reria di lassi &e viene 'ornita on J3Q > stata progressivamente ampliata e modi'i ata in al une parti. 8ersioni delle spe i'i &e di linguaggio 9 am1iamenti nel linguaggio sono 'ormali??ati nelle spe i'i &e di linguaggio. #gni nuova edi?ione delle spe i'i &e integra i am1iamenti ri &iesti 'ino a Duel momento tramite le Java Spe i'i ation PeDuest e onseguentemente implementati nel ompilatore javac.

%&e Java 4rogramming Language, $irst (dition %&e Java 4rogramming Language, Se ond (dition %&e Java 4rogramming Language, %&ird (dition %&e Java 4rogramming Language, Java S( ) (dition

4er sviluppare programmi in Java > teori amente su''i iente un Dualsiasi editor di testoJ in prati a, se si vuole s rivere Dual osa di piO del lassi o hello #orld, o orre un am1iente di sviluppo integrato B93(E. (sistono diversi 93( B,ntegrated -evelopment Environment, am1iente di sviluppo integratoE, al uni gratuiti ed altri a pagamento. La Sun Bora #ra leE mette a disposi?ione un so'tware development kit spe i'i o, &iamato Java -evelopment .it Bo J-.E. (sso in lude un erto numero di tool di uso omune, 'ra ui javac, *avado , jar, e altri, atti ad ela1orare B ompilareE i 'ile sorgenti eRo giF ompilati, in ludendo dunDue il Java Puntime (nvironment BJP(E. (ssi lavorano sul odi e giF s ritto e salvato sul sistemaN nessuno di essi 'ornis e un am1iente visivo di s rittura on Duelle aratteristi &e &e tornano utili nella reali??a?ione di programmi omplessi ome lKeviden?ia?ione della sintassi tramite olori diversi, lKauto ompletamento, o la possi1ilitF di navigare tra i sorgenti tramite il li k del mouse. La Sun stessa &a promosso lo sviluppo di un am1iente di sviluppo gratuito e open sour e &iamato =et5eans. 4uL essere s ari ato da solo@2-A, oppure B'a oltativamenteE insieme on Sun Java Studio o on il J3Q@24A.

2n 93( open0sour e largamente utili??ato > ( lipse, donato alla omunitF di sviluppatori da 95M e il ui sviluppo > seguito da una enorme omunitF di utenti. 2no degli 93( ommer iali piO di''usi > J5uilder prodotto dalla 5orland. $ra gli 93( Duello piO premiato@sen?a 'onteA > 9ntelliJ 93(+, vin itore, 'ra lKaltro, del premio 5est Java 93( 200" on'erito da J-J /eaders (hoice A#ard.

2n am1iente di sviluppo per Java gratuito, e soprattutto leggero, > 5lueJ, di &iara imposta?ione didatti a. 2n altro 93( per Java > J.reator, i ui pregi sono soprattutto la sempli itF dellKinter'a ia e la leggere??a.

Sem1ra &e il nome #ak derivi dal 'atto &e Gosling e i suoi olleg&i, nel periodo in ui svilupparono il linguaggio, avessero avuto ome uni a ompagnia Duella di una Duer ia &e si trovava proprio 'uori la 'inestra dellKu''i io in ui lavoravano. 2na leggenda metropolitana 0mai on'ermata0 vuole &e il nome del linguaggio sia stato inteso, in un se ondo momento e dagli stessi reatori, ome a ronimo per CJust Another 0acuum Acron%mC BCSoltanto un altro vuoto AcronimoCE, on ri'erimento ironi o allKaltissimo numero di a11revia?ioni utili??ate in am1iente in'ormati o. 3ato &e gli ideatori del linguaggio si trovavano spesso ad un a''> presso il Duale dis utevano del progetto, sem1rere11e &e il linguaggio prese il nome e il sim1olo da tale a1itudine BJava > una DualitF di a''> dellKomonima isola dellK9ndonesiaE, tanto &e il magi num1er &e identi'i a un 'ile di 1yte ode ottenuto dalla ompila?ione di un 'ile Java > "#C$%&'$'&, &e in inglese signi'i a raga??a B1a1eE del a''> B a'eE@2"A. 9l progetto Po1o ode &a ome s opo lKinsegnamento del linguaggio Java 'a endo divertire, attraverso la s rittura del odi e di ro1ot, identi i tra loro ma programmati diversamente, da 'ar s ontrare in unKarena virtuale. $onti usate per la stesura della vo e Se?ione CStoriaCN Java 1 2icro Edition basics 3P-45. 6/L consultato il 7 maggio 1899. The Java Language Specification, Java SE 7 Edition Bvedi sottoE Spe i'i &e di linguaggio Le diverse edi?ioni delle spe i'i &e sono a essi1ili sul sito della #ra le. LKultima edi?ione > la seguenteN %esti di appro'ondimento 3E:5 .en Arnold, James ;osling, -avid !olmes, The Java Programming Language, 4ourth Edition, Addison-"esle% Professional, 1887. ,S<: 8-=19-=>?@8-A.

:iki1ooks ontiene testi o manuali su Java .ommons ontiene immagini o altri 'ile su Java

4ortale 9n'ormati aN a edi alle vo i di :ikipedia &e trattano di in'ormati a it.wikipedia.org January 12, 2014

JA'A e ((P
sop&ia.org $inguaggio di programmazione orientato agli oggetti - JA'A$ )"(* J+8+ e ##4 APP+(,(*D"- *T" +ppro'ondimenti su appli a?ioni telemati &e in J+8+ B4#L95+E ' +",".A (ser ita?ione sop&ia.org

Java S - Do%nload! / (racle Technolog0 *et%ork / (racle


oracle.com

Java SE Downloads

Java SE 7u45 !is release includes important securit" #i$es. %racle strongl" recommends t!at all Java SE & users upgrade to t!is release. 'earn more Which Java package do I need?

JDK: (Java Development )it*. +or Java Developers. Includes a complete J,E plus tools #or developing, debugging, and monitoring Java applications. Server JRE: (Server Java ,untime Environment* +or deplo"ing Java applications on servers. Includes tools #or J-. monitoring and tools commonl" re/uired #or server applications, but does not include browser integration (t!e Java plug0in*, auto0update, nor an installer. 'earn more JRE: (Java ,untime Environment*. 1overs most end0users needs. 1ontains ever"t!ing re/uired to run Java applications on "our s"stem. JDK Server JRE JRE

Download JD)

Download JD)

Download JD)

JDK 7 Docs

Server JRE 7 Docs

JRE 7 Docs Demos and Samples

JDK 7 and JavaFX Demos and Samples Demos and samples o# common tas2s and new #unctionalit" available on JD) &. !e source code provided wit! samples and demos #or t!e JD) is meant to illustrate t!e usage o# a given #eature or tec!ni/ue and !as been deliberatel" simpli#ied.

Download JD) oracle.com

Potrebbero piacerti anche