About Java: Difference between revisions
From My Limbic Wiki
Line 68: | Line 68: | ||
Auparavant apelle JBoss | Auparavant apelle JBoss | ||
* Conteneur Web: Catalina | * 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= | =Implementations pour les JPA= |
Revision as of 20:46, 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
- JPA = Java Persistence API - Servlet container + JSP
- EJB = Entreprise Java Beans
- JSF = Java Servlet Faces
- JSP = Java Server Pages
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
Serveur 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
Java, bibliothèques graphiques : AWT, SWING, SWT
- Tomcat = Servlet container + JSP
- Glassfish, Jboss (Forge) = Full java EE Servers (EJB, API JMS - permet d'envoyer et de recevoir des messages de façon asynchrone)
- XSD : Définition du schéma
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