About Java: Difference between revisions

From My Limbic Wiki
Line 30: Line 30:
* un nouveau moteur d'exécution JavaScript
* un nouveau moteur d'exécution JavaScript
* [http://www.developpez.com/actu/68971/Java-8-est-disponible-la-plate-forme-se-met-aux-expressions-lambdas-tour-d-horizon-des-nouveautes/ Plus d'informations]
* [http://www.developpez.com/actu/68971/Java-8-est-disponible-la-plate-forme-se-met-aux-expressions-lambdas-tour-d-horizon-des-nouveautes/ Plus d'informations]
===Java 12===
voir https://www.developpez.com/actu/251907/Java-12-disponible-avec-les-expressions-Switch-un-nouveau-recuperateur-de-memoire-a-faible-temps-de-pause-et-diverses-ameliorations-pour-G1/
* 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==
==Failles Majeures==
* Java 7 / inférieur
* Java 7 / inférieur

Revision as of 00:46, 30 April 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

voir https://www.developpez.com/actu/251907/Java-12-disponible-avec-les-expressions-Switch-un-nouveau-recuperateur-de-memoire-a-faible-temps-de-pause-et-diverses-ameliorations-pour-G1/

  • 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

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

Implementations pour les JPA

  • Hibernate
  • EclipseLink
  • OpenJPA

A Retenir

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