EN/SEM3
MAJEURE Introduction à la
P ro g ra m m at i o n O b j et a v e c JAVA
C h a p i t re 6
Java, conclusion
Ve rs i o n 2 . 3
Décembre 2019 A n t h o n y J U L O U - a n t h o n y. j u l o u @ e c o l e - n a v a l e . f r
EN/SEM3/MAJ
Programmation
Objet avec Java
Les points forts
▪ Les différentes caractéristiques du langage
▪ La simplicité du langage
▪ La portabilité
▪ Une librairie standard très riche
▪ Les apports en modularité
▪ Aucune édition de liens
▪ Java est bien adapté aux environnements
Internet/Intranet
▪ Java: le langage le plus utilisé au monde
Selon Tiobe, source Jan.2019: Java (16,9%),
C (13,3%), Python (8,2 %), C++ (8,1%), .Net (6,4%),
Javascript (3,2%)
Anthony JULOU © Décembre 19 Chapitre 6: Java, conclusion 08/12/2019 12:20 2
EN/SEM3/MAJ
Programmation
Objet avec Java Les points faibles
▪ Java est relativement lent (5 fois par
rapport à C++)
▪ Java est gourmand en mémoire même
si des progrès sont réels à chaque
version notamment la 1.5 (libraires en
cache)
▪ La simplicité implique l’absence de la
redéfinition d’opérateur
Anthony JULOU © Décembre 19 Chapitre 6: Java, conclusion 08/12/2019 12:20 3
EN/SEM3/MAJ
Programmation
Objet avec Java Performance d’exécution
C++ natif
Performance
20
17
15
7
1
Interpreteur Compilateur Compilateur Compilateur Puce JAVA
Just In Time flash Natif
Anthony JULOU © Décembre 19 Chapitre 6: Java, conclusion 08/12/2019 12:20 4
EN/SEM3/MAJ
Programmation
Objet avec Java Optimiser le code Java
▪ L’usage de la classe String est très
pénalisante
▪ Un tableau d’objets est environ 4 fois plus
rapide qu’un objet de type Vector
▪ L’utilisation du mot clef synchronized
multiplie par 4 le temps d’exécution d’une
méthode
▪ L’accès à des méthodes static ou final sont
plus rapides que les méthodes d’instances
"normales"
▪ Toujours penser à la maintenance du code
Anthony JULOU © Décembre 19 Chapitre 6: Java, conclusion 08/12/2019 12:20 5
EN/SEM3/MAJ
Programmation
Objet avec Java Quel avenir pour JAVA ?
▪ Présence importante côté serveur et
coté client
▪ Multiplication des solutions pour les
environnements embarqués
(Smartphone avec Android concurrent
d’Ios de l’iPhone …)
▪ Plate-forme complète pour la
réalisation de WebServices
▪ Evolutions perpétuelles, une nouvelle
version tous les 6 mois
▪ Nombreuses spécifications en cours
(JSR Java Specification Request)
Anthony JULOU © Décembre 19 Chapitre 6: Java, conclusion 08/12/2019 12:20 6
EN/SEM3/MAJ
Programmation
Objet avec Java Java Platform
▪ Des API très nombreuses
▪ Librairies standards (Swing, JDBC, Java IDL,
JNDI, JavaBeans, Java2D)
▪ Servlet API, JSP, JPA, JSF,JMS, JTA,JAX
▪ Et encore : JSSE, JCE, JavaHelp, JavaMail,
Java3D, COMM, JMF
▪ Une seule adresse :
http://java.oracle.com/
Anthony JULOU © Décembre 19 Chapitre 6: Java, conclusion 08/12/2019 12:20 7
EN/SEM3/MAJ
Programmation
Objet avec Java Références sur le Web
▪ Les sites de référence :
▪ Oracle: http://java.oracle.com
▪ Java Developer Tutorials and Training :
http://www.oracle.com/technetwork/java
▪ Articles :
▪ Java World : http://www.javaworld.com
▪ Composants :
▪ JGuru: http://www.jguru.com/
Anthony JULOU © Décembre 19 Chapitre 6: Java, conclusion 08/12/2019 12:20 8