Programmazione in Java Obiettivi : Conoscere le caratteristiche del linguaggio Java Bytecode e Java Virtual Machine Sun Java Development Kit Classpath Package File Jar API di Java
Caratteristiche di Java Java e’ un linguaggio di programmazione orientato agli oggetti (Un linguaggio orientato agli oggetti si dice puro se utilizza solo classi) Java, come C++, utilizza sia classi che tipi di dati quindi non e’ puro Java puo’ essere usato per creare APPLICAZIONI (da eseguire dalla linea di comando o dall’interfaccia grafica del S.O.) APPLET (da eseguire nelle pagine WEB con il supporto di un browser).
Bytecode e JVM Un programma in java e’ un file di testo con estensione .java La compilazione produce uno o piu’ file in BYTECODE con estensione .class Il BYTECODE non e’ un linguaggio macchina per processore, per essere eseguito deve essere interpretato dalla Java Virtual Machine. Poiche’ per ogni Sistema e’ stata realizzata una JVM un programma java puo’ essere eseguito senza alcuna modifica su varie piattaforme (portabilita’)
Principali vantaggi di Java Portabilita’ Facililita’ di documentazione (javadoc) Affidabilita’ (regole rigide sui tipi di dati) Semplicita’ (gestione automatica della memoria dinamica) Sicurezza ( puntatori non visibili al programmatore, ambiente runtime isolato, gestione delle eccezioni) Multithreading
Strumenti di sviluppo E’ possibile sviluppare applicazioni in Java utilizzando vari strumenti: Sun Java Development Kit che comprende una serie di strumenti a linea di comando per compilare ed eseguire le applicazioni. Sun One Studio con ambiente di sviluppo integrato e interfaccia grafica(IDE) Eclipse Un qualsiasi editor ed il compilatore javac
SJDK L’SJDK e’ scaricabile gratuitamente dal sito della SUN e dopo l’installazione richiede che venga configurata la variabile d’ambiente PATH con il percorso della cartella drive:\cartellainstallazione\bin Per compilare basta scrivere: javac NomeFile.java Il compilatore segnala eventuali errori di sintassi indicando la riga ed il tipo di errore
CLASSPATH Se appare un errore del tipo : Exception in thread “main” java.lang.NoClassDefFoundError:NomeClasse Vuol dire che la variabile d’ambiente CLASSPATH non e’ stata configurata o non e’ stata configurata correttamente. Per impostare classpath ad ogni avvio utilizzare set CLASSPATH =.;c:\esempijava (. Indica la cartella corrente) oppure inserire classpath tra le variabili d’ambiente di Windows in modo definitivo
Package Se l’applicazione e’ formata da piu’ classi e’ conveniente inserire tutte le classi in un package (corrisponde ad una cartella di Windows) I package possono essere inseriti in modo gerarchico, quindi un package puo’ contenere altri package (sottocartelle) con notazione puntata, frutta.arancia e frutta.pera indicano che nel package frutta ci sono i package arancia e pera. Per compilare nel classpath deve essere indicata la cartella radice del package.
File Jar Un file jar permette di contenere piu’ classi o piu’ applet Il comando jar dell’SJDK permette di creare file .jar Sintassi jar [opzioni] archivio.jar filedainserire Esempi jar cf prova.jar *.class Crea l’archivio prova.jar (opzione cf) inserendo tutti i file .class della cartella corrente jar tf prova.jar Visualizza il contenuto dell’archivio prova.jar (opzione tf) jar xf prova.jar Estrae tutti i file dell’archivio prova.jar(opzione xf)
API di Java L’API di Java e’ l’insieme delle classi predefinite che costituiscono la base per lo sviluppo di programmi. Le classi sono raccolte in package : java.applet per la creazione di applet java.awt per la creazione di interfacce grafiche java.beans per lo sviluppo di applicazioni a finestre java.io per la gestione dell’input e l’output e dei file java.lang fondamentali del linguaggio (inclusa autom.) java.math per le operazioni aritmetiche java.net per creare applicazioni di rete java.rmi per applicazioni distribuite java.sql per la gestione dei database java.util utilita’ varie