About Java: Difference between revisions

From My Limbic Wiki
Line 82: Line 82:
* Connecteur HTTP: Coyote
* Connecteur HTTP: Coyote
* Conteneur Web: Catalina
* Conteneur Web: Catalina
* Most popular application server used with Java web application
* Developed by the Apache Software Foundation.
* Some sources claim Tomcat’s market share to be more than a whopping 60% of all Java application server deployments.
==JBoss / WildFly==
==JBoss / WildFly==
Auparavant apelle JBoss
Auparavant apelle JBoss
* Conteneur Web: Catalina
* Conteneur Web: Catalina
==GlassFish==
==GlassFish==
Full java EE Servers (EJB, API JMS - permet d'envoyer et de recevoir des messages de façon asynchrone)
* Fully featured and certified Java EE application server developed by Oracle
* EJB, API JMS - permet d'envoyer et de recevoir des messages de façon asynchrone
* More heavyweight than either Tomcat or Jetty—and, arguably
* A bit more difficult to operate.
==Jetty==
* Isn’t technically a fully featured Java EE container


=Implementations pour les JPA=
=Implementations pour les JPA=

Revision as of 21:00, 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

Developpez.com

  • 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
    • Bibliothèques logicielles (jdbc, swing, java ...)
    • Outils de compilation
    • Contient le JRE
  • JSE: Java Standard Edition
  • JPA: Java Persistence API - Servlet container + JSP
  • EJB: Entreprise Java Beans
  • JSF: Java Servlet Faces
  • JSP: Java Server Pages

Bibliotheques Logicielles (API)

Bibliotheques Graphiques

AWT

SWING

SWT

Drivers

JDBC

Frameworks

Hibernate

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
  • Most popular application server used with Java web application
  • Developed by the Apache Software Foundation.
  • Some sources claim Tomcat’s market share to be more than a whopping 60% of all Java application server deployments.

JBoss / WildFly

Auparavant apelle JBoss

  • Conteneur Web: Catalina

GlassFish

  • Fully featured and certified Java EE application server developed by Oracle
  • EJB, API JMS - permet d'envoyer et de recevoir des messages de façon asynchrone
  • More heavyweight than either Tomcat or Jetty—and, arguably
  • A bit more difficult to operate.

Jetty

  • Isn’t technically a fully featured Java EE container

Implementations pour les JPA

  • Hibernate
  • EclipseLink
  • OpenJPA

A Retenir

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