SlideShare uma empresa Scribd logo
1 de 25
Introduction à Java
Réalisé Par :
• Ahmed El ATRAI
• Mohammed JIDAL
• Abdesadek EL ASRI
Encadré Par :
M.Mohammed El Brak
Sommaire
I. Introduction
1. Le nom Java
2. C’est quoi java
3. Où utilise-t-on du Java ?
II. SpécificationJava
1. Rappels sur l’interprétation etla compilation
2. Et Java dans tout ça ?
3. C’est Quoi le « ByteCode » ?
4. C’estQuoi la « JVM » ?
III. Javaet C++
1. La nouveauté en java
2. Plateforme java
IV. Bien CommencerenJava
1 Introduction
Le nom « Java »
Origine du mot Java :
Le nom Java fut inventé dans un petit bar fréquenté par quelques membres de l'équipe
.A partir dece point, les versions varient :
 soit c’est un acronyme du nom desinventeurs (James, Arthur Van Hoff et Andy).
 soit c’est en souvenir descafés pris dans ce bar (Java = café en argot US).
 soit parce que ce langage devait pouvoir tourner sur d’autres supports que des pc et
en particulier la petite électronique des cafetières (Java signifiant café en argot
américain)
C’est Quoi Java ?
Définition :
C’est un langage de programmation orienté objet créé par
James Gosling et Patrick Naughton employés deSun
Microsystems en 1995.
Où utilise-t-on du Java ?
Application Mobile
Application Web (Applet)
Application Bureau
Carte à puce
2 Spécification Java
Rappels sur l’interprétation et la compilation
Quelque soit le langage utilisé pour écrire un programme, ce dernier devra toujours être traduit en langage
machine pour pouvoir être exécuté par le processeur.
En effet, un ordinateur ne connaît qu’une seule langue : celle de son processeur. Les langages de
programmation ne sont pas écrits dans un langage directement exécutable par le processeur : pour exécuter
un programme, il faut toujours que le code soit préalablement traduit en langage machine.
Le moment où la traduction s’effectue diffère selon les langages.
Traditionnellement on distingue deux grands types de langages :
les langages compilés tels que C/C++ , Pascal...
les langages interprétés tels que Visual Basic
Langages Compilés
Dans les langages compilés, il est nécessaire de traduire tout le code préalablement à
l'exécution, pendant une étape appelée compilation pour pouvoir ensuite exécuter le programme.
Un fichier du programme traduit en langage machine est généré (souvent, un .exe), et c’est ce fichier qui sert
de base à l’exécution.
Code Source Fichier Exécutable
Compilation Exécution
Langages interprétés
Dans les langages interprétés au contraire, l’exécution se base sur le fichier du code,
mais chaque ligne du fichier est traduite en langage machine juste avant d’être exécutée. C’est
l’interprétation.
Code Source
Interprétation
Et Java danstout ça ?
Java est un langage hybride, à la fois compilé etinterprété. On ditqu’il est
semi-compilé .
Pour simplifier, disons qu’un programme Java est compilé dans un langage qui devra ensuite être interprété.
Le résultat de la compilation n’est pas du langage machine directement exécutable (propre au processeur),
mais un code intermédiaire appelé byte-code.
Le byte-codeest intermédiaire entre le code source et le langage machine.
CodeSource
Compilation
Byte Code
Interprétation
La Machine virtuel
JVM
C’est Quoi le «ByteCode » ?
Le bytecode (signifiant en anglais, « code octal », en référence à l'octet informatique) est un code
intermédiaire entre les instructions machines et le code source, il n'est pas directement exécutable par un
processeur (à l'exception de certains processeurs gérant le bytecode Java nativement).
Le bytecode est créé par Une compilation à la volée (just-in-time compilation ou JIT compilation en anglais)
afin d’être interprété la machine virtuelle (JVM).
public class Main{
public staticvoid main(String[]args){
System.out.println("HelloWorld!’’);
}
}
.class public hello
.superjava/lang/Object
.methodpublicstatic main :([Ljava/lang/String;)V
.limitstack 10
.limitlocals 10
getstatic java/lang/System outLjava/io/PrintStream;
ldc "Hello World!"
invokevirtual java/io/PrintStream println
(Ljava/lang/Object;)V
return
.endmethod
CodeSource Brute
ByteCode
Exemple:
C’est Quoi la «JVM » ?
La machine virtuelle Java (en anglais Java virtual machine, abr. JVM) est un appareil informatique fictif qui
permet aux applications Java compilés sous forme de bytecode Java de produire les mêmes résultats quelle
que soit la plate-forme,
tant que celle-ci est pourvue de la machine virtuelle Java adéquate.
Byte Code
Interprétation
Jvm Linux
Jvm Mac Os
Jvm Windows
2 Spécification Java
La nouveauté en java
Le langage est un langage semi-compilé reprend en grande partie la syntaxe du langage C++, très utilisé par
les informaticiens. Il s’agit en fait en gros du langage « C++ » mais avec
En moins :
 les sophistications extrêmes du C ++(l’héritage multiple ,...) .
En plus :
 un renforcement de l’orientation « objet » .
 une meilleure gestion de la mémoire (via le « ramasse miette ») .
 une portabilité totale quel que soit le système d’exploitation .plus de sécurité (via la Machine
Virtuelle Java) .
Les Editions java
 J2SE[Java 2 StandardEdition] : Fournit les compilateurs, outils,
RunTime, et APIs pour écrire, déployer,et exécuter desapplets et
applications .
 J2SE[Java 2Enterprise Edition] : : Enterprise Edition qui ajoute les
API pour écrire
des applications installées sur les serveurs dans
des applications distribuées : servlet, JSP,EJB,…
 J2ME [Java 2 Micro Edition] : Micro Edition, version allégée de Java
pour écrire
des programmes embarqués (cartes àpuce/Java card, téléphones
portables,…)
2 Commencer En Java
Environnement de Développement java
Alors Pour bien commencer en java on est besoin de 2 outils.
1. Java Virtuelle Machine (JVM) :
on parle plus communément de JRE (Java Runtime Environment) pour la compilation et l’
Interprétation de nos applications.
2. IDE (Integrated Development Environment) :
C’est un environnement de développement est un ensemble d'outils , un éditeur de texte destiné à la
programmation, des fonctions qui permettent,par pression sur un bouton, de démarrer le compilateur
ou l'éditeur de liens ainsi qu'un débogueur en ligne, qui permetd'exécuter ligne par ligne le programme
en cours deconstruction.
Installer JRE [JVM]
Encartdetéléchargement
Commencez par télécharger l'environnement Java sur le site d'Oracle, comme le montre la figure suivante.
Choisissez la dernière version stable.
JRE OuJDK
Vous avez sans doute remarqué qu'on vous propose de télécharger soit le JRE, soit le JDK
(Java Development Kit).
La différence entre ces deux environnements c’est que le JRE contient tout le nécessaire pour
que vos programmes Java puissent être exécutés sur votre ordinateur ; le JDK, en plus de
contenir le JRE, contient tout le nécessaire pour développer, compiler…
Une fois que vous avez cliqué sur Download JRE, vous arrivez sur la page représentée à la
figure suivante.
IDE [environnement de développement]
En General Il existe plusieurs environnement de développement mais
on vaessayer de cité les plus célèbre et puissant .
1 2
3 4
Variables d’environnement
 PATH: doit inclure le répertoire qui contient les utilitaires Java
(javac , java , javadoc , etc .… ).
 CLASSPATH : indique le chemin de recherche des classes de l’utilisateur .
Après L’installation de ces 2 outils il faut configurer les variables d’environnement.
Note : Pour ce faire veuillez cliquer double clics sur le fichier command « Path .bat»
Les Versions java
Version Dénomination JSE/JRE Période de maintenance
1.8 Java SE 8 En cours …
1.7 Java SE 7 2011-2015
1.6 Java SE 6 2005– 2013
1.5 J2SE5.0 2002– 2009
1.4 J2SE1.3 2000– 2008
1.3 J2SE1.3 2000– 2001
1.2 J2SE1.2 2000– 2006
1.1 Java 1.1 1997– 2000
1.0 Java 1.0 1996-2000
Webographie
http://www.wikipedia.com
http://fr.openclassrooms.com
http:// pourquoietcomment.voila.net/b.textes.pdf/Scientifique/java.pdf
De Votre Attention !
Merci

Mais conteúdo relacionado

Mais procurados

Introduction java
Introduction javaIntroduction java
Introduction javaFouad Root
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro javaAmel Morchdi
 
Ez18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshellEz18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshellgdigugli
 
Introduction à TeamCity
Introduction à TeamCityIntroduction à TeamCity
Introduction à TeamCityUlrich VACHON
 
Subversion - Utilisation et bonnes pratiques
Subversion - Utilisation et bonnes pratiquesSubversion - Utilisation et bonnes pratiques
Subversion - Utilisation et bonnes pratiquesJérôme Vieilledent
 
Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012Jean-Marc Fontaine
 
.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tousMicrosoft
 
Introduction TypeScript
Introduction TypeScriptIntroduction TypeScript
Introduction TypeScriptfelixbillon
 
Gestion des dépendances dans un projet PHP - RMLL 2012
Gestion des dépendances dans un projet PHP - RMLL 2012Gestion des dépendances dans un projet PHP - RMLL 2012
Gestion des dépendances dans un projet PHP - RMLL 2012Jean-Marc Fontaine
 
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsBuild automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsCocoaHeads France
 

Mais procurados (14)

Introduction java
Introduction javaIntroduction java
Introduction java
 
Vbnet
VbnetVbnet
Vbnet
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro java
 
UKO-JAVA1001-slides
UKO-JAVA1001-slidesUKO-JAVA1001-slides
UKO-JAVA1001-slides
 
Ez18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshellEz18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshell
 
Tour Horizont.Net
Tour Horizont.NetTour Horizont.Net
Tour Horizont.Net
 
Introduction à TeamCity
Introduction à TeamCityIntroduction à TeamCity
Introduction à TeamCity
 
Subversion - Utilisation et bonnes pratiques
Subversion - Utilisation et bonnes pratiquesSubversion - Utilisation et bonnes pratiques
Subversion - Utilisation et bonnes pratiques
 
Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012
 
.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous
 
Architecture .net
Architecture  .netArchitecture  .net
Architecture .net
 
Introduction TypeScript
Introduction TypeScriptIntroduction TypeScript
Introduction TypeScript
 
Gestion des dépendances dans un projet PHP - RMLL 2012
Gestion des dépendances dans un projet PHP - RMLL 2012Gestion des dépendances dans un projet PHP - RMLL 2012
Gestion des dépendances dans un projet PHP - RMLL 2012
 
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsBuild automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
 

Destaque

Gestion de consommation d'eau et d’Électricité
Gestion de consommation d'eau et d’ÉlectricitéGestion de consommation d'eau et d’Électricité
Gestion de consommation d'eau et d’ÉlectricitéAhmed EL ATARI
 
Guide Touristique de Tanger { App Mobile }
Guide Touristique de Tanger { App Mobile }Guide Touristique de Tanger { App Mobile }
Guide Touristique de Tanger { App Mobile }Ahmed EL ATARI
 
Applications De La télédétection à l'océanographie
Applications De La télédétection à l'océanographieApplications De La télédétection à l'océanographie
Applications De La télédétection à l'océanographieAhmed EL ATARI
 
Télédétection et les Ilots de chaleur urbains
Télédétection et les Ilots de chaleur urbainsTélédétection et les Ilots de chaleur urbains
Télédétection et les Ilots de chaleur urbainsAhmed EL ATARI
 
Partie 1 - Assainissement sur AutoCad 2007 et 2004
Partie 1  -  Assainissement sur AutoCad 2007 et 2004Partie 1  -  Assainissement sur AutoCad 2007 et 2004
Partie 1 - Assainissement sur AutoCad 2007 et 2004Ahmed EL ATARI
 
Partie 2 - Assainissement sur AutoCad 2007 et 2004
Partie 2  -  Assainissement sur AutoCad 2007 et 2004Partie 2  -  Assainissement sur AutoCad 2007 et 2004
Partie 2 - Assainissement sur AutoCad 2007 et 2004Ahmed EL ATARI
 
Etude de voirie et d'assainissement du lotissement Beni Amir à Fkih Ben Saleh
Etude de voirie et d'assainissement du lotissement Beni Amir à Fkih Ben SalehEtude de voirie et d'assainissement du lotissement Beni Amir à Fkih Ben Saleh
Etude de voirie et d'assainissement du lotissement Beni Amir à Fkih Ben Salehhydrolicien
 

Destaque (8)

Gestion de consommation d'eau et d’Électricité
Gestion de consommation d'eau et d’ÉlectricitéGestion de consommation d'eau et d’Électricité
Gestion de consommation d'eau et d’Électricité
 
Guide Touristique de Tanger { App Mobile }
Guide Touristique de Tanger { App Mobile }Guide Touristique de Tanger { App Mobile }
Guide Touristique de Tanger { App Mobile }
 
Applications De La télédétection à l'océanographie
Applications De La télédétection à l'océanographieApplications De La télédétection à l'océanographie
Applications De La télédétection à l'océanographie
 
Télédétection et les Ilots de chaleur urbains
Télédétection et les Ilots de chaleur urbainsTélédétection et les Ilots de chaleur urbains
Télédétection et les Ilots de chaleur urbains
 
Gestion de stress
Gestion de stressGestion de stress
Gestion de stress
 
Partie 1 - Assainissement sur AutoCad 2007 et 2004
Partie 1  -  Assainissement sur AutoCad 2007 et 2004Partie 1  -  Assainissement sur AutoCad 2007 et 2004
Partie 1 - Assainissement sur AutoCad 2007 et 2004
 
Partie 2 - Assainissement sur AutoCad 2007 et 2004
Partie 2  -  Assainissement sur AutoCad 2007 et 2004Partie 2  -  Assainissement sur AutoCad 2007 et 2004
Partie 2 - Assainissement sur AutoCad 2007 et 2004
 
Etude de voirie et d'assainissement du lotissement Beni Amir à Fkih Ben Saleh
Etude de voirie et d'assainissement du lotissement Beni Amir à Fkih Ben SalehEtude de voirie et d'assainissement du lotissement Beni Amir à Fkih Ben Saleh
Etude de voirie et d'assainissement du lotissement Beni Amir à Fkih Ben Saleh
 

Semelhante a Introduction à Java

Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'artInes Ouaz
 
Objet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonomeObjet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonomeformationobjetdirect
 
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptxRihabBENLAMINE
 
Java-Introduction (1).pdf
Java-Introduction (1).pdfJava-Introduction (1).pdf
Java-Introduction (1).pdfKuateTanguy2
 
Environnement java
Environnement javaEnvironnement java
Environnement javaInes Ouaz
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
Java uik-chap2-dev java
Java uik-chap2-dev javaJava uik-chap2-dev java
Java uik-chap2-dev javaAmel Morchdi
 
1758yyui3-jjjujujjiopoooooAcetatesA0.ppt
1758yyui3-jjjujujjiopoooooAcetatesA0.ppt1758yyui3-jjjujujjiopoooooAcetatesA0.ppt
1758yyui3-jjjujujjiopoooooAcetatesA0.pptMohamed827334
 
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fêteC# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fêteFabrice JEAN-FRANCOIS
 

Semelhante a Introduction à Java (20)

Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'art
 
Chap 02 poo en java
Chap 02 poo en javaChap 02 poo en java
Chap 02 poo en java
 
Objet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonomeObjet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonome
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
 
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
 
Rapport tp1 j2ee
Rapport tp1 j2eeRapport tp1 j2ee
Rapport tp1 j2ee
 
Java-Introduction (1).pdf
Java-Introduction (1).pdfJava-Introduction (1).pdf
Java-Introduction (1).pdf
 
Environnement java
Environnement javaEnvironnement java
Environnement java
 
Chapitre 1
Chapitre 1Chapitre 1
Chapitre 1
 
openFrameworks
openFrameworksopenFrameworks
openFrameworks
 
Javaoop
JavaoopJavaoop
Javaoop
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Java uik-chap2-dev java
Java uik-chap2-dev javaJava uik-chap2-dev java
Java uik-chap2-dev java
 
1758yyui3-jjjujujjiopoooooAcetatesA0.ppt
1758yyui3-jjjujujjiopoooooAcetatesA0.ppt1758yyui3-jjjujujjiopoooooAcetatesA0.ppt
1758yyui3-jjjujujjiopoooooAcetatesA0.ppt
 
1-android.pdf
1-android.pdf1-android.pdf
1-android.pdf
 
JAVA Chapitre1
JAVA Chapitre1 JAVA Chapitre1
JAVA Chapitre1
 
Java j2ee
Java j2eeJava j2ee
Java j2ee
 
Tutoriel java
Tutoriel javaTutoriel java
Tutoriel java
 
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fêteC# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
 

Mais de Ahmed EL ATARI

EST Essaouira (Spring Coding Day) 2014 - Problème 2
EST Essaouira (Spring Coding Day) 2014 - Problème 2EST Essaouira (Spring Coding Day) 2014 - Problème 2
EST Essaouira (Spring Coding Day) 2014 - Problème 2Ahmed EL ATARI
 
EST Essaouira (Spring Coding Day) 2014 - Problème 1
EST Essaouira (Spring Coding Day) 2014 - Problème 1EST Essaouira (Spring Coding Day) 2014 - Problème 1
EST Essaouira (Spring Coding Day) 2014 - Problème 1Ahmed EL ATARI
 
Rapport - Création d'une image panoramique
Rapport - Création d'une image panoramiqueRapport - Création d'une image panoramique
Rapport - Création d'une image panoramiqueAhmed EL ATARI
 
Rapport - Télédétection et Ilots de chaleur urbains
Rapport - Télédétection et Ilots de chaleur urbains Rapport - Télédétection et Ilots de chaleur urbains
Rapport - Télédétection et Ilots de chaleur urbains Ahmed EL ATARI
 
Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²
Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²
Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²Ahmed EL ATARI
 
TP / Traitement d'image : Discrimination de Texture
TP / Traitement d'image : Discrimination de TextureTP / Traitement d'image : Discrimination de Texture
TP / Traitement d'image : Discrimination de TextureAhmed EL ATARI
 
Applications de La Télédétection en océanographie
Applications de  La Télédétection en océanographieApplications de  La Télédétection en océanographie
Applications de La Télédétection en océanographieAhmed EL ATARI
 
Analyse de Donnée { ACP } sous XLSTAT
Analyse de Donnée { ACP } sous XLSTAT Analyse de Donnée { ACP } sous XLSTAT
Analyse de Donnée { ACP } sous XLSTAT Ahmed EL ATARI
 
Diagramme de VORONOÏ et Triangulation Delaunay
Diagramme de VORONOÏ et Triangulation Delaunay  Diagramme de VORONOÏ et Triangulation Delaunay
Diagramme de VORONOÏ et Triangulation Delaunay Ahmed EL ATARI
 
Généralisation Cartographique
Généralisation CartographiqueGénéralisation Cartographique
Généralisation CartographiqueAhmed EL ATARI
 

Mais de Ahmed EL ATARI (12)

EST Essaouira (Spring Coding Day) 2014 - Problème 2
EST Essaouira (Spring Coding Day) 2014 - Problème 2EST Essaouira (Spring Coding Day) 2014 - Problème 2
EST Essaouira (Spring Coding Day) 2014 - Problème 2
 
EST Essaouira (Spring Coding Day) 2014 - Problème 1
EST Essaouira (Spring Coding Day) 2014 - Problème 1EST Essaouira (Spring Coding Day) 2014 - Problème 1
EST Essaouira (Spring Coding Day) 2014 - Problème 1
 
Rapport - Création d'une image panoramique
Rapport - Création d'une image panoramiqueRapport - Création d'une image panoramique
Rapport - Création d'une image panoramique
 
Compte rendu -
Compte rendu -  Compte rendu -
Compte rendu -
 
Rapport - Télédétection et Ilots de chaleur urbains
Rapport - Télédétection et Ilots de chaleur urbains Rapport - Télédétection et Ilots de chaleur urbains
Rapport - Télédétection et Ilots de chaleur urbains
 
Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²
Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²
Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²
 
TP / Traitement d'image : Discrimination de Texture
TP / Traitement d'image : Discrimination de TextureTP / Traitement d'image : Discrimination de Texture
TP / Traitement d'image : Discrimination de Texture
 
Applications de La Télédétection en océanographie
Applications de  La Télédétection en océanographieApplications de  La Télédétection en océanographie
Applications de La Télédétection en océanographie
 
GIS
GISGIS
GIS
 
Analyse de Donnée { ACP } sous XLSTAT
Analyse de Donnée { ACP } sous XLSTAT Analyse de Donnée { ACP } sous XLSTAT
Analyse de Donnée { ACP } sous XLSTAT
 
Diagramme de VORONOÏ et Triangulation Delaunay
Diagramme de VORONOÏ et Triangulation Delaunay  Diagramme de VORONOÏ et Triangulation Delaunay
Diagramme de VORONOÏ et Triangulation Delaunay
 
Généralisation Cartographique
Généralisation CartographiqueGénéralisation Cartographique
Généralisation Cartographique
 

Introduction à Java

  • 1. Introduction à Java Réalisé Par : • Ahmed El ATRAI • Mohammed JIDAL • Abdesadek EL ASRI Encadré Par : M.Mohammed El Brak
  • 2. Sommaire I. Introduction 1. Le nom Java 2. C’est quoi java 3. Où utilise-t-on du Java ? II. SpécificationJava 1. Rappels sur l’interprétation etla compilation 2. Et Java dans tout ça ? 3. C’est Quoi le « ByteCode » ? 4. C’estQuoi la « JVM » ? III. Javaet C++ 1. La nouveauté en java 2. Plateforme java IV. Bien CommencerenJava
  • 4. Le nom « Java » Origine du mot Java : Le nom Java fut inventé dans un petit bar fréquenté par quelques membres de l'équipe .A partir dece point, les versions varient :  soit c’est un acronyme du nom desinventeurs (James, Arthur Van Hoff et Andy).  soit c’est en souvenir descafés pris dans ce bar (Java = café en argot US).  soit parce que ce langage devait pouvoir tourner sur d’autres supports que des pc et en particulier la petite électronique des cafetières (Java signifiant café en argot américain)
  • 5. C’est Quoi Java ? Définition : C’est un langage de programmation orienté objet créé par James Gosling et Patrick Naughton employés deSun Microsystems en 1995.
  • 6. Où utilise-t-on du Java ? Application Mobile Application Web (Applet) Application Bureau Carte à puce
  • 8. Rappels sur l’interprétation et la compilation Quelque soit le langage utilisé pour écrire un programme, ce dernier devra toujours être traduit en langage machine pour pouvoir être exécuté par le processeur. En effet, un ordinateur ne connaît qu’une seule langue : celle de son processeur. Les langages de programmation ne sont pas écrits dans un langage directement exécutable par le processeur : pour exécuter un programme, il faut toujours que le code soit préalablement traduit en langage machine. Le moment où la traduction s’effectue diffère selon les langages. Traditionnellement on distingue deux grands types de langages : les langages compilés tels que C/C++ , Pascal... les langages interprétés tels que Visual Basic
  • 9. Langages Compilés Dans les langages compilés, il est nécessaire de traduire tout le code préalablement à l'exécution, pendant une étape appelée compilation pour pouvoir ensuite exécuter le programme. Un fichier du programme traduit en langage machine est généré (souvent, un .exe), et c’est ce fichier qui sert de base à l’exécution. Code Source Fichier Exécutable Compilation Exécution
  • 10. Langages interprétés Dans les langages interprétés au contraire, l’exécution se base sur le fichier du code, mais chaque ligne du fichier est traduite en langage machine juste avant d’être exécutée. C’est l’interprétation. Code Source Interprétation
  • 11. Et Java danstout ça ? Java est un langage hybride, à la fois compilé etinterprété. On ditqu’il est semi-compilé . Pour simplifier, disons qu’un programme Java est compilé dans un langage qui devra ensuite être interprété. Le résultat de la compilation n’est pas du langage machine directement exécutable (propre au processeur), mais un code intermédiaire appelé byte-code. Le byte-codeest intermédiaire entre le code source et le langage machine. CodeSource Compilation Byte Code Interprétation La Machine virtuel JVM
  • 12. C’est Quoi le «ByteCode » ? Le bytecode (signifiant en anglais, « code octal », en référence à l'octet informatique) est un code intermédiaire entre les instructions machines et le code source, il n'est pas directement exécutable par un processeur (à l'exception de certains processeurs gérant le bytecode Java nativement). Le bytecode est créé par Une compilation à la volée (just-in-time compilation ou JIT compilation en anglais) afin d’être interprété la machine virtuelle (JVM). public class Main{ public staticvoid main(String[]args){ System.out.println("HelloWorld!’’); } } .class public hello .superjava/lang/Object .methodpublicstatic main :([Ljava/lang/String;)V .limitstack 10 .limitlocals 10 getstatic java/lang/System outLjava/io/PrintStream; ldc "Hello World!" invokevirtual java/io/PrintStream println (Ljava/lang/Object;)V return .endmethod CodeSource Brute ByteCode Exemple:
  • 13. C’est Quoi la «JVM » ? La machine virtuelle Java (en anglais Java virtual machine, abr. JVM) est un appareil informatique fictif qui permet aux applications Java compilés sous forme de bytecode Java de produire les mêmes résultats quelle que soit la plate-forme, tant que celle-ci est pourvue de la machine virtuelle Java adéquate. Byte Code Interprétation Jvm Linux Jvm Mac Os Jvm Windows
  • 15. La nouveauté en java Le langage est un langage semi-compilé reprend en grande partie la syntaxe du langage C++, très utilisé par les informaticiens. Il s’agit en fait en gros du langage « C++ » mais avec En moins :  les sophistications extrêmes du C ++(l’héritage multiple ,...) . En plus :  un renforcement de l’orientation « objet » .  une meilleure gestion de la mémoire (via le « ramasse miette ») .  une portabilité totale quel que soit le système d’exploitation .plus de sécurité (via la Machine Virtuelle Java) .
  • 16. Les Editions java  J2SE[Java 2 StandardEdition] : Fournit les compilateurs, outils, RunTime, et APIs pour écrire, déployer,et exécuter desapplets et applications .  J2SE[Java 2Enterprise Edition] : : Enterprise Edition qui ajoute les API pour écrire des applications installées sur les serveurs dans des applications distribuées : servlet, JSP,EJB,…  J2ME [Java 2 Micro Edition] : Micro Edition, version allégée de Java pour écrire des programmes embarqués (cartes àpuce/Java card, téléphones portables,…)
  • 18. Environnement de Développement java Alors Pour bien commencer en java on est besoin de 2 outils. 1. Java Virtuelle Machine (JVM) : on parle plus communément de JRE (Java Runtime Environment) pour la compilation et l’ Interprétation de nos applications. 2. IDE (Integrated Development Environment) : C’est un environnement de développement est un ensemble d'outils , un éditeur de texte destiné à la programmation, des fonctions qui permettent,par pression sur un bouton, de démarrer le compilateur ou l'éditeur de liens ainsi qu'un débogueur en ligne, qui permetd'exécuter ligne par ligne le programme en cours deconstruction.
  • 19. Installer JRE [JVM] Encartdetéléchargement Commencez par télécharger l'environnement Java sur le site d'Oracle, comme le montre la figure suivante. Choisissez la dernière version stable.
  • 20. JRE OuJDK Vous avez sans doute remarqué qu'on vous propose de télécharger soit le JRE, soit le JDK (Java Development Kit). La différence entre ces deux environnements c’est que le JRE contient tout le nécessaire pour que vos programmes Java puissent être exécutés sur votre ordinateur ; le JDK, en plus de contenir le JRE, contient tout le nécessaire pour développer, compiler… Une fois que vous avez cliqué sur Download JRE, vous arrivez sur la page représentée à la figure suivante.
  • 21. IDE [environnement de développement] En General Il existe plusieurs environnement de développement mais on vaessayer de cité les plus célèbre et puissant . 1 2 3 4
  • 22. Variables d’environnement  PATH: doit inclure le répertoire qui contient les utilitaires Java (javac , java , javadoc , etc .… ).  CLASSPATH : indique le chemin de recherche des classes de l’utilisateur . Après L’installation de ces 2 outils il faut configurer les variables d’environnement. Note : Pour ce faire veuillez cliquer double clics sur le fichier command « Path .bat»
  • 23. Les Versions java Version Dénomination JSE/JRE Période de maintenance 1.8 Java SE 8 En cours … 1.7 Java SE 7 2011-2015 1.6 Java SE 6 2005– 2013 1.5 J2SE5.0 2002– 2009 1.4 J2SE1.3 2000– 2008 1.3 J2SE1.3 2000– 2001 1.2 J2SE1.2 2000– 2006 1.1 Java 1.1 1997– 2000 1.0 Java 1.0 1996-2000