Serializzazione. Programmazione in Ambienti Distribuiti A.A
|
|
- Onorato Castellani
- 5 anni fa
- Visualizzazioni
Transcript
1 Serializzazione Programmazione in Ambienti Distribuiti A.A Messaggi La comunicazione tra due entità remote richiede la comprensione dei messaggi scambiati Occorre specificarne il formato: A livello sintattico che forma hanno i messaggi leciti? A livello semantico che cosa significano? I socket offrono primitive di comunicazione assolutamente elementari: Trasferimento di sequenze di byte 2 1
2 Presentazione Le problematiche relative alla rappresentazione dei messaggi sono collocate nel livello 6 (presentazione) del modello di riferimento ISO/OSI: Il suo scopo è conservare il significato del messaggio trasmesso, indipendentemente dalla natura eterogenea di mittente e destinatario Altri aspetti trattati dal livello 6: Compressione Crittografia 3 Rappresentazioni interne Un programma utilizza al proprio interno una varietà di strutture dati Il linguaggio di programmazione definisce: I tipi elementari (interi con e senza segno, numeri in virgola mobile, ) e la loro rappresentazione fisica (little-endian/ big-endian, dimensione, ) Il modo con cui vengono combinati per formare tipi strutturati (record, array, ) L utilizzo di puntatori per realizzare strutture dati complesse (alberi, grafi, ) la rappresentazione adottata internamente non è, in generale, adatta ad essere esportata Occorre stabilire una rappresentazione neutra cui adeguarsi 4 2
3 Rappresentazione esterna (1) Definisce un formato standard per la rappresentazione di tipi complessi Occorre rappresentare esplicitamente tutte le dipendenze: I puntatori devono essere sostituiti da riferimenti non legati alla memoria Nel caso dei linguaggi ad oggetti, la struttura dati è legata al suo comportamento (codice): questo rende il problema più complesso 5 Rappresentazione esterna (2) Formato interno Il passaggio da rappresentazione interna ad esterna prende il nome di serializzazione Coinvolge due conversioni: Il mittente trasforma i propri dati nella formato esterno (marshalling) Il destinatario ricostruisce una rappresentazione su cui può operare direttamente (unmarshalling) Marshalling Formato esterno Unmarshalling Formato interno 6 3
4 Rappresentazione esterna (3) In generale si adotta una rappresentazione basata su tag Ogni dato è preceduto dal relativo tipo Dati di lunghezza variabile sono preceduti dall indicazione della lunghezza effettiva Precise regole indicano la codifica binaria utilizzata Strumenti middleware possono generare automaticamente il codice per eseguire marshalling e unmarshalling verso i principali linguaggi di programmazione Principali rappresentazioni esterne: ASN.1 XDR Serializzazione Java XML 7 ASN.1 Abstract Syntax Notation 1 Standard internazionale definito nell ambito del modello OSI Prevede un unica rappresentazione astratta (insieme di tipi che è possibile codificare) e diverse rappresentazioni concrete (loro codifica in formato binario) BER Basic Encoding Rules PER Packed Encoding Rules DER Distinguished Encoding Rules 8 4
5 XDR external Data Representation (1) RFC 1014, giugno 1987 Proposto da Sun Microsystem ed adottato per le implementazioni di RPC (Remote Procedure Call) e NFS (Network File System) Definisce un linguaggio (simile al C) mediante cui definire strutture dati Niente programmi! Per ogni tipo di dato definito, stabilisce una rappresentazione binaria canonica 9 XDR external Data Representation (2) Assume che il byte sia l unità portabile (non ci siano ambiguità sull interpretazione dei bit) La parola di 4 byte è l unità fondamentale di tutte le rappresentazioni XDR Il risultato della codifica è una sequenza ordinata di byte (la cui lunghezza è multipla di 4) Permette di rappresentare tipi elementari e strutturati di lunghezza variabile 10 5
6 Serializzazione Java (1) Meccanismo di conversione tra rappresentazione interne della JVM ed una rappresentazione esterne definita ad hoc Permette di rappresentare il contenuto di un oggetto preservandone la struttura interna (dipendenze da altri oggetti) Tutti gli oggetti raggiungibili dall oggetto serializzato vengono serializzati congiuntamente Basata sui meccanismi di reflection: Data una classe Java, è possibile tramite i metodi esposti dagli oggetti di classe Class conoscerne metodi ed attributi 11 Serializzazione Java (2) Caratteristiche principali: Semplice: nella maggior parte dei casi non richiede particolari sforzi a livello di implementazione delle classi che devono essere serializzate Supporto di libreria: la maggior parte delle classi dei package che costituiscono la libreria standard di Java è compatibile con questo meccanismo Meccanismo estendibile: è possibile definire formati esterni alternativi a quello standard 12 6
7 Meccanismi di base (1) Perché un oggetto sia serializzabile, la sua (super-)classe deve implementare l interfaccia Serializable Interfaccia priva di metodi, serve solo come marcatore Tutti i campi non etichettati come statici o come volatili verranno opportunamente convertiti (in fase di marshalling) e ripristinati (in fase di unmarshalling) 13 Meccanismi di base (2) Se una classe implementa l interfaccia Externalizable deve offrire metodi che ne effettuano esplicitamente la conversione: public void readexternal(objectinput in) public void writeexternal(objectoutput out) Tali metodi devono salvare lo stato dell oggetto e di tutte le superclassi in esso contenute 14 7
8 Classe ObjectOutputStream Responsabile della trasformazione di un oggetto nella sua rappresentazione seriale Il suo costruttore prevede il riferimento ad un OutputStream in cui verrà memorizzata la rappresentazione esterna Offre i metodi per la scrittura di tipi elementari (writeint( ), writedouble( ), ) e di oggetti public void writeobject(object obj) 15 Classe ObjectInputStream Classe duale della precedente per la lettura di una forma serializzata e la sua trasformazione in oggetto Il costruttore richiede il riferimento ad un InputStream che contiene i dati Dispone di metodi per la lettura di dati elementari (readint(), readdouble(), ) e di oggetti public Object readobject() 16 8
9 Esempio (1) FileOutputStream out = new FileOutputStream("theTime"); ObjectOutputStream s = new ObjectOutputStream(out); s.writeobject("today"); s.writeobject(new Date()); s.flush(); s.close(); 17 Esempio (2) FileInputStream in = new FileInputStream("theTime"); ObjectInputStream s = new ObjectInputStream(in); String today = (String)s.readObject(); Date date = (Date)s.readObject(); s.close(); 18 9
10 Condizioni al contorno Per implementare l interfaccia Serializable, una classe deve: Essere dichiarata pubblica Tutti gli argomenti non statici e non volatili devono essere serializzabili (tipi primitivi o serializzabili) Nel caso in cui discenda da una superclasse non serializzabile: La classe derivata deve poter accedere al costruttore anonimo (privo di argomenti) della superclasse 19 Condivisione di oggetti All atto della serializzazione, un oggetto di tipo ObjectOutputStream tiene traccia degli oggetti già serializzati (tramite i loro riferimenti) Nel caso venga richiesto di serializzare un oggetto il cui puntatore è già stato incontrato nel processo di serializzazione corrente, ne viene memorizzato solo un riferimento, anche se il suo stato è cambiato Il metodo writeunshared(object o) evita questo problema 20 10
11 Serializzazione e sicurezza La rappresentazione serializzata può essere alterata generando un rischio di sicurezza Agendo sulla rappresentazione è possibile conoscere ed alterare il valore di attributi privati, modificare le dipendenze tra oggetti, inserire riferimenti a classi nuove, potenzialmente scaricabili dalla rete Occorre molta cautela (ed alcuni trucchi) nel trattare gli oggetti ricostruiti dal processo di deserializzazione 21 11
Il linguaggio Java. Gli stream
Il linguaggio Java Gli stream Overview Uno stream è un flusso unidirezionale di informazioni da una sorgente esterna ovvero verso una sorgente esterna a cui si accede in modo sequenziale 2 Algoritmi di
DettagliLa paninoteca. Mi resta da scrivere solo costo()
La paninoteca Mi resta da scrivere solo costo() La paninoteca Usiamo l ereditarietà per definire dei Panini particolari Ci sono alcuni tipi di pane Estendendo Panino scrivo meno codice Nell esempio eredito
Dettaglidomenica 9 giugno 13 Serializzazione
Serializzazione A cosa serve? Ad ottenere una rappresentazione di una struttura dati che possiamo memorizzare, trasmettere via rete Cosa possiamo serializzare? OK NO Tipi primitivi, Riferimenti stringhe
DettagliSerializzazione Java. Serializzazione. Calendario esercitazioni e laboratori. Applicazioni della Serializzazione
Calendario esercitazioni e laboratori 29 Marzo esercitazione 12 Aprile esercitazione 26 Aprile laboratorio (lab721) 2 Maggio laboratorio (lab721) 3 Maggio esercitazione 9 Maggio laboratorio (???) 17 Maggio
DettagliJAVA - I/O System. Il JAVA considera tutte i flussi da e verso l esterno, come stream di byte. Questi possono essere di ingresso o di uscita:
JAVA - I/O System Il JAVA considera tutte i flussi da e verso l esterno, come stream di byte. Questi possono essere di ingresso o di uscita: 1. InputStream: Flusso di byte in ingresso. Con questa classe
DettagliLa Serializzazione in Java. L24_Serialization 1
La Serializzazione in Java L24_Serialization 1 La Serialization è la trasformazione di un oggetto in memoria in una sequenza di byte (ospitata in un file, trasmessa in rete, ecc). La Deserialization è
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA6 A2 I file binari 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione
DettagliA. Ferrari Java: Stream e File
Java: Stream e File la classe File o per operare con l intero file java mette a disposizione la classe File o per utilizzare la classe File è necessario importare la libreria java.io.file o la classe File
DettagliOrganizzazione della lezione. Lezione 11 Oggetti Distribuiti. Marshalling: : perché. Rappresentazione Esterna dei Dati
Lezione 11 Oggetti Distribuiti Vittorio Scarano Corso di Programmazione Distribuita (23-24) Laurea di I livello in Informatica Università degli Studi di Salerno,, 2 Marshalling: : perché Rappresentazione
DettagliPROGRAMMARE IN JAVA Volume I
Graziano Frosini PROGRAMMARE IN JAVA Volume I INTRODUZIONE ALLA PROGRAMMAZIONE PROGRAMMAZIONE A OGGETTI INGRESSO/USCITA GENERICI THREAD Edizioni ETS www.edizioniets.com Copyright 2007 EDIZIONI ETS Piazza
DettagliProgrammazione ad Oggetti
Programmazione ad Oggetti Java File Flussi e file Flusso (stream) = sequenza di dati di input: da cui leggere di output: su cui scrivere I file sono visti come flussi di dati Il package java.io definisce
DettagliPersistenza e Serializzazione
Persistenza e Serializzazione JUG Sardegna Cagliari, 30 Ottobre 2004 Pierangelo Caboni Persistenza e Serializzazione 1 Persistenza Spesso si ha la necessità che gli oggetti creati nel corso dell esecuzione
DettagliINPUT OUTPUT Programmazione in rete e laboratorio. Le operazioni di I/O avvengono attraverso stream (sequenze di byte)
INPUT OUTPUT 2004-05 Le operazioni di I/O avvengono attraverso stream (sequenze di byte) programma stream in lettura sorgente Programmazione in rete e laboratorio programma stream in scrittura destinazione
DettagliFondamenti di Informatica C Esercitazioni di Laboratorio / 4 Outline
Fondamenti di Informatica C Esercitazioni di Laboratorio / 4 http://polaris.ing.unimo.it/fic/laboratorio.html Ing. Francesco De Mola demola.francesco@unimore.it DII, Modena Via Vignolese (lab. Dottorandi
DettagliInput/Output in Java
Corso Java Input/Output in Java Docente: Dott. Marco Bianchi Slide realizzate da Ing. A.Bei, Dott. M.Bianchi, Dott. F.Lombardi Input/Output in Java Per effettuare operazioni di I/O in Java è possibile
DettagliPROVA FINALE Ingegneria del software
PROVA FINALE Ingegneria del software Jody Marca jody.marca@polimi.it Laboratorio N 2 Cosa faremo oggi 2 Javadocs Uso del debugger Input Output Serializzazione degli oggetti Javadoc 3 Javadoc è uno strumento
DettagliApplicazioni distribuite e sistemi ad oggetti distribuiti. RPC RMI - Web Services 1
Applicazioni distribuite e sistemi ad oggetti distribuiti RPC RMI - Web Services 1 Complessità delle applicazioni distribuite La scrittura di applicazioni distribuite basate sull utilizzo di protocolli
DettagliApplicazioni distribuite e sistemi ad oggetti distribuiti
Applicazioni distribuite e sistemi ad oggetti distribuiti Complessità delle applicazioni distribuite La scrittura di applicazioni distribuite basate sull utilizzo di protocolli di comunicazione asincroni
DettagliPrincipi di progettazione di sistemi distribuiti
Principi di progettazione di sistemi distribuiti Rappresentazione esterna dei dati Marshalling e unmarshalling Esemplificazione con Corba e Java Rappresentazione esterna dei dati Problema: un oggetto deve
DettagliProgrammazione I - corso B a.a prof. Viviana Bono
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 12 Riepilogo e complementi sui tipi Ripasso del sistema di tipi
DettagliCapitolo 7 Un primo sguardo agli oggetti Schema e valori Elementi di classe e d istanza
I Sommario Prefazione xiii Capitolo 1 Introduzione alla programmazione 1 1.1 Hardware e software......................... 1 1.2 La programmazione......................... 4 1.2.1 I paradigmi di programmazione...............
DettagliInformatica. Prof. A. Longheu. Input e Output
Informatica Prof. A. Longheu Input e Output 1 Il package java.io Il package java.io definisce i concetti base per gestire l I/O da qualsiasi sorgente e verso qualsiasi destinazione. L obiettivo è fornire
DettagliDichiarazione di una classe. Dichiarazione ereditarietà
Introduzione Il Java è un linguaggio di programmazione orientato agli oggetti (OOL), perché permette di realizzare in un programma tutti i concetti alla base dell OOP quali: l astrazione dei dati, mediante
DettagliISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016
ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016 Classe: 4^A inf Prof.ssa Lami Carla Prof. Simone Calugi Programma di INFORMATICA GENERALE, APPLICAZIONI
DettagliInformatica I. Ingegneria Medica. Prof. Diego Salamon
Informatica I Ingegneria Medica Prof. Diego Salamon Gestione I/O Prof. Diego Salamon Introduzione Nella creazione e gestione del software è necessario interagire con entità esterne a quelle del programma
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Tecniche di Programmazione: Clonazione e Serializzazione versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative
DettagliIL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input
DettagliJava I/O e serializzazione
Java I/O e serializzazione Caratteristiche dell I/O in Java Diverse classi per gestire I/O differenti sotto un unica struttura. Possibilità di combinare classi differenti. Modalità di interazione distinte
DettagliUnità 2 I file binari
Dare una breve descrizione dei termini introdotti: (A) CONOSCENZA TERMINOLOGICA file binari file di tipi primitivi file di oggetti serializzazione (B) CONOSCENZA E COMPETENZA Rispondere alle seguenti domande
DettagliALGORITMI E STRUTTURE DATI
Esercitazioni del corso di: ALGORITMI E STRUTTURE DATI Tutor: Francesca Piersigilli email: francesca.piersigilli@unicam.it Strutture dati elementari Tecniche di organizzazione dei dati: scelta della struttura
DettagliSistemi Operativi FILE SYSTEM : INTERFACCIA. D. Talia - UNICAL. Sistemi Operativi 8.1
FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File
DettagliI/O Streams in Java. Lorenzo Gallucci
I/O Streams in Java Lorenzo Gallucci I/O Streams La libreria Java dispone di un API sofisticata per l interfacciamento I/O Il package di riferimento è java.io Due classi principali InputStream, per l input
DettagliObiettivi. Unità D1. Archivi: i concetti fondamentali. Persistenza archivi e file. Necessità di dati persistenti. Un esempio di record
Obiettivi Unità D1 Archivi: i concetti fondamentali Conoscere le diverse organizzazioni logiche degli archivi Conoscere le operazioni di base che si possono effettuare sugli archivi Sapere come progettare
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli
DettagliLa classe java.lang.object
La classe java.lang.object In Java: Gerarchia di ereditarietà semplice Ogni classe ha una sola super-classe Se non viene definita esplicitamente una super-classe, il compilatore usa la classe predefinita
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi
DettagliMarco Faella Introduzione al corso
Marco Faella Introduzione al corso 1 Lezione n. Parole chiave: Java Corso di Laurea: Informatica Insegnamento: Linguaggi di Programmazione II Email Docente: faella.didattica@gmail.com A.A. 2009-2010 Linguaggi
DettagliInizializzare oggetti
Inizializzare oggetti Uso della Classe Software per TLC - AA 2008/2009 1 Costruttori e polimorfismo Uso della Classe Un codice migliore Software per TLC - AA 2008/2009 2 Costruttori ed Ereditarietà Output:
DettagliInterfacce. Esempio: interfaccia I con una sola funzione g() public interface I {
Interfacce Una interfaccia è un astrazione per un insieme di funzioni pubbliche delle quali si definisce solo la segnatura, e non le istruzioni. Un interfaccia viene poi implementata da una o più classi
DettagliFondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati
Fondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli Studi di Bologna Anno Accademico 2008/2009 Sommario
DettagliProgrammazione distribuita in Java. da materiale di Carlo Ghezzi e Alfredo Motta
Programmazione distribuita in Java da materiale di Carlo Ghezzi e Alfredo Motta Obiettivo Poter allocare computazioni su nodi fisici diversi, in modo trasparente, e consentire il coordinamento tra le computazioni
DettagliA. Ferrari Stream e File
Stream e File Java la classe File o per operare con l intero file java mette a disposizione la classe File o per utilizzare la classe File è necessario importare la libreria java.io.file o la classe File
DettagliPrimi passi col linguaggio C
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta
DettagliLinguaggi, Traduttori e le Basi della Programmazione
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi
DettagliUniversità degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura
DettagliEsercizi Programmazione I
Esercizi Programmazione I 0 Ottobre 016 Esercizio 1 Funzione valore assoluto Il file.c di questo esercizio deve contenere nell ordine, il prototipo (dichiarazione) di una una funzione abs, che prende in
DettagliSAX e DOM. Analisi di un documento
SAX e DOM Programmazione in Ambienti Distribuiti A.A. 2003-04 Analisi di un documento Il parser è uno modulo software utilizzato per l analisi di un documento Eseguire il parsing di un documento significa
DettagliIL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma
DettagliUso di classi e oggetti. Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni
Uso di classi e oggetti Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Tipi di dati Tipi primitivi: interi Java fornisce otto tipi primitivi indipendenti dall implementazione
DettagliLPR 2005/2006 Lezione 7. paradigma di interazione domanda/risposta remote procedure call RMI (Remote Method Invocation): API JAVA esercizio
LPR 2005/2006 Lezione 7 paradigma di interazione domanda/risposta remote procedure call RMI (Remote Method Invocation): API JAVA esercizio PARADIGMA DI INTERAZIONE A DOMANDA/RISPOSTA Paradigma di interazione
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliIL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma
DettagliProf. Pagani corrado JAVA
Prof. Pagani corrado JAVA NASCITA DI JAVA Java è stato creato, a partire da ricerche effettuate alla Stanford University agli inizi degli anni Novanta, da un gruppo di esperti sviluppatori capitanati da
DettagliPIANO DI STUDIO DELLA DISCIPLINA DISCIPLINA: Informatica
ISIS C. Facchinetti Sede: via Azimonti, 5-21053 Castellanza Tel. 0331 635718 fax 0331 679586 info@isisfacchinetti.gov.it https://isisfacchinetti.gov.it PIANO DI STUDIO DELLA DISCIPLINA Rev. 1.1 del 26/07/17
DettagliJava: un linguaggio per applicazioni di rete
Java: un linguaggio per applicazioni di rete Moreno Falaschi Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena March 3, 2014 1 Caratteristiche di Java (SUN) Linguaggio
DettagliINPUT OUTPUT
INPUT OUTPUT Il package java.io include classi, interfacce ed eccezioni per la gestione dellʼi/o. Si può distinguere tra due classi di funzionalità: per leggere e scrivere dati (anche in maniera indipendente
DettagliCorso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.
Corso integrato di Sistemi di Elaborazione Modulo I Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Basi di dati: introduzione 2 Introduzione Gestione delle informazioni Basi di dati / DBMS Modello dei
DettagliSistemi informativi D B M G. Introduzione. Introduzione alle basi di dati D B M G 2. Elena Baralis 2007 Politecnico di Torino 1
Sistemi informativi D B M G Introduzione D B M G 2 2007 Politecnico di Torino 1 Introduzione D B M G Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi
DettagliIndice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX
Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di
DettagliStrutture dati. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05
Strutture dati Il che cosa e il come Il che cosa ed il come Struttura dati: descrive come sono organizzati i dati e come sono realizzate le operazioni su di essi (cioe come si accede ai dati) Specifica
Dettagli1. Un array è: A. Un simbolo usato nel linguaggio C per rappresentare un numero non specificato di variabili B. Un insieme di indirizzi di memoria
Esame teorico Rispondere alle domande a risposta multipla (probabilmente 10) Eventualmente 1-2 domande a risposta libera Ogni domanda ha una ed una sola risposta corretta Tempo di risposta: 60 minuti Peso:
DettagliProgettazione Object-Oriented
Progettazione Object-Oriented Generalità, Relazione fra OOA e OOD Concetti di base: Classi e Oggetti, Relazioni fra oggetti, Ereditarietà e Polimorfismo La specifica del Progetto: notazione UML Una metodologia
DettagliRemote Method Invocation
JAVA RMI LSO 2008 Remote Method Invocation Perché RMI? L obiettivo è di permettere ad una applicazione in esecuzione su una macchina locale di invocare i metodi di un oggetto in esecuzione su un altro
DettagliJava e i Tipi di dati primitivi. Parte 3
Java e i Tipi di dati primitivi Parte 3 La nozione di tipo di dato Il tipo del dato consente di esprimere la natura del dato Indica il modo con cui verrà interpretata la sequenza di bit che rappresenta
DettagliCorso di Informatica
Corso di Informatica Modulo T5 1-Struttura Record 1 Prerequisiti Programmazione elementare Concetto di prodotto cartesiano Dati strutturati 2 1 Introduzione Lo scopo di questa Unità è introdurre il concetto
DettagliTipi di Dati Astratti
Tipi di Dati Astratti April 19, 2017 Dati e Tipi di Dato Tipo di dato: concetto di alto livello Macchina fisica: unico tipo di dato sequenze di bit Macchine Astratte: tipi di dato più complessi Tipo di
DettagliLezione 16 programmazione in Java
Lezione 16 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Approfondimenti della programmazione OO I FILE Sgli stream (flussi) I file ad
DettagliMODELLI ISO/OSI e TCP/IP
PARTE I - Reti di Calcolatori ed Internet MODELLI ISO/OSI e TCP/IP 2.1 Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto tra OSI e TCP/IP ARPANET Ethernet Reti ATM reti
DettagliJava. Java : compilatore e interprete. Programma Java. Java Virtual Machine. Il linguaggio Java è un linguaggio di programmazione ad alto livello
Java Il linguaggio Java è un linguaggio di programmazione ad alto livello algoritmo: astrazione della realtà linguaggio di programmazione: astrazione del processore variabile e tipo: astrazione della locazione
DettagliJava. Java : compilatore e interprete. Programma Java. Java Virtual Machine. Token. Alfabeto
Java Il linguaggio Java è un linguaggio di programmazione ad alto livello algoritmo: astrazione della realtà linguaggio di programmazione: astrazione del processore variabile e tipo: astrazione della locazione
DettagliJava I/O API. Java I/O. G. Grossi. 10 gennaio G. Grossi Lezione 11
Java I/O G. Grossi 10 gennaio 2007 Indice 1 Java I/O API Il sistema I/O: questioni generali Creare un buon sistema I/O è uno dei compiti più difficili per i progettisti di linguaggi Questo fatto è evidenziato
DettagliMODELLI ISO/OSI e TCP/IP
PARTE I - Reti di Calcolatori ed Internet MODELLI ISO/OSI e TCP/IP Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto tra OSI e TCP/IP ARPANET Ethernet Reti ATM reti wireless
DettagliRiassunto: cos è la OOP? classi astratte, interfacce, classi interne. Scaletta. Figura con area()? Figura senza area()? Stefano Mizzaro 1.
OO in Java: classi astratte, interfacce, classi interne Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione,
Dettagliereditarietà e polimorfismo
ereditarietà e polimorfismo Java ereditarietà o l ereditarietà permette di definire nuove classi partendo da classi sviluppate in precedenza o la nuova classe viene definita esprimendo solamente le differenze
DettagliCorso di Fondamenti di Informatica e Laboratorio
Corso di Fondamenti di Informatica e Laboratorio Corsi di Laurea Ingegneria Informatica (O-Z) Corsi di Laurea Ingegneria delle Telecomunicazioni - (A-Z) (ordinamento 03) A.A. 2009-2010 Prof. Giuseppe Mangioni
Dettagli4 - Tipi di dato primitivi
4 - Tipi di dato primitivi Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
DettagliInterpreti, compilatori e semantica operazionale
Interpreti, compilatori e semantica operazionale 1 Linguaggi di programmazione Come si comprendono le caratteristiche di un linguaggio di programmazione? Molte risposte diverse manuali, documentazione
DettagliArgomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON
XML JSON Argomenti 2 Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati XML Data Model JSON 3 XML XML extensible Markup Language 4 Modello di dati XML Nato
DettagliGestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS
2007 Politecnico di Torino 1 Basi di dati DB M B G Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS DB M B G 2 2007 Politecnico
DettagliElena Baralis 2007 Politecnico di Torino 1
2007 Politecnico di Torino 1 Basi di dati Gestione delle informazioni Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS DB M BG2 Gestione delle informazioni Le informazioni sono
DettagliVariabili e Metodi di classe Interfacce e Package Gestione di File in Java
Fondamenti di Informatica Variabili e Metodi di classe Interfacce e Package Gestione di File in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Variabili di classe: Static Una variabile di classe
DettagliUn tipo di dato astratto (ADT) definisce una categoria concettuale con le sue proprietà: una definizione di tipo
TIPI DI DATO ASTRATTO Un tipo di dato astratto (ADT) definisce una categoria concettuale con le sue proprietà: una definizione di tipo implica un dominio, D un insieme di operazioni ammissibili su oggetti
DettagliVariabili e Metodi di classe Interfacce e Package File in Java
Fondamenti di Informatica Variabili e Metodi di classe Interfacce e Package File in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Variabili di classe: Static Una variabile di classe definisce un
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA8 B1 Accesso sequenziale 1 Prerequisiti Programmazione ad oggetti Conoscenza classi di base di I/O Tecnica della programmazione 2 1 Introduzione In questa Unità vediamo
Dettaglimolteplici problemi e la realizzazione di una gran quantità di servizi, da parte
Il modello OSI. La comunicazione tra due utenti di una rete di computer implica la risoluzione di molteplici problemi e la realizzazione di una gran quantità di servizi, da parte d opportuni software ed
DettagliElena Baralis 2007 Politecnico di Torino 1
Introduzione Basi di dati DB M BG2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS DB M BG4 D B M G6 2007 Politecnico di Torino 1 D B M G7 D B M G8 D B M G9 D B
DettagliIndice. 1 Java I/O API. Indice
Indice Indice 1 Java I/O API 1 1.1 Flussi di byte in input/output....................................... 2 1.2 Leggere e scrivere su file......................................... 4 1.3 Flussi di caratteri
DettagliDati due punti sul piano calcolare la loro distanza
Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12
Dettaglitipi di dato astratti
tipi di dato astratti A. FERRARI ADT Un tipo di dato astratto o ADT (Abstract Data Type) è un tipo di dato le cui istanze possono essere manipolate con modalità che dipendono esclusivamente dalla semantica
DettagliPreparazione allo scritto di Programmazione Comunicazione Digitale / Informatica - A.A. 2012/2013
Preparazione allo scritto di Programmazione Comunicazione Digitale / Informatica - A.A. 2012/2013 Matricola:...................... Cognome:...................... Nome:...................... Informatica
DettagliJav@Lab Il linguaggio Java I file sequenziali
Jav@Lab Il linguaggio Java I file sequenziali Input e Output Secondo i canoni dei linguaggi di programmazione "procedurali" il concetto di input e output è strettamente legato al tipo di dispositivo esterno
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
DettagliTecnologie informatiche multimediali
Università degli Studi di Ferrara Facoltà di Lettere e Filosofia Corso di Laurea in «Scienze e Tecnologie della Comunicazione» aa 2011-2012 Tecnologie informatiche multimediali Prof. Giorgio Poletti giorgio.poletti@unife.it
DettagliEsercitazione OBIETTIVI DELL ESERCITAZIONE
Esercitazione OBIETTIVI DELL ESERCITAZIONE Sperimentare le classi di i/o relative a file di testo e a stream di byte Prendere confidenza con i meccanismi delle eccezioni Esercizi I/O Lo scenario GESTIONE
Dettagli