SlideShare une entreprise Scribd logo
1  sur  25
Java 5,  un bilan Tareq Abed Rabbo Club Atuge Technologies 5/4/2007
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Java, c’est quoi ? ,[object Object],[object Object],[object Object],[object Object],[object Object]
Evolution de Java 1995 Naissance  de Java! Java SE 6 2006 - Scripting Language  - JDBC 4.0 - JAXB 2.0 JDK 1.0 1996 - Initial release JDK 1.1 1997 - Java Beans - JDBC - RMI - Inner classes - AWT J2SE 1.2  1998 - Reflection - JIT compiler - Collections - Swing - strictfp Java SE 5.0 2004 - Generics - Metadata - Autoboxing - Enumerations - Varargs - Enhanced for loop - Concurrency utils - JMX J2SE 1.4 2002 - assert - JAXP - regular expression - NIO  J2SE 1.3 2000 - HotSpot JVM - JNDI Java SE 7 2008
Thèmes de Java 5 ,[object Object],[object Object],[object Object],[object Object]
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Annotations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemple : JAXB 2 @XmlAccessorType(XmlAccessType. FIELD ) @XmlRootElement(name = &quot;Address&quot;, namespace=&quot;http://www.example.com/&quot;) public   class  Address { @XmlElement(required = true) private   String  name; private   String  city; <Address> <name>aaa</name> <city>bbb</city> </Address>
Exemple : JPA @Entity public   class  User { @Id @GeneratedValue(strategy = GenerationType. SEQUENCE ,  generator = &quot;seq_id_user&quot;) @SequenceGenerator(name = &quot;seq_id_user&quot;, sequenceName = &quot;seq_id_user&quot;) public  Integer getId() { return  id; }
Anatomie d’une annotation @Target({ TYPE ,  FIELD ,  METHOD ,  PARAMETER ,  CONSTRUCTOR ,  LOCAL_VARIABLE }) @Retention(RetentionPolicy. SOURCE ) public  @interface   SuppressWarnings   { String[]   value(); }
Avantages des annotations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Remarques ,[object Object],[object Object],[object Object],[object Object],[object Object]
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Les types énumérés ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Enumération : exemple public   enum  Status { success ,  error ,  inProgress ; } Status status = …; switch  (status) { case   success : break ; case   error : break ; case   inProgress : break ; }
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Les types génériques ,[object Object],[object Object],[object Object],[object Object],[object Object]
Génériques : Exemple Vector v =  new  Vector(); v.add( new  String(&quot;abc&quot;);  v.add( new  Integer(4));  String s = (String)v.get(1); ClassCastException
Génériques : Exemple Vector <String>  vs =  new  Vector <String> (); vs.add( new  String(&quot;hello&quot;));  vs.add( new  Integer(5));  // Erreur de compilation! String s = vs.get(0); // Pas de casting
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JMX ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JMX et Java 5 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Jconsole
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Bilan ,[object Object],[object Object],[object Object]

Contenu connexe

Similaire à Java 5, un bilan

La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !Paris Salesforce Developer Group
 
Présentation de JavaServer Faces
Présentation de JavaServer FacesPrésentation de JavaServer Faces
Présentation de JavaServer FacesJS Bournival
 
Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124Mejdeddine Bouzouita
 
Tester les applications Zend Framework
Tester les applications Zend FrameworkTester les applications Zend Framework
Tester les applications Zend FrameworkMickael Perraud
 
Java Database Connectivity
Java Database ConnectivityJava Database Connectivity
Java Database ConnectivityKorteby Farouk
 
GWT : under the hood
GWT : under the hoodGWT : under the hood
GWT : under the hoodsvuillet
 
Présentation Javascript à l'ESI (Alger)
Présentation Javascript à l'ESI (Alger)Présentation Javascript à l'ESI (Alger)
Présentation Javascript à l'ESI (Alger)Dr Samir A. ROUABHI
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications JavaAntoine Rey
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVCNathaniel Richand
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovyguest6e3bed
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation GroovyJS Bournival
 
Voxxeddays lux 2018 apres java 8, java 9 et 10
Voxxeddays lux 2018 apres java 8, java 9 et 10Voxxeddays lux 2018 apres java 8, java 9 et 10
Voxxeddays lux 2018 apres java 8, java 9 et 10Jean-Michel Doudoux
 
Améliorations dans Java depuis la version 5
Améliorations dans Java depuis la version 5Améliorations dans Java depuis la version 5
Améliorations dans Java depuis la version 5Mamadou Oury Ba
 

Similaire à Java 5, un bilan (20)

La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
 
Présentation de JavaServer Faces
Présentation de JavaServer FacesPrésentation de JavaServer Faces
Présentation de JavaServer Faces
 
Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124
 
Dynamic Languages
Dynamic LanguagesDynamic Languages
Dynamic Languages
 
Tester les applications Zend Framework
Tester les applications Zend FrameworkTester les applications Zend Framework
Tester les applications Zend Framework
 
Jdbc
JdbcJdbc
Jdbc
 
Java Database Connectivity
Java Database ConnectivityJava Database Connectivity
Java Database Connectivity
 
Drools
DroolsDrools
Drools
 
Apache ANT
Apache ANTApache ANT
Apache ANT
 
Presentation JPA
Presentation JPAPresentation JPA
Presentation JPA
 
GWT : under the hood
GWT : under the hoodGWT : under the hood
GWT : under the hood
 
Spring 3.0
Spring 3.0Spring 3.0
Spring 3.0
 
Services rest & jersey
Services rest & jerseyServices rest & jersey
Services rest & jersey
 
Présentation Javascript à l'ESI (Alger)
Présentation Javascript à l'ESI (Alger)Présentation Javascript à l'ESI (Alger)
Présentation Javascript à l'ESI (Alger)
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications Java
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVC
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Voxxeddays lux 2018 apres java 8, java 9 et 10
Voxxeddays lux 2018 apres java 8, java 9 et 10Voxxeddays lux 2018 apres java 8, java 9 et 10
Voxxeddays lux 2018 apres java 8, java 9 et 10
 
Améliorations dans Java depuis la version 5
Améliorations dans Java depuis la version 5Améliorations dans Java depuis la version 5
Améliorations dans Java depuis la version 5
 

Plus de teejug

Apache Ant
Apache AntApache Ant
Apache Antteejug
 
L’intégration continue
L’intégration continueL’intégration continue
L’intégration continueteejug
 
Une (simple) présentation de Apache Maven 2
Une (simple) présentation de Apache Maven 2Une (simple) présentation de Apache Maven 2
Une (simple) présentation de Apache Maven 2teejug
 
Spring, une introduction
Spring, une introductionSpring, une introduction
Spring, une introductionteejug
 
Spring Web Flow - TeeJUG 2008
Spring Web Flow - TeeJUG 2008Spring Web Flow - TeeJUG 2008
Spring Web Flow - TeeJUG 2008teejug
 
Spring Security - TeeJUG 2008
Spring Security - TeeJUG 2008Spring Security - TeeJUG 2008
Spring Security - TeeJUG 2008teejug
 

Plus de teejug (6)

Apache Ant
Apache AntApache Ant
Apache Ant
 
L’intégration continue
L’intégration continueL’intégration continue
L’intégration continue
 
Une (simple) présentation de Apache Maven 2
Une (simple) présentation de Apache Maven 2Une (simple) présentation de Apache Maven 2
Une (simple) présentation de Apache Maven 2
 
Spring, une introduction
Spring, une introductionSpring, une introduction
Spring, une introduction
 
Spring Web Flow - TeeJUG 2008
Spring Web Flow - TeeJUG 2008Spring Web Flow - TeeJUG 2008
Spring Web Flow - TeeJUG 2008
 
Spring Security - TeeJUG 2008
Spring Security - TeeJUG 2008Spring Security - TeeJUG 2008
Spring Security - TeeJUG 2008
 

Java 5, un bilan

  • 1. Java 5,  un bilan Tareq Abed Rabbo Club Atuge Technologies 5/4/2007
  • 2.
  • 3.
  • 4. Evolution de Java 1995 Naissance de Java! Java SE 6 2006 - Scripting Language - JDBC 4.0 - JAXB 2.0 JDK 1.0 1996 - Initial release JDK 1.1 1997 - Java Beans - JDBC - RMI - Inner classes - AWT J2SE 1.2 1998 - Reflection - JIT compiler - Collections - Swing - strictfp Java SE 5.0 2004 - Generics - Metadata - Autoboxing - Enumerations - Varargs - Enhanced for loop - Concurrency utils - JMX J2SE 1.4 2002 - assert - JAXP - regular expression - NIO J2SE 1.3 2000 - HotSpot JVM - JNDI Java SE 7 2008
  • 5.
  • 6.
  • 7.
  • 8. Exemple : JAXB 2 @XmlAccessorType(XmlAccessType. FIELD ) @XmlRootElement(name = &quot;Address&quot;, namespace=&quot;http://www.example.com/&quot;) public class Address { @XmlElement(required = true) private String name; private String city; <Address> <name>aaa</name> <city>bbb</city> </Address>
  • 9. Exemple : JPA @Entity public class User { @Id @GeneratedValue(strategy = GenerationType. SEQUENCE , generator = &quot;seq_id_user&quot;) @SequenceGenerator(name = &quot;seq_id_user&quot;, sequenceName = &quot;seq_id_user&quot;) public Integer getId() { return id; }
  • 10. Anatomie d’une annotation @Target({ TYPE , FIELD , METHOD , PARAMETER , CONSTRUCTOR , LOCAL_VARIABLE }) @Retention(RetentionPolicy. SOURCE ) public @interface SuppressWarnings { String[] value(); }
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. Enumération : exemple public enum Status { success , error , inProgress ; } Status status = …; switch (status) { case success : break ; case error : break ; case inProgress : break ; }
  • 16.
  • 17.
  • 18. Génériques : Exemple Vector v = new Vector(); v.add( new String(&quot;abc&quot;); v.add( new Integer(4)); String s = (String)v.get(1); ClassCastException
  • 19. Génériques : Exemple Vector <String> vs = new Vector <String> (); vs.add( new String(&quot;hello&quot;)); vs.add( new Integer(5)); // Erreur de compilation! String s = vs.get(0); // Pas de casting
  • 20.
  • 21.
  • 22.
  • 24.
  • 25.