Présentation de Java 2006 INSA lyon

Slides:



Advertisements
Présentations similaires
Développement dapplications sur mobiles.NET et J2ME, C++ et Symbian WIPLIER Thomas – M2IRT2009 – 15/02/2007.
Advertisements

Mobiles Services and Midlets
Java ? Printemps 90 : Naughton, Gosling et Sheridan : –"Le consommateur est le centre du projet, il faut construire un environnement de petite taille avec.
Présentation de Java Stéphane Frénot INSA lyon
Projet de veille technologique
Programmation Orienté Objet Application Au Langage JAVA Licence professionnelle ATC ~ 07/08 Bessem BOURAOUI
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 1 : Introduction.
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Introduction à la programmation objet avec java
Premiers pas dans le langage Java 2012/ Premiers pas dans le langage Java TI3.4 Responsable : M lle Sana Ezzedine
Introduction à Java Caractéristiques principales Environnement Java Environnement de développement Compilation et exécution.
Le débogage Semaine 12 Version A15. Plan de leçon - Débogage  Commentaire javadoc  Définition  Fonctionnement  Point d’arrêt  Exécution  Contrôler.
Stéphane Frénot, Frédéric Laforest, Frédéric Le Mouël IJA 1 IJA – TD 8 Les threads en Java.
Composants Matériels de l'Ordinateur Plan du cours : Ordinateurs et applications Types d'ordinateurs Représentation binaires des données Composants et.
Projet tuteuré 2009 Les clients légers Alexandre Cédric Joël Benjamin.
Système de gestion d'entrées pour un cinéma Scanvion Michel – Etudiant 4.
Travailler à l'ensimag avec son matériel personnel (dans les locaux Ensimag ou depuis l'extérieur) 1.Introduction 2.La clé USB Ensilinux 3.Rappels : Accès.
Cloud computing Présenté par Robert Ogryzek, Teddy Frontin, Kevin Lambert et Matthew Cronne.
Créat. : 23/09/2016 Modif. : 23/09/2016 Bogdan Stefanescu > Connectivité CPS et Eclipse Solutions Linux 2006.
Développement à l'Aide de Langages Dynamiques : Smalltalk module IT308: Méthodologies et outils logiciels Nada Ayad, Damien Cassou et Annabelle Souc.
LES FONCTIONS D'UN SYSTEME D'EXPLOITATION ● Le système d'exploitation contrôle entièrement les ressources matérielles locales. ● Il est responsable de.
Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 1 TD 3 IJA Bases du langage bibliothèques standards composition communication entre objets.
Java - la plateforme. Java – la plateforme ● Java ? ● VM ● GC ● JIT.
Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 1 TD 6 IJA Structures de données JAVA.
Revue N°1 : Projet DECMA BTS IRIS – 903 Étudiant : Florent BONNET.
MDA ( Model Driven Architecture ). Introduction Model Driven Architecture ● Framework ● Développement de logiciels ● Object Management Group (OMG) ●
Frédéric Le Mouël, Stéphane Frénot, Frédérique Laforest, Tarak Chaari – Dpt TC JAV 1 JAV – TD 8 Les threads en Java.
Xen et l' Art de la Virtualization Antoine Nivard Responsable technique Adéquat région Ouest Responsable de Site francophone de XEN Computer.
Flex Web Roster 1TER 2012 Engilberge, Lludice, M'rah.
Plugin Eclipse pour le langage LUA Responsable Fabrice Huet Chef de Projet Jérôme Poisson Développeurs Lu Deng Guillaume Ghibaudo Julien Raverdino Anthony.
Portage d'une application sur GPU CreditCruncher.
1 Y a-t-il une place pour Opensocial dans l'enseignement supérieur ? David Verdin RENATER JRES - Toulouse – novembre 2011.
Windows NT/2000/XP Enjeux et contraintes techniques
Traitement d'images en Java avec JAI
Android PACT 2016 Encadrement Informatique.
JAVA.
Communication client-serveur
Architecture Informatique
Veille technologique Android
Microsoft SQL Server La Base de Données des plates formes Windows NT
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Javadoc et débogueur Semaine 03 Version A17.
Journée Analyse D0, 19 janvier 2004
Clients riches RIA (Rich Internet Application) / RDA
Chapitre 12 Surveillance des ressources et des performances
Java EPITECH 2009
Programmation Orientée Objet I. Introduction
Le moniteur Le clavier L'unité centrale (l'ordinateur proprement dit) Qui sont des périphériques DEFINITIONS DE BASE.
Green IT & Cloud L’empreinte écologique de vos actions numériques & règles juridiques. Désiré BRUCKMANN.
Système flexible de Workflow pour la plate-forme Motu
Programmation système
Réalisé par BENJLILA Med
LE SYSTÈME D'EXPLOITATION
Programmation Android Introduction à Android
Le moniteur Le clavier L'unité centrale (l'ordinateur proprement dit) Qui sont des périphériques DEFINITIONS DE BASE.
Plus de 4000 langages....
Service web Réalise par: Latifa Gamoun Mariem jridi Majdouline Hassni Service web Réalise par: Latifa Gamoun Mariem jridi Majdouline Hassni 1.
Java, open GL et la mobilité
Auditeur: Léonardo AMODIO Cours: NFE107
Le Java premiers pas.
Architectures Logicielles Java GLG203 GLG204
Missions Locales Serveur Mutualisé
5 Interface entre SQL et un programme
Serveurs d’applications
BIOS- OS Environnement logiciel PC / Traitement numérique / Contrôle.
Système d’exploitation: Principe IFT6800 – E 2008 Pierre Poulin.
Java EPITECH 2009
1 DEPLOIEMENT D’UN SYSTEME DE REPARTITION DE CHARCHE (LOAD BALANCING) Abasse KPEGOUNI, Ingénieur Systèmes et Réseaux.
Business Intelligence en ACube OLAP et Reporting avec ACubeOLAP et GRaM.
Transcription de la présentation:

Présentation de Java 2006 INSA lyon Stéphane Frénot – Frédérique Laforest – Frédéric Le-Mouël 2006 INSA lyon Département Télécommunication Services & Usages

Langage de programmation Write once, run anywhere

Java ? Printemps 90 : Naughton, Gosling et Sheridan : "Le consommateur est le centre du projet, il faut construire un environnement de petite taille avec une petite équipe et intégrer cet environnement dans une nouvelle génération de machines : des ordinateurs simples pour des gens normaux." Printemps 91 : Microprocesseur grand public. La "Green Team" prototype une machine de pilotage de l'électroménager Août 91 : Gosling développe Oak Août 92 : --------------duke---------->

Java ? Eté 1993 : Sté. "First Person" est en train de couler Eric Schmidt ( Sun) demande une adaptation au Net Gosling : travaille sur le code Naughton : cherche une application stratégique Janvier 1995 Oak ==> Java, HotJava Août 1995 - Première licence sur Netscape Janvier 1996 - JDK 1.0.1 Fév. 97 - JDK 1.1 Jan 99 - JDK 2.0 (aka 1.2) 2003 J2se 1.4, J2ee, J2me (Standard, Entreprise, Micro)

Ce que c’est ! Une architecture technique Un langage OO Une bibliothèque de 5000 éléments

Plateforme Java : architecture Java Client/Serveur : Nicolas, Avare, Najman - Eyrolles

Machine Virtuelle : Emulateur Byte-Code/P-Code/J-Code opcode : 1 octet pour l'instruction 0,n opérandes MicroProcesseur logiciel Jeu d'instructions Registres (pc, optop, frame, vars) Pile, Heap Ramasse-miettes Espace de stockage des méthodes Tas de constantes ==> Compilé ou Interprété

Machine Virtuelle Système d'exploitation Isolation Autonomie ===> Avantages ?

Java est portable Le compilateur Java génère du byte code. La Java Virtual Machine (JVM) est présente sur Unix, Win32, Mac, OS/2, Netscape, IE, ... Le langage a une sémantique très précise. La taille des types primitifs est indépendante de la plate-forme. Java supporte un code source écrit en Unicode. Java est accompagné d'une librairie standard.

Java est distribué API réseau (java.net.Socket, java.net.URL, ...). Chargement / génération de code dynamique. Applet. Servlet. Remote Method Invocation : RMI Interconnexion sur CORBA

Java est robuste A l’origine, c'est un langage pour les applications embarquées Gestion de la mémoire par un garbage collector (ramasse miettes) Pas d’accès direct à la mémoire Mécanisme d'exception compilateur contraignant (erreur si exception non gérée, si utilisation d’une variable non affectée, ...)

Java est multi-threadé Exécution de tâches en // Mémoire, Code et Ressources partagés Economie de ressources Un thread ~= méthode qui rend immédiatement la main Exemple événements (IHM, gc) + priorités + synchronisation (moniteur, synchronized) Implantation dépendante du SE

Java est sécurisé Indispensable avec le code mobile. Pris en charge dans l'interpréteur. Trois couches de sécurité : Verifier : vérifie le byte code. Class Loader : responsable du chargement des classes. Security Manager : accès aux ressources. Code certifié par une clé.

Java est semi-réflexif Le langage s'autodécrit Les éléments du langages sont pilotable de l'extérieur Possibilité de faire de la meta-programmation La machine virtuelle est pilotable de l'extérieur

API du JDK (Paquetages) java.lang : classes de bases (+reflect) java.io : entrées/sorties java.util : utilitaires (structures, dates, events) (+zip) java.net : réseau java.applet : gestion des applets java.awt : interface graphique (image, +datatransfert, +event) java.beans : définition de composants réutilisables java.math : entier de taille variable java.rmi : invocation distante (+dgc, +registry, +server) java.security : (+acl, +interfaces) java.sql : jdbc ... java.text : traduction, chaine=f(langue)

Architecture technique : Conclusion Notion de bac à sable Isolation Robustesse En pleine évolution Utilise les ressources du système d'exploitation sous-jacent Accès aux ressources (réseau, disque, mémoire...) Mais …

Le kit java JDK vs JRE Java Development Kit / Java Runtime Environment Versions du jdk 1.1 -> version de démonstration 1.2 -> 1ère version utilisable (interfaces graphiques) 1.3 -> 1ère version industrielle 1.4 -> Version courante (compilation JIT) 1.5 -> Version avancée (grande taille) 40 Mo de librairies standards compressées 13000 classes 100k la machine virtuelle N'est pas open-source

La famille java Java 2 SE java 2 standard edition (à partir du jdk1.4) Kit et run-time standard java Java 2 ME Java 2 Micro-Edition pour environnements contraints CLDC / CDC Connected Limited Device Configuration Connected Device Configuration Midp 2.0 : couche de spécialisation constructeur Java 2 EE Java 2 Enterprise Edition Principalement api EJB Pas de machine virtuelle associée

L'Iceberg Java MV .net jms jcp jsr jmx eclipse gcj jain jnlp osgi kvm jini