La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Introduzione a Java.

Presentazioni simili


Presentazione sul tema: "Introduzione a 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 Cenni di storia di Java 1991 Sun Microsystems Fallimento! WEB!
James Goslin & Green Team Oak, derivato da C & C++ Creare strumento di controllo di piccole apparecchiature Elettroniche di largo consumo (decoder TV e lavatrici). Fallimento! Linguaggio standard e indipendente dalla piattaforma Java WEB! 23 Maggio Annuncio nascita Java 23 Gennaio JDK 1.0 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 dell’interfaccia 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++ Java è C++ meno: Obiettivo principale di SUN
Puntatori (non è possibile accesso diretto ad aree di memoria) Distruttori (Garbage Collection [ripulitura di spazio] automatico) Templates Ereditarietà multipla Obiettivo principale di SUN Eliminare complessità continua…

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

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

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

11 La Java Virtual Machine
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 Realizza un ambiente di esecuzione omogeneo, che nasconde al software Java (e quindi al programmatore) qualsiasi specificità del sistema operativo sottostante + versione hardware di SUN + Ogni browser ha una versione della JVM implementata al suo interno Software applicativo Java Java Virtual Machine Sistema Operativo

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

13 Architettura della JVM (2)
Class Loader .class files Area dei Metodi Area di Heap Java Stacks Registri del pc Native methods 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 all’avvio 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: Class 1 data ptr to class data instance data Object reference 1 ptr to class data instance data Class 2 data Object reference 2 Heap Method area

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

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 Lavora sulla zona Heap Previene due categorie di errori Dangling Pointer Memory Leak Rilascio erroneo di memoria ancora in uso Mancato rilascio di memoria non più accessibile

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

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

20 Preparare l’ambiente di sviluppo per Java
3 Step: Scaricare ed installare la JDK 1.6 Settare il CLASSPATH Scaricare ed installare l’IDE (facoltativo)

21 Installare il JDK (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 dell’installazione
5. Selezionare la cartella di destinazione

23 Installare il JDK (3) 6. Attendere il completamento dell’installazione
7. Click su finish

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

25 Settare il CLASSPATH 3c 1 2 3a 3b
CLASSPATH: Variabile d’ambiente del SO che include tutte le cartelle contenenti file eseguibili da lanciare senza specificarne l’indirizzo ogni volta. 1 2 3a 3b 3c 3c: Aggiungere dopo “;” il path: C:\Programmi\Java\jdk1.6.0_10\bin Nb: Verificare che contenga il riferimento a “.”

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

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

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

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

30 Riassumiamo… …domande?


Scaricare ppt "Introduzione a Java."

Presentazioni simili


Annunci Google