Informatica. Prof. A. Longheu. Introduzione a Java

Documenti analoghi
Informatica. Terzo anno Prof. A. Longheu

Programmazione ad Oggetti. Java Parte I

Panoramica: che cosa è necessario

Strumenti per la programmazione

Architetture software. Virtualizzazione

Approccio stratificato

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo

Linguaggi e Laboratorio. Panoramica su Java

Progettazione e realizzazione di una GUI multi-piattaforma per applicazioni mediche in 2D

Architettura di un sistema operativo

Introduzione alla programmazione Java. Dott. Ing. M. Banci, PhD

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

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

sito web sito Internet

Introduzione alla Virtualizzazione

Applicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi

JAVA: storia e peculiarità

Scuola Professionale e Filologica Geom. F.Borgogna Vercelli

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

Java: Compilatore e Interprete

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Java. Traditional portability (ideal)

Il Linux che verrà... Francesco Crippa

SISTEMI OPERATIVI THREAD. Giorgio Giacinto Sistemi Opera=vi

Mono per sistemi embedded

Lezione 1 Introduzione

Virtualizzazione e Macchine Virtuali

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Traduzione ed esecuzione di programmi. Dispensa 08

Corso di Informatica

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Come valutare e scegliere un Sistema Operativo Embedded

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer

Protezione. Protezione. Protezione. Obiettivi della protezione

Corso sul linguaggio Java

Realizzazione di un applicazione per la visualizzazione grafica didattica e di debug per algoritmi in Java

Review del sistema Masterlegal La soluzione integrata e modulare per la gestione dei Crediti a Legale

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Linguaggi 2 e laboratorio

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

Introduzione ai Web Services Alberto Polzonetti

Introduzione all ambiente di sviluppo

La cassetta di un buon carpentiere del software

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Software. Definizione, tipologie, progettazione

Programmazione Java Avanzata Concetti su Java

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

TITLE Sistemi Operativi 1

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

Scenario di Progettazione

IL SOFTWARE. Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008

Introduzione Il programma di formazione base di Movicon prevede la disponibilità di nr. 10 moduli, così suddivisibili:

WEB SERVER EMBEDDED PER APPLICAZIONI DI DOMOTICA. Fig. 1 - Architettura di un web server embedded

Il Sistema Operativo (1)

MODULO 02. Iniziamo a usare il computer

Tecnologia dei Sistemi Informativi. architettura s.i. 1

Progettazione : Design Pattern Creazionali

2 - Introduzione al linguaggio Java

Basi Android. Android si definisce open. Con8ene tecnologie open source. Il codice di Android è open. Licenza Open Source Apache 2.

Architetture Web: un ripasso

Relazione di Tirocinio presso STMicroelectronics

Strumenti di modellazione. Gabriella Trucco

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella prof@quarella.

Elementi di UML (7): Diagrammi dei componenti e di deployment

Macchine Virtuali. Docente: Fabio Tordini

02 L Informatica oggi. Dott.ssa Ramona Congiu

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

Si applica a: Windows Server 2008

Comunicazione tra Processi

Comunicazione tra Processi

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali

27/03/2013. Contenuti

Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console

Introduzione al linguaggio Java

PROPOSTA DI UN ARCHITETTURA IMS INTEGRATA IN UN AMBIENTE VIRTUALIZZATO: ANALISI DI PRESTAZIONI Daniele Costarella

Progetto Virtualizzazione

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

COMPETENZE INFORMATICHE DI BASE PER ADULTI

Corso di Informatica

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

Il sistema operativo TinyOS

Laboratorio di Informatica

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008

Linguaggi e Paradigmi di Programmazione

Applicazioni web centrati sui dati (Data-centric web applications)

Strutture dei Sistemi Operativi

CdL in Medicina Veterinaria - STPA AA

Siti web centrati sui dati (Data-centric web applications)

Componenti Web: client-side e server-side

NozionidiBase di Informatica

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

Maschere di sottorete a lunghezza variabile

Ambienti di Sviluppo

14 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

VIRTUALIZZAZIONE. Docente: Marco Sechi Modulo 1

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

Transcript:

Informatica Prof. A. Longheu Introduzione a Java 1

Code-Name Green Nome del progetto Sun con l obiettivo di fornire intelligent consumer-electronic devices. Il risultato fu Oak Un linguaggio basato su C++ Creato da James Gosling Il nome del nuovo linguaggio fu cambiato in Java E fortemente ispirato al C++ ma riprogettato senza il requisito della piena compatibilità con il C (a cui però assomiglia) 2

Green in the red? Il progetto Green non andò lontano Il mercato degli intelligent consumer-electronic devices crebbe lentamente Sun non si impose in tale settore di mercato Fu sul punto di essere cancellato L esplosione del World Wide Web nel 1993 salvo il progetto Green Java fu ripensato come linguaggio per fornire contenuto dinamico alle pagine web Java fu formalmente annunciato nel 1995 3

Java Java nasce per applicazioni embedded Si diffonde attraverso il concetto di applet come piccola applicazione da eseguirsi dentro un browser Internet grafica portabile ed eseguibile ovunque modello di sicurezza sandbox Può benissimo essere usato come linguaggio per costruire applicazioni anche non per Internet anche non grafiche (rimane un linguaggio general purpose) 4

Alcune date dello sviluppo Java Java 1.0 rilasciato nel 1995 dalla Sun Java 1.1 rilasciato nel 1997 dalla v. 1.2 del 1998, riscrittura significativa attualmente 1.7 (7.0) 5

La Piattaforma Java Piattaforma: ambiente hardware o software dove sono eseguiti i programmi (Windows 2000, Linux, Solaris, MacOS) Una piattaforma in genere può essere descritta come una combinazione di sistema operativo e hardware la Java platform è solamente software e viene eseguita al di sopra di altre piattaforme basate sull hardware 6

La Piattaforma Java La piattaforma consiste di due elementi: Java Virtual Machine (JVM) Java Application Programming Interface (Java API), ovvero una collezione di software pronti per l uso, ad esempio per gestire Graphical User Interface (GUI), organizzati in librerie di classi e interfacce correlate (packages) Java API e Java VM isolano il programma dall hardware 7

La Piattaforma Java Il codice Java viene compilato in un linguaggio intermedio chiamato bytecode Il bytecode è interpretato a run-time dalla JVM e convertito nel linguaggio macchina del calcolatore su cui è richiesta l esecuzione; la JVM è in quindi un computer virtuale sviluppato per rendere indipendente dalla macchina il codice Java: paradigma write once, run anywhere, talvolta mutato dai detrattori in write once, debug anywhere La portabilità del codice è assicurata dalla garanzia progettuale che i tipi di data abbiano comportamento standard al variare della piattaforma (ad esempio, i reali sono IEEEcompliant); in alternativa, il bytecode può essere compilato tramite un just in time (JIT) compiler, qualora occorrano prestazioni maggiori. 8

La Piattaforma Java 9

La Piattaforma Java Esistono edizioni differenti della piattaforma Java Standard Edition (J2SE) Librerie di base per lo sviluppo di applicazioni desktop (client applications) incluso AWT e Swing Consente di eseguire applicazioni e applet Enterprise Edition (J2EE) per lo sviluppo di applicazioni lato server Per sviluppatori Web (EJB s, Servlets e JSPs) richiede J2SE Micro Edition (J2ME) per lo sviluppo di applicazioni mobili librerie ridotte e più piccole Implementa un subset delle funzionalita di Java 10

La Piattaforma Java Ogni edizione si compone di: una serie di specifiche (documenti) una serie di strumenti (es: compilatore, debugger ecc.) una serie di librerie o API (Application Program Interfaces) schematizzando (eccessivamente) è possibile dire che i livelli più complessi includono i più semplici 11

Java Platform Edition 7.0 12

Internazionalizzazione A differenza di gran parte dei linguaggi Java usa un codice a 16 bit chiamato Unicode il primo codice ASCII è a 7 bit (ISO 646) con il bit 8, si hanno altri 128 caratteri, scelti in base alla lingua a cui si vuole offrire il supporto, dando luogo agli standard ISO 8859 8859-1 (ISO Latin-1) è usato per la maggior parte delle lingue europee 8859-15 cirillico, 8859-6 arabo, 8859-7 greco, 8859-8 ebraico utilizzando 16 bit si possono rappresentare insiemi di caratteri fonetici e ideogrammi che rappresentano intere parole (indispensabile per cinese e giapponese); si ottiene il codice UNICODE a 16 bit; i primi 128 caratteri sono identici all ISO 646 e i primi 256 sono gli stessi dell ISO 8859-1 utilizzando 32 bit, si ottiene lo standard ISO 10646, che ha l obiettivo di raccogliere tutti i simboli utilizzati da tutte le lingue del mondo inclusi quelli matematici, valutari ecc. C++ usa 8 bits ~ 256 caratteri differenti Java usa 16 bit ~ 65,535 caratteri differenti 13