About Java: Difference between revisions
From My Limbic Wiki
Line 46: | Line 46: | ||
* Janvier 2014 : Malware ==> faille JVM ==> enregistre dans le registre ==> démarrage ==>attente de commandes IRC par son propriétaire | * Janvier 2014 : Malware ==> faille JVM ==> enregistre dans le registre ==> démarrage ==>attente de commandes IRC par son propriétaire | ||
=Acronymes= | =Acronymes= | ||
* '''JRE:''' Java Runtime Environment | * '''JVM:''' Java Virtual Machine | ||
* '''JRE:''' Java Runtime Environment. Moteur d'execution de Java - Contient la JVM | |||
* '''JDK:''' Java Development Kit | * '''JDK:''' Java Development Kit | ||
* '''JSE:''' Java Standard Edition | * '''JSE:''' Java Standard Edition |
Revision as of 20:51, 2 May 2019
Présentation de Java jusqu'en 2014
Pourquoi Java ?
java Entreprise : Java EE
Orienté Objet Web Services Riche API Amélioration constante du language Diversité des possibilités haut niveau d'abstraction (compatibilité avec tous les OS)
Fonctionnement
JVM
Compilateurs ==> Bytecode ==> JVM ==> Language station locale 1 Thread contient 1 pile gérée par 3 pointeurs: frame, vars et optop Garbage collector : libère l'espace occupé par les objets qui ne sont plus référencés
Actualités
Evolutions majeures entre les versions
Java 6
- Evolutions douces vers 7
Java 7
- 64 bits
- string dans les switch case
Java 8
- Interfaces fonctionnelles : Pas plus d'une méthode d'instance abstraite
- Lambdas
- Arrivée de Stream
- une nouvelle API pour gérer les dates
- de nouvelles annotations
- un nouveau moteur d'exécution JavaScript
- Plus d'informations
Java 12
- Expressions Switch
- Collectes mixtes annulables pour G1
- Renvoi immédiat de la mémoire non utilisée par G1 au système d'exploitation
- Archives CDS par défaut
- Un seul port ciblant l'architecture ARM 64 bits
- API de constantes JVM
- Shenandoah, un ramasse-miettes à faible temps de pause
- Suite de microbenchmarks
- Pas de littéraux de chaîne bruts (Raw String Literals)
Failles Majeures
- Java 7 / inférieur
- Janvier 2014 : Malware ==> faille JVM ==> enregistre dans le registre ==> démarrage ==>attente de commandes IRC par son propriétaire
Acronymes
- JVM: Java Virtual Machine
- JRE: Java Runtime Environment. Moteur d'execution de Java - Contient la JVM
- JDK: Java Development Kit
- JSE: Java Standard Edition
- JPA: Java Persistence API - Servlet container + JSP
- EJB: Entreprise Java Beans
- JSF: Java Servlet Faces
- JSP: Java Server Pages
Bibliotheques Graphiques
AWT
SWING
SWT
Frameworks
Hibernate
- Persistense des données
- JPA / java persistence API : est une wikipedia:fr: interface de programmation Java permettant aux développeurs d'organiser des wikipedia:fr: Modèle relationnel données relationnelles dans des applications utilisant la plateforme wikipedia:fr: Java (technique).
Spring
- Libre pour définir la structure de l'application
- Bien pour le dev et les test
- Conteneur léger = les classes n'ont pas besoin d'interfaces pour êtres prises en charge
Rich Client Plateform (RCP)
- Framework Eclipse Open Source utilisé pour le développement d'applications clientes
Serveurs d'Applications
Tomcat
- Connecteur HTTP: Coyote
- Conteneur Web: Catalina
JBoss / WildFly
Auparavant apelle JBoss
- Conteneur Web: Catalina
GlassFish
Full java EE Servers (EJB, API JMS - permet d'envoyer et de recevoir des messages de façon asynchrone)
Implementations pour les JPA
- Hibernate
- EclipseLink
- OpenJPA
A Retenir
- JDK : Java Development Kit
- Bibliothèques logicielles (jdbc, swing, java ...)
- Outils de compilation
- Contient le JRE
- Jre : Moteur d'exécution JAVA (contient la JVM)
- Différence Java et C
Experience Personelle
- SupMarket :
- WebServices
- EJB + updater
- JSON
- Hibernate
- Chat : serveur + quelques commandes
- Jeu 2D ==> Urban Marginal Multijoueur BTS (swing)
- Copie de données en entreprise de façon sécurisée via un utilisateur SQL (swing)
- Application pour calculer le TEG
- JUG