CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.

Slides:



Advertisements
Presentazioni simili
Linguaggio C e C++.
Advertisements

Traduzione ed Interpretazione
Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
Ambiente Java.
Programmazione in Java
Corso di Fondamenti di Informatica
1 Introduzione ai calcolatori Parte II Software di base.
Il Software.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
Costruttori e Distruttori
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
PHP.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Massa Laura Mela Enrica
Generalità Linguaggio e Macchina Astratta
1 Strutture dati nel supporto a run time. 2 Entità presenti quando un programma va in esecuzione §programmi dutente (compilati) §routines del supporto.
Obiettivo della tesi Percorso
INTRODUZIONE AI SISTEMI OPERATIVI
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
Architettura Three Tier
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
Terza parte: Programmazione ad oggetti in Java. Cosè Java Linguaggio di programmazione definito dalla Sun Obiettivo: sviluppo di applicazioni sicure,
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Introduzione al linguaggio Java
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
Architettura del World Wide Web
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente.
Struttura dei sistemi operativi (panoramica)
I Thread.
CAPITOLO 1 JAVA: UN TUFFO NEL LINGUAGGIO E NELL'AMBIENTE.
CORSO DI LAUREA E DI DIPLOMA IN INFORMATICA UNIVERSITA DEGLI STUDI DI MILANO ANNO ACCADEMICO JAVA COME LINGUAGGIO PER LA PROGRAMMAZIONE CONCORRENTE.
INTRODUZIONE MOTIVAZIONI, PEREQUISITI, ARGOMENTI.
Organizzazione della Memoria (Unix) Text contiene le istruzioni in linguaggio macchina del codice eseguibile, può essere condiviso in caso di processi.
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
Corso di PHP.
Fondamenti di informatica Linguaggio C Main Program: Architettura di un PC Diagrammi di flusso Linguaggio C.
Introduzione a C#.
Università Politecnica delle Marche
Guida IIS 6 A cura di Nicola Del Re.
Java Contardi Carlo A.S. 2008/09.
Macchine astratte, linguaggi, interpretazione, compilazione
Implementazione di un linguaggio ad alto livello (con riferimento a Java)
Sistemi Informativi sul Web
Gianpaolo Cecere Introduzione
Threads.
Lezione 8.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
I processi.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Introduzione a Javascript
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
© Copyright NTT DATA Italia – All Rights Reserved The information contained in this document is the property of NTT DATA Italia S.p.A. and the addressee.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 1.
Concetti Fondamentali sulla Programmazione
1 Macchine astratte, linguaggi, interpretazione, compilazione.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
1 Linguaggi: guardando la semantica §esistono un insieme di concetti semantici e di strutture di implementazione in termini dei quali si descrivono in.
Il software Claudia Raibulet
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Eprogram informatica V anno.
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
PHP.  HTML (Hyper Text Markup Language)  CSS (Cascading Style Sheets)  Javascript (linguaggio di programmazione client)  PHP ( Hypertext Preprocessor.
Transcript della presentazione:

CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA

IL LINGUAGGIO JAVA Semplice ed estensibile (OO) Distribuito Interpretato Robusto Sicuro Architetturalmente neutrale Portabile A elevate prestazioni Concorrente (multithreaded) Dinamico

SEMPLICE/ESTENSIBILE (OO) Sintassi simile a C e C++ (facile da imparare) Elimina i costrutti più "pericolosi" di C e C++ –aritmetica dei puntatori –strutture (struct) –definizione di tipi (typedef) –preprocessore (#define) –(de)allocazione esplicita della memoria Aggiunge garbage collection (GC) automatica Conserva la tecnologia OO di base di C++ Rivisita C++ in alcuni aspetti (W.Joy: C++--==) Interprete completo occupa 215 KB di RAM

DISTRIBUITO E NEUTRALE Incorpora molte funzionalità di rete (TCP/IP) Comprende librerie di livello superiore (HTTP) Rete facilmente accessibile (come i file locali) Compilatore produce codice di tipo byte-code Byte-code indipendente da architettura HW Codice eseguibile su molte piattaforme HW Sviluppo: Solaris (SPARC), Win95 e NT (Intel) Disponibilità: le principali piattaforme HW/SW

FLUSSO DEL CODICE Compilatore Byte-code Java Rete Piattaforma hardware Loader delle classi Interprete Ambiente a run-time Verifica del byte-code Generatore di codice Sorgente Java

ROBUSTO Rilevamento errori (compile-time e run-time) Type-checking (compile-time e run-time) Mascheramento dei puntatori all'utente Impossibilità di fare "casting" di puntatori Controllo automatico dei puntatori nulli Controllo automatico degli indici degli array Gestione delle eccezioni da parte dell'utente Verifica del byte-code prima dell'esecuzione Gestione della memoria (allocazione & GC)

SICURO Dimostratore della correttezza del byte-code Rispetto garantito dei limiti dello stack Correttezza dei parametri delle istruzioni Legalità dell'accesso ai campi degli oggetti –pubblici –privati –protetti Legalità di tutte le conversioni di tipo In particolare, impossibilità di convertire numeri a puntatori, etc.

PORTABILE, INTERPRETATO E A ELEVATE PRESTAZIONI Formato dei dati specificato nei dettagli (p.es. gli interi sono di 32 bit e in complemento a 2) Primitive grafiche astratte facilmente portabili agli ambienti Unix, Windows e Macintosh Interpretazione abbrevia il ciclo di sviluppo Circa funcalls/sec (SPARCstation10) Traduzione a run-time di byte-code in codice macchina fornirà prestazioni simili a C e C++

CONCORRENTE E DINAMICO Multithreading parte integrante del linguaggio Applicazioni interattive più facili a scriversi Migliore "reattività" (anche se non real-time) Esempio: caricamento asincrono di immagini nei browser di rete riduce i tempi di attesa Codice eseguibile anche in assenza di moduli Nuove release di moduli usabili a parità di API Nuovi protocolli caricabili da rete (download) Browser non più "centralisti" ma "federalisti"

BROWSER "FEDERALISTA" Client:richiesta oggetto da parte utente Rete:trasferimento richiesta al server Server:reperimento oggetto nel database Rete:trasferimento oggetto al client Client:rilevamento oggetto di tipo ignoto Rete:trasferimento informativa al server Server:reperimento codice Java adeguato Rete:trasferimento codice Java al client Client:visualizzazione oggetto richiesto

L'AMBIENTE HOTJAVA Browser abilitato all'impiego di Java Manipola URL tradizionali Decodifica pagine HTML tradizionali Attiva programmi Java riferiti da pagine HTML Programmi Java attivabili non solo via HTML Quasi tutti i browser oggi sono Java-enabled Gli altri browser ignorano i link a oggetti Java