Introduzione al linguaggio Java



Похожие документы
Introduzione alla Progettazione per Componenti

Corso di Informatica

Architetture Applicative

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Protezione. Protezione. Protezione. Obiettivi della protezione

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

FONDAMENTI di INFORMATICA L. Mezzalira

Programmazione ad Oggetti. Java Parte I

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

INFORMATICA 1 L. Mezzalira

e-dva - eni-depth Velocity Analysis

Introduzione al Calcolo Scientifico

Gestione della memoria centrale

Linguaggi 2 e laboratorio

Linguaggi di programmazione

Introduzione al Calcolo Scientifico

Informatica. Prof. A. Longheu. Introduzione a Java

Reflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!

Approccio stratificato

Architettura di un sistema operativo

PROFILO FORMATIVO Profilo professionale e percorso formativo

Programmare in Java. Olga Scotti

SCUOLA PRIMARIA I.C. di CRESPELLANO PROGRAMMAZIONE ANNUALE DI TECNOLOGIA E INFORMATICA

Adobe Flash CS5.5 e Web Animation. Lezione 7: introduzione ad ActionScript 3.0, livelli guida, realizzazione di un player audio in streaming

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione

DBMS e Linguaggi di programmazione nell'era di Internet

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Architetture software. Virtualizzazione

TECNOLOGIA: CLASSI PRIME

Introduzione al sistema operativo Il file system: file, directory,...

Il sistema operativo TinyOS

Il Sistema Operativo

Sistema di Trouble Ticket Management. Gestione Informatizzata dei Servizi di Help Desk

Introduzione alla Virtualizzazione

Panoramica: che cosa è necessario

Tecniche di progettazione e sviluppo di applicazioni mobile

INFORMATICA GENERALE. Prof Alberto Postiglione Dipartim. Scienze della Comunicazione Univ. Salerno. Università degli Studi di Salerno

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

ISTITUTO TECNICO COMMERCIALE STATALE ABBA - BALLINI

NORMA CEI EN PLC: programmazione. PLC: programmazione. PLC: programmazione. Automazione Industriale 3. Automazione Industriale

Situazione Attuale. Le persone svolgono molte operazioni ripetitive ed occupano il proprio computer per le elaborazioni..

Progettazione : Design Pattern Creazionali

Concetti di base di ingegneria del software

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Origini e caratteristiche dei calcolatori elettronici

Programmazione Orientata agli Oggetti in Linguaggio Java

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI)

PROGETTAZIONE DISCIPLINARE DI DIPARTIMENTO

Manuale Utente Prerequisiti per DigitalSign Lite Sistema Operativo Linux a 64 bit

Breve storia del calcolo automatico

Indice. pagina 2 di 10

Java? Sì, grazie. Scopo del corso

Corso di Informatica

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Introduzione alla Programmazione Orientata agli Oggetti. Classi, Oggetti e Messaggi

Programmazione in Java Parte I: Fondamenti

FINALMENTE SUL TREPPIEDE WINDOWS con PREGEO, AutoCAD, PFCAD e tutto quello che serve per la massima autonomia ed efficienza in campagna.

Corso di Informatica

SCUOLA PRIMARIA Anno Scolastico 2014/2015 CURRICOLO DI TECNOLOGIA OBIETTIVI DI APPRENDIMENTO AL TERMINE DELLA CLASSE TERZA DELLA SCUOLA PRIMARIA

12. Evoluzione del Software

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

Uso di librerie preconfezionate. pezzi di programma già scritto da altri; di solito ben collaudati;

Istituto Universitario Navale Facoltà di Ingegneria Corso di Laurea in Ingegneria delle Telecomunicazioni

11. Evoluzione del Software

1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

La Macchina Virtuale

Che cosa è un VIRUS?

Programmazione Orientata agli Oggetti in Linguaggio Java

introduzione I MICROCONTROLLORI

Dispensa di Informatica I.1

I puntatori e l allocazione dinamica di memoria

APPENDICE I Pratiche di tecnologie informatiche per la elaborazione della musica e del suono

Scenario di Progettazione

LABORATORIO DI INFORMATICA

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Sistemi Operativi. 5 Gestione della memoria

RMI. Prova pratica di Sistemi Distribuiti:

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

La Gestione delle risorse Renato Agati

Il.NET Framework. By Dario Maggiari. L architettura del.net Framework è riassunta, nel complesso, nella figura seguente:

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

Corso di PHP. Prerequisiti. 1 - Introduzione

Транскрипт:

Introduzione al linguaggio Java Alessandro Martinelli alessandro.martinelli@unipv.it 28 Settembre 2011 Introduzione al linguaggio Java Generalità del Linguaggio Java e Portabilità Java e Robustezza Java come linguaggio ad oggetti Fondamenti di Informatica II

Il linguaggio Java Nasce durante gli anni 90 A. Martinelli () Java 28/9/2011 2 / 7

Il linguaggio Java Nasce durante gli anni 90 Due importanti linee guida: A. Martinelli () Java 28/9/2011 2 / 7

Il linguaggio Java Nasce durante gli anni 90 Due importanti linee guida: Un linguaggio migliore del C++. Un linguaggio adatto allo sviluppo di software per il Web. A. Martinelli () Java 28/9/2011 2 / 7

Il linguaggio Java Nasce durante gli anni 90 Due importanti linee guida: Un linguaggio migliore del C++. Un linguaggio adatto allo sviluppo di software per il Web. Tre importanti caratteristiche: A. Martinelli () Java 28/9/2011 2 / 7

Il linguaggio Java Nasce durante gli anni 90 Due importanti linee guida: Un linguaggio migliore del C++. Un linguaggio adatto allo sviluppo di software per il Web. Tre importanti caratteristiche: Portabilità A. Martinelli () Java 28/9/2011 2 / 7

Il linguaggio Java Nasce durante gli anni 90 Due importanti linee guida: Un linguaggio migliore del C++. Un linguaggio adatto allo sviluppo di software per il Web. Tre importanti caratteristiche: Portabilità Robustezza A. Martinelli () Java 28/9/2011 2 / 7

Il linguaggio Java Nasce durante gli anni 90 Due importanti linee guida: Un linguaggio migliore del C++. Un linguaggio adatto allo sviluppo di software per il Web. Tre importanti caratteristiche: Portabilità Robustezza Orientato agli Oggetti A. Martinelli () Java 28/9/2011 2 / 7

Java e Portabilità: La Java Virtual Machine Come per il linguaggio C, il codice Java viene compilato. A. Martinelli () Java 28/9/2011 3 / 7

Java e Portabilità: La Java Virtual Machine Come per il linguaggio C, il codice Java viene compilato. Il risultato del processo di compilazione è un insieme di file.class. A. Martinelli () Java 28/9/2011 3 / 7

Java e Portabilità: La Java Virtual Machine Come per il linguaggio C, il codice Java viene compilato. Il risultato del processo di compilazione è un insieme di file.class. I.class non sono scritti in linguaggio macchina. A. Martinelli () Java 28/9/2011 3 / 7

Java e Portabilità: La Java Virtual Machine Come per il linguaggio C, il codice Java viene compilato. Il risultato del processo di compilazione è un insieme di file.class. I.class non sono scritti in linguaggio macchina. La Java Virtual Machine Lanciando una Macchina Virtuale Java si può interpretare i.class. La Macchina Virtuale Java è un programma. E possibile eseguire i.class su qualsiasi sistema operativo per il quale esista una Macchina Virtuale Java. Per questi motivi Java è anche detto linguaggio interpretato. A. Martinelli () Java 28/9/2011 3 / 7

Java e Robustezza Nell epoca d oro del linguaggio C++, era noto che la difficoltà maggiore degli sviluppatori stava nella gestione della memoria (allocazione e deallocazione) A. Martinelli () Java 28/9/2011 4 / 7

Java e Robustezza Nell epoca d oro del linguaggio C++, era noto che la difficoltà maggiore degli sviluppatori stava nella gestione della memoria (allocazione e deallocazione) Sbagliare in questo compito comporta due grossi rischi: A. Martinelli () Java 28/9/2011 4 / 7

Java e Robustezza Nell epoca d oro del linguaggio C++, era noto che la difficoltà maggiore degli sviluppatori stava nella gestione della memoria (allocazione e deallocazione) Sbagliare in questo compito comporta due grossi rischi: Segmentation Fault (Facile da riscontrare, non da risolvere) A. Martinelli () Java 28/9/2011 4 / 7

Java e Robustezza Nell epoca d oro del linguaggio C++, era noto che la difficoltà maggiore degli sviluppatori stava nella gestione della memoria (allocazione e deallocazione) Sbagliare in questo compito comporta due grossi rischi: Segmentation Fault (Facile da riscontrare, non da risolvere) Saturazione della Memoria (Molto più difficile da rilevare) A. Martinelli () Java 28/9/2011 4 / 7

Java e Robustezza Nell epoca d oro del linguaggio C++, era noto che la difficoltà maggiore degli sviluppatori stava nella gestione della memoria (allocazione e deallocazione) Sbagliare in questo compito comporta due grossi rischi: Segmentation Fault (Facile da riscontrare, non da risolvere) Saturazione della Memoria (Molto più difficile da rilevare) Per far fronte a questi due problemi, Java offre due importanti meccanismi: Il primo problema è risolto con l introduzione delle Eccezioni Runtime. A. Martinelli () Java 28/9/2011 4 / 7

Java e Robustezza Nell epoca d oro del linguaggio C++, era noto che la difficoltà maggiore degli sviluppatori stava nella gestione della memoria (allocazione e deallocazione) Sbagliare in questo compito comporta due grossi rischi: Segmentation Fault (Facile da riscontrare, non da risolvere) Saturazione della Memoria (Molto più difficile da rilevare) Per far fronte a questi due problemi, Java offre due importanti meccanismi: Il primo problema è risolto con l introduzione delle Eccezioni Runtime. Il secondo problema è risolto attraverso il Garbage Collector. A. Martinelli () Java 28/9/2011 4 / 7

Java e Robustezza : le Eccezioni Runtime Gestione delle Eccezioni La Gestione delle Eccezioni è un importante meccanismo comune a molti linguaggi ad oggetti, caratteristico tra gli altri del linguaggio Java. La Gestione delle Eccezioni consente di regolamentare il comportamento del Software quando si verificano comportamenti eccezionali. A. Martinelli () Java 28/9/2011 5 / 7

Java e Robustezza : le Eccezioni Runtime Gestione delle Eccezioni La Gestione delle Eccezioni è un importante meccanismo comune a molti linguaggi ad oggetti, caratteristico tra gli altri del linguaggio Java. La Gestione delle Eccezioni consente di regolamentare il comportamento del Software quando si verificano comportamenti eccezionali. Le Eccezioni Runtime (RunTimeException) sono un particolare tipo di eccezione, trattata in modo privilegiato rispetto alle altre. A. Martinelli () Java 28/9/2011 5 / 7

Java e Robustezza : le Eccezioni Runtime Gestione delle Eccezioni La Gestione delle Eccezioni è un importante meccanismo comune a molti linguaggi ad oggetti, caratteristico tra gli altri del linguaggio Java. La Gestione delle Eccezioni consente di regolamentare il comportamento del Software quando si verificano comportamenti eccezionali. Le Eccezioni Runtime (RunTimeException) sono un particolare tipo di eccezione, trattata in modo privilegiato rispetto alle altre. Con le Eccezioni Runtime Java gestisce tutte quelle situazioni comuni del linguaggio che solitamente si tradurrebbero in un segmentation fault. A. Martinelli () Java 28/9/2011 5 / 7

Java e Robustezza : le Eccezioni Runtime Gestione delle Eccezioni La Gestione delle Eccezioni è un importante meccanismo comune a molti linguaggi ad oggetti, caratteristico tra gli altri del linguaggio Java. La Gestione delle Eccezioni consente di regolamentare il comportamento del Software quando si verificano comportamenti eccezionali. Le Eccezioni Runtime (RunTimeException) sono un particolare tipo di eccezione, trattata in modo privilegiato rispetto alle altre. Con le Eccezioni Runtime Java gestisce tutte quelle situazioni comuni del linguaggio che solitamente si tradurrebbero in un segmentation fault. Il vantaggio di usare la Gestione delle Eccezioni per trattare queste situazioni sta nelle informazioni che la Java Virtual Machine fornisce in output quando questi problemi si verificano. A. Martinelli () Java 28/9/2011 5 / 7

Java e Robustezza : il Garbage Collector Per far fronte al secondo problema, Java introduce il Garbage Collector: Responsabile dell allocazione della memoria. A. Martinelli () Java 28/9/2011 6 / 7

Java e Robustezza : il Garbage Collector Per far fronte al secondo problema, Java introduce il Garbage Collector: Responsabile dell allocazione della memoria. Mantiene una mappa di tutti i puntatori alle aree di memoria utilizzate. A. Martinelli () Java 28/9/2011 6 / 7

Java e Robustezza : il Garbage Collector Per far fronte al secondo problema, Java introduce il Garbage Collector: Responsabile dell allocazione della memoria. Mantiene una mappa di tutti i puntatori alle aree di memoria utilizzate. Dealloca le aree di memoria non più utilizzate. A. Martinelli () Java 28/9/2011 6 / 7

Java e Robustezza : il Garbage Collector Per far fronte al secondo problema, Java introduce il Garbage Collector: Responsabile dell allocazione della memoria. Mantiene una mappa di tutti i puntatori alle aree di memoria utilizzate. Dealloca le aree di memoria non più utilizzate. Di fatto: il programmatore non alloca, non dealloca e i puntatori nemmeno li vede. A. Martinelli () Java 28/9/2011 6 / 7

Java come linguaggio ad Oggetti Offre gli strumenti per applicare i più importanti principi della programmazione ad oggetti. A. Martinelli () Java 28/9/2011 7 / 7

Java come linguaggio ad Oggetti Offre gli strumenti per applicare i più importanti principi della programmazione ad oggetti. Ha rappresentato una solida basa per lo sviluppo e la concettualizzazione della teoria della programmazione ad oggetti. A. Martinelli () Java 28/9/2011 7 / 7

Java come linguaggio ad Oggetti Offre gli strumenti per applicare i più importanti principi della programmazione ad oggetti. Ha rappresentato una solida basa per lo sviluppo e la concettualizzazione della teoria della programmazione ad oggetti. Porta con se una vasta gamma di librerie ad oggetti, che sono il principale output della teoria della programazione ad oggetti. A. Martinelli () Java 28/9/2011 7 / 7