La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Introduzione a Java. Argomenti Cenni di storia di Java Perché Java? Java Vs C++ Caratteristiche fondamentali di Java Installiamo Java.

Presentazioni simili


Presentazione sul tema: "Introduzione a Java. Argomenti Cenni di storia di Java Perché Java? Java Vs C++ Caratteristiche fondamentali di Java Installiamo Java."— Transcript della presentazione:

1 Introduzione a Java

2 Argomenti Cenni di storia di Java Perché Java? Java Vs C++ Caratteristiche fondamentali di Java Installiamo Java

3 Obiettivi Introdurre Java Capire cosè Java Installare Java Scrivere ed eseguire il Vostro primo programa Java

4 1991Sun Microsystems James Goslin & Green Team Oak Oak, derivato da C & C++ Java Cenni di storia di Java Creare strumento di controllo di piccole apparecchiature Elettroniche di largo consumo (decoder TV e lavatrici). Linguaggio standard e indipendente dalla piattaforma Fallimento! 23 Maggio 1995 Annuncio nascita Java 23 Gennaio 1996 JDK 1.0 WEB! 8 Dicembre 1998 Java 2 platform

5 Perché Java? Disponibile per praticamente tutte le piattaforme (W.O.R.E. Write Once Run Everywhere) Gratuito e open source Standardizzato Semplifica attività solitamente complesse (networking, GUI(uso dellinterfaccia grafica) multipiattaforma) Completamente O.O. (Object Oriented) Permette il multi threading Enorme numero di API e di progetti paralleli Più robusto di C (puntatori, più controlli compile time)

6 Perché Java? Più lento di C++ Impossibile accedere alla parte di codice plattform specific

7 Java Vs C++ Puntatori (non è possibile accesso diretto ad aree di memoria) Distruttori (Garbage Collection [ripulitura di spazio] automatico) Templates Ereditarietà multipla … Java è C++ meno: Obiettivo principale di SUN Eliminare complessità continua…

8 Per capire Java…è necessario un piccolo passo indietro LINGUAGGI INTERPRETATICOMPILATI VB,.NET, C/C++… 1.Macchina 2.Assembly 3.Di alto livello ADD OVERPAY Assembler Sorgente File Binario Compilatore Tutto il file Non modificabile, illeggibileSorgente File Binario Interprete Riga per riga Dipende dalla macchina HTML

9 Java è una via di mezzo INTERPRETATICOMPILATI Sorgente (.java) Eseguito Interprete Semi compilato Platform Indipendent Compilatore BYTECODE (.class) Platform Indipendent Portabile JVM Specifica per il SO in cui viene eseguito il sorgente Compile-time Run-time

10 Java Vs C++ (2) C++ Compiler Java Compiler Java Virtual Machine C++ Source (*.c)Java Source (*.java) Byte-code (*.class) Client Platform (hardware/operating system) (machine independent) (machine dependent)

11 La Java Virtual Machine macchina virtualebytecode macchina virtuale che esegue i programmi in linguaggio Java bytecode, ovvero i prodotti della compilazione dei sorgenti Java Fonte: Wikipedia Ogni architettura possiede una specifica versione software versione hardware di SUN + Ogni browser ha una versione della JVM implementata al suo interno + Realizza un ambiente di esecuzione omogeneo, che nasconde al software Java (e quindi al programmatore) qualsiasi specificità del sistema operativo sottostante Software applicativo Java Java Virtual Machine Sistema Operativo

12 Architettura della JVM (1) A.class B.class C.class class loader Java API class files execution engine Sistema Operativo Host JVM bytecode native method invocations

13 Architettura della JVM (2).class files Class Loader Area dei Metodi Area di HeapJavaStacksRegistri del pc Native methods Stacks Runtime data areas Execution Engine **

14 Method area È condivisa tra tutti i thread Memorizza le strutture relative alle classi: - type information - constant pool - field information - method information - variabili di classe (static) - riferimento alla classe ClassLoader - riferimento alla classe Class Quando la JVM carica un tipo (classe), il class loader legge le informazioni relative dal class file e le passa nuovamente alla JVM la quale le memorizza nella method area

15 Heap Viene creato allavvio della JVM È condiviso tra tutti i thread In esso vi sono allocate tutte le istanze delle classi e gli array È gestito dal garbage collector NOTA: la Sun, nelle specifiche della JVM, non definisce la rappresentazione degli oggetti né il funzionamento del garbage collector; una possibile rappresentazione degli oggetti è la seguente: Object reference 1 Class 1 data ptr to class data instance data Object reference 2 ptr to class data instance data Class 2 data HeapMethod area

16 Fasi di esecuzione di un programma Java Scrittura e modifica Editor Compilazione Compilatore Caricamento ClassLoader Verifica Verificatore di Bytecode Esecuzione JVM Disco Memoria Primaria Memoria Primaria Memoria Primaria Utente crea file.java Crea bytecode e li memorizza come.class Legge i.class e li mette in memoria Verifica correttezza bytecode e vincoli sicurezza Traduce bytecode in linguaggio comprensibile dalla macchina

17 Il Garbage Collector (GC) modalità automatica di gestione della memoria, mediante la quale un sistema operativo, o un compilatore e un modulo di run-time, liberano le porzioni di memoria che non dovranno più essere successivamente utilizzate dalle applicazioni Fonte: Wikipedia Alcuni linguaggi (C, C++) prevedono che sia il programmatore a implementarlo. Vs Java possiede sistema di garbage collection integrato nella JVM Previene due categorie di errori Dangling PointerMemory Leak Rilascio erroneo di memoria ancora in uso Mancato rilascio di memoria non più accessibile Lavora sulla zona Heap

18 Java Platforms SUN sviluppa e rilascia 3 tipologie di piattaforme Java Java SE Java ME Java EE Standard Edition Applicazioni desktop Micro Edition Applicazioni mobile Enterprise Edition Applicazioni Server Noi lavoreremo su questa piattaforma Parte WEB Versione 6 Versione 1.1 Versione 5

19 Architettura Java JDK (Java Developmet Kit). Pacchetto per sviluppare applicazioni Java JRE (Java Runtimme Enviorment). Ambiente per lanciare applicazioni Java

20 Preparare lambiente di sviluppo per Java Scaricare ed installare la JDK 1.6 Settare il CLASSPATH Scaricare ed installare lIDE (facoltativo) 3 Step:

21 Installare il JDK (1) 1.Doppio click su file jdk-6u10-windows-i586-p.exe 2. Accettare la licenza 3. Click su Next

22 Installare il JDK (2) 4. Attendere la preparazione dellinstallazione 5. Selezionare la cartella di destinazione

23 Installare il JDK (3) 6. Attendere il completamento dellinstallazione 7. Click su finish

24 Verifichiamo la corretta installazione del JDK javac.exe compilatore java.exe interprete JVM java -version Apriamo shell di dos: ?

25 Settare il CLASSPATH CLASSPATH: Variabile dambiente del SO che include tutte le cartelle contenenti file eseguibili da lanciare senza specificarne lindirizzo ogni volta a 3b 3c 3c: Aggiungere dopo ; il path: C:\Programmi\Java\jdk1.6.0_10\bin Nb: Verificare che contenga il riferimento a.

26 Installare lIDE Eclipse un editor di codice sorgente, un compilatore e/o un interprete, un tool di building automatico, e (solitamente) un debugger IDE Integrated Development Environment Normalmente consiste in: OpenSource, Free, sviluppato in Java, supporta molti linguaggi, architettura a Plugin. OpenSource, Free, sviluppato in Java da SUN, supporta alcuni linguaggi, adatto per applicazioni grafiche e web. Solo in versione commerciale, nato e sviluppato per lavorare in Java Scompattare larchivio

27 So far so good? Trasformiamoci in sviluppatori Java MA SENZA IDE!!! Apriamo il notepad e scriviamo: Salviamo il file con estensione.java Nome della classe = Nome del file Apriamo shell di DOS e posizioniamoci nella cartella in cui avete salvato il file javac Test.java java Test Ha creato Test.class? dir Hello World! 1) 2)

28 CorpoDellaClasse Dichiarazione della classe Dichiarazione del metodo main Chiamata al metodo println della classe System Cosa abbiamo appena scritto?

29 HTML JAVA I prodotti di Java APPLICAZIONI STAND ALONE APPLET APPLICAZIONI WEB (J2EE) Applicazione che gira allinterno del Browser sandbox Applicazione in formato jar installata in locale Applicazione Web con pagine html e classi Java java -jar app.jar

30 Riassumiamo… …domande?


Scaricare ppt "Introduzione a Java. Argomenti Cenni di storia di Java Perché Java? Java Vs C++ Caratteristiche fondamentali di Java Installiamo Java."

Presentazioni simili


Annunci Google