SlideShare a Scribd company logo
1 of 23
JAVA8,créervotrefuture
• Caractéristiques
– 50% de réduction de votre code projet
– 18% gain en productivité
– 25% gain en performance
• Lambda Expressions
– Basic lambda
• (Type1 var1, Type2 var2 …) -> { method body }
– Lambda with type inferencing
• (var1, var2 …) -> { method body }
• Syntaxe:
• Exemple
• Caractéristiques:
– 110% de puissance
– 12% de flexibilité
– 10% de simplification
• Nouvelle API Stream java.util.stream:
– <R> Stream<R> map(Function<? super T,? extends R> mapper)
– Stream<T> filter(Predicate<? super T> predicate)
– Stream<T> sorted(Comparator<? super T> comparator)
• Setter
• Getter
• Agrégation
• In its simplest form, an annotation looks
like the following:
– @Entity
• Exemple
• Annotation Types Used by the Java
Language(java.lang):
– @Deprecated @Deprecated
– @Override @Override
– @SuppressWarnings @SuppressWarnings
– @SafeVarargs @SafeVarargs
– @FunctionalInterface @FunctionalInterface
• Annotations That Apply to Other
Annotations (java.lang.annotation):
– @Retention @Retention annotation
– @Documented @Documented
– @Target @Target annotation
– @Inherited @Inherited annotation
– @Repeatable @Repeatable annotation
• Cette nouvelle API est basée sur deux différents
modèles de conception du temps:
– Le temps Machine
– et le temps Humain.
• Exemple:
– Pour une machine, le temps n'est qu'un entier
augmentant depuis l'epoque (01 janvier 1970
00h00min00s0ms0ns).
– Pour un humain en revanche, il s'agit d'une succession
de champs ayant une unité (année, mois, jours, heure,
etc.).
• Le temps Machine
– java.time.Instant
– java.time.Duration
• Exemples
• java.time.Instant
• Exemples
– java.time.Duration
• Le temps Humain
– java.time.LocalDate,
– java.time.LocalTime
– java.time.LocalDateTime
• Exemple:
– java.time.LocalDate
• Exemple:
– java.time.LocalTime
– java.time.LocalDateTime
• Caractéristiques
– 135% de puissance
• Liste
• Caractéristiques:
– 150% de puissance
• Du JavaScript en ligne de commande
– jjs en ligne de commande (<chemin_jdk>/bin/) :
– jjs permet d’exécuter des fichiers .js
• Exemple
• Caractéristiques:
– 12% de flexibilité
– 200% de puissance
• PermSize
– Les arguments JVM PermSize et MaxPermSize
sont ignorés.
• JDK 1.8 @64-bit – Metaspace dynamic
re-size
– Java program with 50K configured iterations
– Java heap space of 1024 MB
– Java Metaspace space: unbounded (default)
• Suite…
• JDK 1.8 @64-bit – Metaspace depletion
– Java program with 50K configured iterations
– Java heap space of 1024 MB
– Java Metaspace space: 128 MB (-
XX:MaxMetaspaceSize=128m)
JAVA8, créer votre future

More Related Content

What's hot

Tour d’horizon de scala
Tour d’horizon de scalaTour d’horizon de scala
Tour d’horizon de scalaBenoit Wilcox
 
Présentation JavaScript
Présentation JavaScriptPrésentation JavaScript
Présentation JavaScripttarkan_
 
Les Promises en Javascript
Les Promises en JavascriptLes Promises en Javascript
Les Promises en JavascriptBenoit Zohar
 
Introduction à scala
Introduction à scalaIntroduction à scala
Introduction à scalaSOAT
 
Programmation concurrente en Java
Programmation concurrente en JavaProgrammation concurrente en Java
Programmation concurrente en JavaFlorian Beaufumé
 
Nouveautés JavaScript dans le monde Microsoft
Nouveautés JavaScript dans le monde MicrosoftNouveautés JavaScript dans le monde Microsoft
Nouveautés JavaScript dans le monde Microsoftdavrous
 
Réu technodejs
Réu technodejsRéu technodejs
Réu technodejsnaholyr
 
Programmation réactive avec Spring 5 et Reactor
Programmation réactive avec Spring 5 et ReactorProgrammation réactive avec Spring 5 et Reactor
Programmation réactive avec Spring 5 et ReactorFlorian Beaufumé
 
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
 
Cappuccino - ou comment créer une application web en 5 minutes
Cappuccino - ou comment créer une application web en 5 minutes Cappuccino - ou comment créer une application web en 5 minutes
Cappuccino - ou comment créer une application web en 5 minutes Geeks Anonymes
 

What's hot (13)

Tour d’horizon de scala
Tour d’horizon de scalaTour d’horizon de scala
Tour d’horizon de scala
 
Présentation JavaScript
Présentation JavaScriptPrésentation JavaScript
Présentation JavaScript
 
La programmation fonctionnelle en javascript / PF
La programmation fonctionnelle en javascript / PFLa programmation fonctionnelle en javascript / PF
La programmation fonctionnelle en javascript / PF
 
Les Promises en Javascript
Les Promises en JavascriptLes Promises en Javascript
Les Promises en Javascript
 
Introduction à scala
Introduction à scalaIntroduction à scala
Introduction à scala
 
Programmation concurrente en Java
Programmation concurrente en JavaProgrammation concurrente en Java
Programmation concurrente en Java
 
Nouveautés JavaScript dans le monde Microsoft
Nouveautés JavaScript dans le monde MicrosoftNouveautés JavaScript dans le monde Microsoft
Nouveautés JavaScript dans le monde Microsoft
 
Power Shell V2 Full
Power Shell V2 FullPower Shell V2 Full
Power Shell V2 Full
 
Réu technodejs
Réu technodejsRéu technodejs
Réu technodejs
 
Programmation réactive avec Spring 5 et Reactor
Programmation réactive avec Spring 5 et ReactorProgrammation réactive avec Spring 5 et Reactor
Programmation réactive avec Spring 5 et Reactor
 
Présentation Javascript à l'ESI (Alger)
Présentation Javascript à l'ESI (Alger)Présentation Javascript à l'ESI (Alger)
Présentation Javascript à l'ESI (Alger)
 
The Future of Javascript
The Future of JavascriptThe Future of Javascript
The Future of Javascript
 
Cappuccino - ou comment créer une application web en 5 minutes
Cappuccino - ou comment créer une application web en 5 minutes Cappuccino - ou comment créer une application web en 5 minutes
Cappuccino - ou comment créer une application web en 5 minutes
 

Viewers also liked

Village Zero Project - EPIIC Symposium
Village Zero Project - EPIIC Symposium Village Zero Project - EPIIC Symposium
Village Zero Project - EPIIC Symposium mmajum
 
Jadual mac 13
Jadual mac 13Jadual mac 13
Jadual mac 13zarazman
 
Tinkerer for pyfes 201303
Tinkerer for pyfes 201303Tinkerer for pyfes 201303
Tinkerer for pyfes 201303shirou wakayama
 
Ansible for beginners ...?
Ansible for beginners ...?Ansible for beginners ...?
Ansible for beginners ...?shirou wakayama
 
MQTT meetup in Tokyo 機能概要
MQTT meetup in Tokyo 機能概要MQTT meetup in Tokyo 機能概要
MQTT meetup in Tokyo 機能概要shirou wakayama
 
Open Stack Day - Ansibleによる環境構築の自動化
Open Stack Day - Ansibleによる環境構築の自動化Open Stack Day - Ansibleによる環境構築の自動化
Open Stack Day - Ansibleによる環境構築の自動化shirou wakayama
 
ansible-playbook useful command line options
ansible-playbook useful command line optionsansible-playbook useful command line options
ansible-playbook useful command line optionsshirou wakayama
 

Viewers also liked (11)

Village Zero Project - EPIIC Symposium
Village Zero Project - EPIIC Symposium Village Zero Project - EPIIC Symposium
Village Zero Project - EPIIC Symposium
 
Pool manager software
Pool manager softwarePool manager software
Pool manager software
 
Jadual mac 13
Jadual mac 13Jadual mac 13
Jadual mac 13
 
Tinkerer for pyfes 201303
Tinkerer for pyfes 201303Tinkerer for pyfes 201303
Tinkerer for pyfes 201303
 
Ansible for beginners ...?
Ansible for beginners ...?Ansible for beginners ...?
Ansible for beginners ...?
 
Ansible入門...?
Ansible入門...?Ansible入門...?
Ansible入門...?
 
EdisonでMQTT
EdisonでMQTTEdisonでMQTT
EdisonでMQTT
 
MQTT meetup in Tokyo 機能概要
MQTT meetup in Tokyo 機能概要MQTT meetup in Tokyo 機能概要
MQTT meetup in Tokyo 機能概要
 
Open Stack Day - Ansibleによる環境構築の自動化
Open Stack Day - Ansibleによる環境構築の自動化Open Stack Day - Ansibleによる環境構築の自動化
Open Stack Day - Ansibleによる環境構築の自動化
 
ansible-playbook useful command line options
ansible-playbook useful command line optionsansible-playbook useful command line options
ansible-playbook useful command line options
 
Ansible meetup201409
Ansible meetup201409Ansible meetup201409
Ansible meetup201409
 

Similar to JAVA8, créer votre future

Réussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDBRéussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDB MongoDB
 
Run java vs ruby
Run java vs rubyRun java vs ruby
Run java vs rubypinguin666
 
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...Normandy JUG
 
I don't always write reactive application but when I do, it run on raspberry pi
I don't always write reactive application but when I do, it run on raspberry piI don't always write reactive application but when I do, it run on raspberry pi
I don't always write reactive application but when I do, it run on raspberry piadelegue
 
Spark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et CatalystSpark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et CatalystMathieu Goeminne
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdfOmbotimbe Salifou
 
Client riche et nouvelles technologies
Client riche et nouvelles technologiesClient riche et nouvelles technologies
Client riche et nouvelles technologiesSébastien Letélié
 
.Net pour le développeur Java - une source d'inspiration?
.Net pour le développeur Java - une source d'inspiration?.Net pour le développeur Java - une source d'inspiration?
.Net pour le développeur Java - une source d'inspiration?Rui Carvalho
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Ippon
 
BBL - Monitoring - kyriba
BBL - Monitoring - kyribaBBL - Monitoring - kyriba
BBL - Monitoring - kyribaOlivier BAZOUD
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaMicrosoft
 
Presentation Rex Methodes Agiles
Presentation Rex Methodes AgilesPresentation Rex Methodes Agiles
Presentation Rex Methodes AgilesIppon
 
I le langage java d'una manière avancée introduction
I  le langage java d'una manière avancée introductionI  le langage java d'una manière avancée introduction
I le langage java d'una manière avancée introductionsabrine_hamdi
 
Monitoring applicatif : Pourquoi et comment ?
Monitoring applicatif : Pourquoi et comment ?Monitoring applicatif : Pourquoi et comment ?
Monitoring applicatif : Pourquoi et comment ?Kenny Dits
 
Ez18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshellEz18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshellgdigugli
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFBoubker ABERWAG
 

Similar to JAVA8, créer votre future (20)

Nouveautés de java 8
Nouveautés de java 8Nouveautés de java 8
Nouveautés de java 8
 
Réussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDBRéussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDB
 
Run java vs ruby
Run java vs rubyRun java vs ruby
Run java vs ruby
 
Formation Google App Engine
Formation Google App EngineFormation Google App Engine
Formation Google App Engine
 
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
 
I don't always write reactive application but when I do, it run on raspberry pi
I don't always write reactive application but when I do, it run on raspberry piI don't always write reactive application but when I do, it run on raspberry pi
I don't always write reactive application but when I do, it run on raspberry pi
 
Spark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et CatalystSpark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et Catalyst
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf
 
FinistJUG - Apache TomEE
FinistJUG - Apache TomEEFinistJUG - Apache TomEE
FinistJUG - Apache TomEE
 
Les nouveautés de PowerShell 3.0
Les nouveautés de PowerShell 3.0Les nouveautés de PowerShell 3.0
Les nouveautés de PowerShell 3.0
 
Client riche et nouvelles technologies
Client riche et nouvelles technologiesClient riche et nouvelles technologies
Client riche et nouvelles technologies
 
.Net pour le développeur Java - une source d'inspiration?
.Net pour le développeur Java - une source d'inspiration?.Net pour le développeur Java - une source d'inspiration?
.Net pour le développeur Java - une source d'inspiration?
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
 
BBL - Monitoring - kyriba
BBL - Monitoring - kyribaBBL - Monitoring - kyriba
BBL - Monitoring - kyriba
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmedia
 
Presentation Rex Methodes Agiles
Presentation Rex Methodes AgilesPresentation Rex Methodes Agiles
Presentation Rex Methodes Agiles
 
I le langage java d'una manière avancée introduction
I  le langage java d'una manière avancée introductionI  le langage java d'una manière avancée introduction
I le langage java d'una manière avancée introduction
 
Monitoring applicatif : Pourquoi et comment ?
Monitoring applicatif : Pourquoi et comment ?Monitoring applicatif : Pourquoi et comment ?
Monitoring applicatif : Pourquoi et comment ?
 
Ez18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshellEz18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshell
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
 

JAVA8, créer votre future

  • 2. • Caractéristiques – 50% de réduction de votre code projet – 18% gain en productivité – 25% gain en performance • Lambda Expressions – Basic lambda • (Type1 var1, Type2 var2 …) -> { method body } – Lambda with type inferencing • (var1, var2 …) -> { method body }
  • 5. • Caractéristiques: – 110% de puissance – 12% de flexibilité – 10% de simplification • Nouvelle API Stream java.util.stream: – <R> Stream<R> map(Function<? super T,? extends R> mapper) – Stream<T> filter(Predicate<? super T> predicate) – Stream<T> sorted(Comparator<? super T> comparator)
  • 7.
  • 8. • In its simplest form, an annotation looks like the following: – @Entity • Exemple
  • 9. • Annotation Types Used by the Java Language(java.lang): – @Deprecated @Deprecated – @Override @Override – @SuppressWarnings @SuppressWarnings – @SafeVarargs @SafeVarargs – @FunctionalInterface @FunctionalInterface
  • 10. • Annotations That Apply to Other Annotations (java.lang.annotation): – @Retention @Retention annotation – @Documented @Documented – @Target @Target annotation – @Inherited @Inherited annotation – @Repeatable @Repeatable annotation
  • 11. • Cette nouvelle API est basée sur deux différents modèles de conception du temps: – Le temps Machine – et le temps Humain. • Exemple: – Pour une machine, le temps n'est qu'un entier augmentant depuis l'epoque (01 janvier 1970 00h00min00s0ms0ns). – Pour un humain en revanche, il s'agit d'une succession de champs ayant une unité (année, mois, jours, heure, etc.).
  • 12. • Le temps Machine – java.time.Instant – java.time.Duration • Exemples • java.time.Instant
  • 14. • Le temps Humain – java.time.LocalDate, – java.time.LocalTime – java.time.LocalDateTime • Exemple: – java.time.LocalDate
  • 15. • Exemple: – java.time.LocalTime – java.time.LocalDateTime
  • 16. • Caractéristiques – 135% de puissance • Liste
  • 17. • Caractéristiques: – 150% de puissance • Du JavaScript en ligne de commande – jjs en ligne de commande (<chemin_jdk>/bin/) : – jjs permet d’exécuter des fichiers .js
  • 19. • Caractéristiques: – 12% de flexibilité – 200% de puissance • PermSize – Les arguments JVM PermSize et MaxPermSize sont ignorés.
  • 20. • JDK 1.8 @64-bit – Metaspace dynamic re-size – Java program with 50K configured iterations – Java heap space of 1024 MB – Java Metaspace space: unbounded (default)
  • 22. • JDK 1.8 @64-bit – Metaspace depletion – Java program with 50K configured iterations – Java heap space of 1024 MB – Java Metaspace space: 128 MB (- XX:MaxMetaspaceSize=128m)