SlideShare a Scribd company logo
1 of 18
Java White Paper
Le caratteristiche del linguaggio
Semplice
Java è stato progettato partendo dal C++, omettendo
le funzioni poco utilizzate o fuorvianti.
Grazie alle numerose librerie preconfezionate è possibile realizzare
applicazioni complesse con poco codice.
Integrando le funzionalità GUI e tramite la tecnologia dei componenti
JavaBean è stato possibile realizzare software di sviluppo che si
avvicinano alla semplicità di VB.
Le applicazioni sono file di dimensioni molto piccole, il che consente di
sviluppare per computer di piccole dimensioni (palmari, cellulari, ecc)
Object Oriented
Java è un linguaggio veramente O.O., molto più del C++ che consente
uno sviluppo di tipo procedurale.
Una fondamentale differenza rispetto al C++ è la mancanza
dell’ereditarietà multipla, sostituita dalle ‘interfacce’.
I linguaggi O.O. permettono allo sviluppatore di vedere il progetto più ad
alto livello, occupandosi degli oggetti, della loro interfaccia, e trascurando i
loro dettagli implementativi.
Questo ha consentito, grazie al meccanismo dell’ereditarietà, lo sviluppo di
oggetti sempre più specializzati e complessi facilmente riutilizzabili in più
progetti.
Inoltre questo meccanismo di riutilizzo del codice rende il software
prodotto meno soggetto a errori.
Distribuito
Java dispone di una libreria per gestite i protocolli TCP/IP.
Le applicazioni Java possono utilizzare oggetti attraverso una rete.
Utilizzando java è possibile creare applicazioni server side che
consentono di sviluppare servizi Web dinamici (servlet, JSP).
Infine è possibile implementare un meccanismo di chiamata di metodi
remoti consentendo di far comunicare tra loro oggetti distribuiti in una
rete.
Robusto
I programmi Java per loro natura devo essere affidabili.
In primo luogo non esiste il meccanismo dei puntatori, tipici del C: quindi è
impossibile sovrascrivere per errore zone di memoria protette.
Il compilatore Java si accorge di alcune incongruenze e le segnala
immediatamente come errore o come warning: ad esempio il classico
errore che si commette in C: if (a=1)
Java dispone anche di un meccanismo potente per intercettare gli errori a
Run-Time evitando di far abortire le applicazioni.
In java non è necessario liberare la memoria manualmente. Infatti quando
un oggetto non viene più utilizzato la memoria viene liberata
automaticamente (garbage collector)
Sicuro
Java viene utilizzato spesso in ambienti di rete, quindi la sicurezza è un
punto fondamentale. Java è stato studiato tenendone conto fortemente,
anche se come tutti i sistemi è impossibile garantire la completa immunità
agli attacchi maligni. La Sun in ogni caso coinvolge l’intera comunità nel
compito della rilevazione dei bug di sicurezza in modo da poterli
correggere.
Certamente le Applet java rispetto agli ActiveX Microsoft hanno un
meccanismo di sicurezza molto più efficiente. Ad esempio è possibile
impedire l’accesso ai file locali anche alle classi che possiedono una firma
digitale autenticata.
Indipendente dall’architettura
Il compilatore java genera un codice intermedio (bytecode) non un
eseguibile. Tale byetecode non dipendono da alcuna architettura hardware
o software.
Il bytecode dovrà essere interpretato dalla macchina virtuale java su
qualsiasi piattaforma. Questo ha come conseguenza prestazioni molto
peggiori rispetto agli eseguibili nativi, ma nella maggior parte dei casi i
tempi sono comunque accettabili.
Il bytecode invece di essere interpretato può essere anche tradotto ‘al-
volo’ in codice nativo riducendo il problema delle basse prestazioni.
Portabile
Il C e in tutti i linguaggi precedenti non si sa mai con certezza la
dimensione di una variabile, ad esempio un int può essere a 16 o a 32 bit a
seconda dell’ambiente. Con java le dimensioni sono sempre le stesse 32
bit. Lo stesso vale per le stringhe che sono salvate sempre come Unicode.
Inoltre Java risolve, o fa il meglio per risolvere, il grosso problema delle
interfacce grafiche Windows. Infatti mette a disposizione un toolkit che
consente di scrivere un applicazione utilizzabile in modo soddisfacente su
Windows, su Macintosh e su una delle tante versioni di xWindows di Unix.
Multithread
In java è possibile sfruttare la potenzialità dei sistemi operativi in grado di
eseguire le operazioni con un certo grado di parallelismo.
E’ quindi possibile spezzare un applicazioni in più thread che vengono
eseguiti parallelamente.
Il vantaggio di tale implementazione è evidente sia nella gestione
dell’interfaccia grafica, sia nell’implementazione di server.
I server spesso sono in attesa di una richiesta e avviano un processo per
ogni richiesta proveniente da un client.
I server inoltre spesso sono sistemi multiprocessore: ciò rende ancora più
evidente il vantaggio.
Alte Prestazioni
Il bytecode java viene interpretato producendo applicazioni che in termini
di prestazioni sono da giudicare mediocri. Tuttavia sono prestazioni
paragonabili a quelle di VB4 quindi nella maggior parte dei casi accettabili.
Nel caso dovessero servire applicativi molto veloci sarà necessario
procedere all’uso di compilatori just-in-time (JIT) che producono codice
nativo al-volo a partire sempre dal bytecode. In tal caso le prestazioni
migliorano di 10-20 volte rimanendo sempre inferiori a un eseguibile veroe
proprio.
Oppure sarà possibile utilizzare compilatori che generano eseguibili nativi,
perdendo però i vantaggi della portabilità.
L’ambiente di sviluppo SUN
 J2SE: Standard Edition
 J2EE: Enterprise Edition
 J2ME: Micro Edition
J2SE
Il Java Developement Kit (JDK) viene distribuito dalla SUN gratuitamente
e contiene tutti gli strumenti per sviluppare ed eseguire
un’applicazione.
Una volta installato vengono create le seguenti cartelle:
 bin: contiene il compilatore e gli strumenti
 demo: contiene alcuni esempi
 jre: contiene le librerie standard in archivi .jar
Il compilatore javac
 Installare il pacchetto.
 Modificare le variabili d'ambiente PATH e CLASSPATH
SET CLASSPATH=.;c:programmijdk114libclasses.zip;
SET PATH=%PATH%c:programmijdk114bin;
In tal modo sarà possibile avviare java da qualsiasi directory
 Il pacchetto standard JDK non contiene un Editor integrato,
si potrà tuttavia utilizzare un Editor qualsiasi.
 La compilazione avviene tramite il comando:
javac Prova.java
(la compilazione genera il file Prova.class ovvero tanti file class
quante classi contenute nel file .java)
-Il comando javac prevede diverse opzioni, non usate di
frequente, che possono essere analizzate scrivendo dal prompt:
javac senza argomenti
L’interprete java
Un’applicazione java viene lanciata con:
java Prova
(Prova è il file .class che contiene il metodo main)
In alcuni casi si hanno applicazioni costituite da più file class inpacchettate
in archivi .jar. In questi casi è possibile lanciare l’applicazione con:
java –jar Archivio.jar
L’esecuzione di un’applicazione con java avvia sempre una finestra DOS
anche si si tratta di un’applicazione windows. Se si vuole evitare l’apertura
della finestra DOS si può usare il comando
javaw (con le stesse opzioni di java)
Primo esempio
public class Hello
{
public static void main(String args[])
{
if(args.length>0)
System.out.println("Hello " + args[0] +"!");
else
System.out.println("Hello !!");
}
}
Da compilare con: javac Hello.java
Ed eseguire con: java Hello Laura
Regola dei nomi
 Le classi iniziano sempre con la lettera maiuscola
Hello
se il nome è composto da più parole si usa la seguente notazione
HelloWorld
 metodi iniziano con la lettera minuscola
main
se il nome è composto da più parole si ha:
stampaElenco
 le variabili usano la stessa notazione dei metodi
 le costanti sono tutte in maiuscolo
L’archiviatore jar
Nel pacchetto JDK è presente un tool per creare archivi:
jar cvf bundle.jar *
(aggiunge tutti i file della cartella in un file bundle.jar)
jar cvf bundle.jar audio classes images
(aggiunge tutti i file delle sottocartelle audio,classes,images in un file
bundle.jar)
jar tf bundle.jar
(mostra il contenuto di un file jar)
jar xvf bundle.jar
(estrae i file dall’archivio)
Le opzioni complete possono essere analizzate nella documentazione.
Altre utility
javadoc
Serve per creare una documentazione HTML alle nostre classi.
appletviewer
Visualizzatore di applet senza l’utilizzo di browser particolari.
rmic
Permette di generare classi utili per l’invocazione di metodi remoti

More Related Content

Similar to Java introduzione

Sviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinSviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinFabio Cozzolino
 
Introduzione al linguaggio Java
Introduzione al linguaggio JavaIntroduzione al linguaggio Java
Introduzione al linguaggio JavaPaolo Tosato
 
Summary of “The Case for Writing Network Drivers in High-Level Programming La...
Summary of “The Case for Writing Network Drivers in High-Level Programming La...Summary of “The Case for Writing Network Drivers in High-Level Programming La...
Summary of “The Case for Writing Network Drivers in High-Level Programming La...LeonardoIurada
 
Prototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step FunctionsPrototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step FunctionsCommit University
 
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...Marco Parenzan
 
Apache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationApache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationTiziano Serritella
 
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Daniele Falamesca
 
WhyMCA12 - Android Tools e la gestione di progetti complessi
WhyMCA12 - Android Tools e la gestione di progetti complessiWhyMCA12 - Android Tools e la gestione di progetti complessi
WhyMCA12 - Android Tools e la gestione di progetti complessiMarco Gasparetto
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)jampslide
 
Sviluppo Rapido Di Applicazioni Con Grails
Sviluppo Rapido Di Applicazioni Con GrailsSviluppo Rapido Di Applicazioni Con Grails
Sviluppo Rapido Di Applicazioni Con GrailsAlberto Brandolini
 
Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Gabriele Gaggi
 
Niccolò Becchi: Introduzione a GWT
Niccolò Becchi: Introduzione a GWTNiccolò Becchi: Introduzione a GWT
Niccolò Becchi: Introduzione a GWTfirenze-gtug
 

Similar to Java introduzione (20)

2-Intro-Java.pdf
2-Intro-Java.pdf2-Intro-Java.pdf
2-Intro-Java.pdf
 
Corso java
Corso javaCorso java
Corso java
 
Corso Java - Introduzione
Corso Java - IntroduzioneCorso Java - Introduzione
Corso Java - Introduzione
 
Sviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinSviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarin
 
Link. javascript ajax
  Link. javascript ajax  Link. javascript ajax
Link. javascript ajax
 
Rich Internet Application
Rich Internet ApplicationRich Internet Application
Rich Internet Application
 
Android
AndroidAndroid
Android
 
Introduzione al linguaggio Java
Introduzione al linguaggio JavaIntroduzione al linguaggio Java
Introduzione al linguaggio Java
 
Summary of “The Case for Writing Network Drivers in High-Level Programming La...
Summary of “The Case for Writing Network Drivers in High-Level Programming La...Summary of “The Case for Writing Network Drivers in High-Level Programming La...
Summary of “The Case for Writing Network Drivers in High-Level Programming La...
 
Prototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step FunctionsPrototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step Functions
 
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
 
Apache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationApache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automation
 
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
 
WhyMCA12 - Android Tools e la gestione di progetti complessi
WhyMCA12 - Android Tools e la gestione di progetti complessiWhyMCA12 - Android Tools e la gestione di progetti complessi
WhyMCA12 - Android Tools e la gestione di progetti complessi
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)
 
Sviluppo Rapido Di Applicazioni Con Grails
Sviluppo Rapido Di Applicazioni Con GrailsSviluppo Rapido Di Applicazioni Con Grails
Sviluppo Rapido Di Applicazioni Con Grails
 
Build Automation Tips
Build Automation TipsBuild Automation Tips
Build Automation Tips
 
Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5
 
Niccolò Becchi: Introduzione a GWT
Niccolò Becchi: Introduzione a GWTNiccolò Becchi: Introduzione a GWT
Niccolò Becchi: Introduzione a GWT
 
#dd12 grillo daniele_xpages_tips_tricks_rev2
#dd12 grillo daniele_xpages_tips_tricks_rev2#dd12 grillo daniele_xpages_tips_tricks_rev2
#dd12 grillo daniele_xpages_tips_tricks_rev2
 

More from Sergio Ronchi (20)

Java lezione 19
Java lezione 19Java lezione 19
Java lezione 19
 
Java lezione 18
Java lezione 18Java lezione 18
Java lezione 18
 
Java lezione 17
Java lezione 17Java lezione 17
Java lezione 17
 
Java lezione 16
Java lezione 16Java lezione 16
Java lezione 16
 
Java lezione 15
Java lezione 15Java lezione 15
Java lezione 15
 
Java lezione 14
Java lezione 14Java lezione 14
Java lezione 14
 
Java lezione 13
Java lezione 13Java lezione 13
Java lezione 13
 
Java lezione 12
Java lezione 12Java lezione 12
Java lezione 12
 
Java lezione 11
Java lezione 11Java lezione 11
Java lezione 11
 
Java lezione 10
Java lezione 10Java lezione 10
Java lezione 10
 
Java lezione 9
Java lezione 9Java lezione 9
Java lezione 9
 
Java lezione 8
Java lezione 8Java lezione 8
Java lezione 8
 
Java lezione 7
Java lezione 7Java lezione 7
Java lezione 7
 
Java lezione 6
Java lezione 6Java lezione 6
Java lezione 6
 
Java lezione 5
Java lezione 5Java lezione 5
Java lezione 5
 
Java lezione 4
Java lezione 4Java lezione 4
Java lezione 4
 
Java lezione 3
Java lezione 3Java lezione 3
Java lezione 3
 
Java lezione 2
Java lezione 2Java lezione 2
Java lezione 2
 
Java Lezione 1
Java Lezione 1Java Lezione 1
Java Lezione 1
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 

Java introduzione

  • 1. Java White Paper Le caratteristiche del linguaggio
  • 2. Semplice Java è stato progettato partendo dal C++, omettendo le funzioni poco utilizzate o fuorvianti. Grazie alle numerose librerie preconfezionate è possibile realizzare applicazioni complesse con poco codice. Integrando le funzionalità GUI e tramite la tecnologia dei componenti JavaBean è stato possibile realizzare software di sviluppo che si avvicinano alla semplicità di VB. Le applicazioni sono file di dimensioni molto piccole, il che consente di sviluppare per computer di piccole dimensioni (palmari, cellulari, ecc)
  • 3. Object Oriented Java è un linguaggio veramente O.O., molto più del C++ che consente uno sviluppo di tipo procedurale. Una fondamentale differenza rispetto al C++ è la mancanza dell’ereditarietà multipla, sostituita dalle ‘interfacce’. I linguaggi O.O. permettono allo sviluppatore di vedere il progetto più ad alto livello, occupandosi degli oggetti, della loro interfaccia, e trascurando i loro dettagli implementativi. Questo ha consentito, grazie al meccanismo dell’ereditarietà, lo sviluppo di oggetti sempre più specializzati e complessi facilmente riutilizzabili in più progetti. Inoltre questo meccanismo di riutilizzo del codice rende il software prodotto meno soggetto a errori.
  • 4. Distribuito Java dispone di una libreria per gestite i protocolli TCP/IP. Le applicazioni Java possono utilizzare oggetti attraverso una rete. Utilizzando java è possibile creare applicazioni server side che consentono di sviluppare servizi Web dinamici (servlet, JSP). Infine è possibile implementare un meccanismo di chiamata di metodi remoti consentendo di far comunicare tra loro oggetti distribuiti in una rete.
  • 5. Robusto I programmi Java per loro natura devo essere affidabili. In primo luogo non esiste il meccanismo dei puntatori, tipici del C: quindi è impossibile sovrascrivere per errore zone di memoria protette. Il compilatore Java si accorge di alcune incongruenze e le segnala immediatamente come errore o come warning: ad esempio il classico errore che si commette in C: if (a=1) Java dispone anche di un meccanismo potente per intercettare gli errori a Run-Time evitando di far abortire le applicazioni. In java non è necessario liberare la memoria manualmente. Infatti quando un oggetto non viene più utilizzato la memoria viene liberata automaticamente (garbage collector)
  • 6. Sicuro Java viene utilizzato spesso in ambienti di rete, quindi la sicurezza è un punto fondamentale. Java è stato studiato tenendone conto fortemente, anche se come tutti i sistemi è impossibile garantire la completa immunità agli attacchi maligni. La Sun in ogni caso coinvolge l’intera comunità nel compito della rilevazione dei bug di sicurezza in modo da poterli correggere. Certamente le Applet java rispetto agli ActiveX Microsoft hanno un meccanismo di sicurezza molto più efficiente. Ad esempio è possibile impedire l’accesso ai file locali anche alle classi che possiedono una firma digitale autenticata.
  • 7. Indipendente dall’architettura Il compilatore java genera un codice intermedio (bytecode) non un eseguibile. Tale byetecode non dipendono da alcuna architettura hardware o software. Il bytecode dovrà essere interpretato dalla macchina virtuale java su qualsiasi piattaforma. Questo ha come conseguenza prestazioni molto peggiori rispetto agli eseguibili nativi, ma nella maggior parte dei casi i tempi sono comunque accettabili. Il bytecode invece di essere interpretato può essere anche tradotto ‘al- volo’ in codice nativo riducendo il problema delle basse prestazioni.
  • 8. Portabile Il C e in tutti i linguaggi precedenti non si sa mai con certezza la dimensione di una variabile, ad esempio un int può essere a 16 o a 32 bit a seconda dell’ambiente. Con java le dimensioni sono sempre le stesse 32 bit. Lo stesso vale per le stringhe che sono salvate sempre come Unicode. Inoltre Java risolve, o fa il meglio per risolvere, il grosso problema delle interfacce grafiche Windows. Infatti mette a disposizione un toolkit che consente di scrivere un applicazione utilizzabile in modo soddisfacente su Windows, su Macintosh e su una delle tante versioni di xWindows di Unix.
  • 9. Multithread In java è possibile sfruttare la potenzialità dei sistemi operativi in grado di eseguire le operazioni con un certo grado di parallelismo. E’ quindi possibile spezzare un applicazioni in più thread che vengono eseguiti parallelamente. Il vantaggio di tale implementazione è evidente sia nella gestione dell’interfaccia grafica, sia nell’implementazione di server. I server spesso sono in attesa di una richiesta e avviano un processo per ogni richiesta proveniente da un client. I server inoltre spesso sono sistemi multiprocessore: ciò rende ancora più evidente il vantaggio.
  • 10. Alte Prestazioni Il bytecode java viene interpretato producendo applicazioni che in termini di prestazioni sono da giudicare mediocri. Tuttavia sono prestazioni paragonabili a quelle di VB4 quindi nella maggior parte dei casi accettabili. Nel caso dovessero servire applicativi molto veloci sarà necessario procedere all’uso di compilatori just-in-time (JIT) che producono codice nativo al-volo a partire sempre dal bytecode. In tal caso le prestazioni migliorano di 10-20 volte rimanendo sempre inferiori a un eseguibile veroe proprio. Oppure sarà possibile utilizzare compilatori che generano eseguibili nativi, perdendo però i vantaggi della portabilità.
  • 11. L’ambiente di sviluppo SUN  J2SE: Standard Edition  J2EE: Enterprise Edition  J2ME: Micro Edition
  • 12. J2SE Il Java Developement Kit (JDK) viene distribuito dalla SUN gratuitamente e contiene tutti gli strumenti per sviluppare ed eseguire un’applicazione. Una volta installato vengono create le seguenti cartelle:  bin: contiene il compilatore e gli strumenti  demo: contiene alcuni esempi  jre: contiene le librerie standard in archivi .jar
  • 13. Il compilatore javac  Installare il pacchetto.  Modificare le variabili d'ambiente PATH e CLASSPATH SET CLASSPATH=.;c:programmijdk114libclasses.zip; SET PATH=%PATH%c:programmijdk114bin; In tal modo sarà possibile avviare java da qualsiasi directory  Il pacchetto standard JDK non contiene un Editor integrato, si potrà tuttavia utilizzare un Editor qualsiasi.  La compilazione avviene tramite il comando: javac Prova.java (la compilazione genera il file Prova.class ovvero tanti file class quante classi contenute nel file .java) -Il comando javac prevede diverse opzioni, non usate di frequente, che possono essere analizzate scrivendo dal prompt: javac senza argomenti
  • 14. L’interprete java Un’applicazione java viene lanciata con: java Prova (Prova è il file .class che contiene il metodo main) In alcuni casi si hanno applicazioni costituite da più file class inpacchettate in archivi .jar. In questi casi è possibile lanciare l’applicazione con: java –jar Archivio.jar L’esecuzione di un’applicazione con java avvia sempre una finestra DOS anche si si tratta di un’applicazione windows. Se si vuole evitare l’apertura della finestra DOS si può usare il comando javaw (con le stesse opzioni di java)
  • 15. Primo esempio public class Hello { public static void main(String args[]) { if(args.length>0) System.out.println("Hello " + args[0] +"!"); else System.out.println("Hello !!"); } } Da compilare con: javac Hello.java Ed eseguire con: java Hello Laura
  • 16. Regola dei nomi  Le classi iniziano sempre con la lettera maiuscola Hello se il nome è composto da più parole si usa la seguente notazione HelloWorld  metodi iniziano con la lettera minuscola main se il nome è composto da più parole si ha: stampaElenco  le variabili usano la stessa notazione dei metodi  le costanti sono tutte in maiuscolo
  • 17. L’archiviatore jar Nel pacchetto JDK è presente un tool per creare archivi: jar cvf bundle.jar * (aggiunge tutti i file della cartella in un file bundle.jar) jar cvf bundle.jar audio classes images (aggiunge tutti i file delle sottocartelle audio,classes,images in un file bundle.jar) jar tf bundle.jar (mostra il contenuto di un file jar) jar xvf bundle.jar (estrae i file dall’archivio) Le opzioni complete possono essere analizzate nella documentazione.
  • 18. Altre utility javadoc Serve per creare una documentazione HTML alle nostre classi. appletviewer Visualizzatore di applet senza l’utilizzo di browser particolari. rmic Permette di generare classi utili per l’invocazione di metodi remoti