About Java
From My Limbic Wiki
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
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
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