





































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Java è un linguaggio di programmazione a oggetti di grande diffusione e versatilità, sviluppato da Oracle nel 1995. Consente di realizzare interfacce grafiche e applicazioni multimediali per i browser web, supportato da tutte le piattaforme grazie alla presenza della Java Virtual Machine. In questo documento viene descritta la natura, le caratteristiche e i vantaggi di Java, oltre alla programmazione a oggetti e la sua fase di sviluppo.
Tipologia: Slide
1 / 45
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!






































Java è un linguaggio di programmazione a oggetti, di grande diffusione e versatilità
Consente di realizzare interfacce grafiche e applicazioni multimediali per i browser web.
Viene supportato da tutte le piattaforme, grazie alla presenza della macchina virtuale Java (Java Virtual Machine), ed è quindi estremamente portabile.
Rispetto ad altri linguaggi orientati agli oggetti, Java possiede i seguenti vantaggi: i programmi sono più facili da leggere il codice è più portabile (WORA) il codice è robusto e con meno errori esistono ampie collezioni di librerie (chiamate package ) che forniscono svariate funzionalità
Tutto questo rende Java estremamente potente nonostante la sua relativa semplicità
Programmare serve generalmente a risolvere un problema o far eseguire un compito al calcolatore.
Fasi della programmazione:
Analisi del problema e sua comprensione Sviluppo di un algoritmo per risolverlo Traduzione dell’algoritmo in un programma scritto mediante un opportuno linguaggio
In Java implementare un algoritmo risolutivo corrisponde alla definizione di una o più tipologie di oggetti che interagiscono tra loro. Progettare gli oggetti, anziché elencare le procedure da compiere.
Un progetto di tipologia di oggetto è detto classe.
Programmare in Java significa quindi definire una o più classi.
La programmazione Java si sviluppa in:
EDITING del programma, tipicamente partendo da più file, ciascuno contenente la descrizione di una classe. ciò favorisce la portabilità (in senso WORA).
COMPILAZIONE del programma che ne consente l’ESECUZIONE da parte del calcolatore
La compilazione traduce il codice del programma dal linguaggio di programmazione al linguaggio macchina della piattaforma.
Il codice originario (sorgente) è scritto in maniera comprensibile per gli utenti umani, il codice compilato (eseguibile) è invece utilizzabile dall’elaboratore, e può riferire aspetti specifici della piattaforma sconosciuti o troppo complessi per l’utente umano.
La parte “portabile” della programmazione è quella precedente alla compilazione.
Linguaggio macchina (assembler)
Linguaggio utente (^) di alto livello compilazione computer
parte specifica della piattaforma
Questo meccanismo di compilazione consente di ottenere un codice sorgente portabile; tuttavia, il codice compilato non lo è (dipende dalla piattaforma).
Per essere interamente WORA, Java utilizza un approccio di compilazione misto, con un ulteriore livello di processazione del codice.
Tale livello, detto di INTERPRETAZIONE, ha lo scopo di rendere la compilazione indipendente dalla piattaforma.
Editing
Compilazione
Esecuzione
Editing Compilazione Interpretazione Esecuzione
In generale Per Java
Nella fase intermedia (tra compilazione e interpretazione) si avrà un formato diverso sia da Java che dall’assembler, detto bytecode.
Quindi:
il sorgente viene compilato ottenendo il bytecode il programma espresso come bytecode può essere eseguito da un opportuno interprete chiamato Java Virtual Machine (JVM)
Linguaggio macchina (assembler)
utente Java (^) compilazione
computer
parte specifica della piattaforma
bytecode
Linguaggio macchina (assembler)
Linguaggio utente (^) di alto livello compilazione computer
parte specifica della piattaforma
La JVM è a sua volta un programma scritto in un linguaggio dipendente dalla piattaforma.
Quindi il codice compilato è sì portabile, ma a patto che sulle diverse piattaforme sia installata una JVM.
Tuttavia, questo garantisce di non dover ricompilare il codice per ogni piattaforma.
Vantaggi dell’approccio Java
il bytecode non è l’assembler, ma un linguaggio più espressivo (di più alto livello) e indipendente dalla piattaforma; un programma in formato bytecode può essere eseguito su ogni JVM Java consente di astrarre dalle caratteristiche della piattaforma ed elimina i costrutti dipendenti (formati numerici, stringhe… sono sempre uguali) è la JVM a fare il lavoro di traduzione adattandosi alle caratteristiche della piattaforma