SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
New Features and
Migration Strategy
Neil Brown, 04/2013
- Brown Bag, Part 1 -
Java Standard Edition
(JSE) - Today
JSE, Today
● J6 end-of-life'd by Oracle 02-2013, but...
...there's life after J6:
● J7 mature - first GA (prod. ready) 07-2011
● J8 descoped (Jigsaw) and slipped (end
2012, 09-2013). Latest plan GA 03-2014
The Business Case
J7 - The Business Case
● Maintenance & security updates from Oracle
until at least 07-2014
● Performance improvements, translating to
better response times & throughput
○ HotSpot JVM enhancements
○ Improved concurrency support
● New features to keep dev team :-) and more
productive
○ Prerequisite / enabler for JEE7
New & Changed Features -
Highlights
J7 - Highlights
Targets improved performance & readability
● Java language enhancements (Project Coin)
● Concurrency enhancements (Fork/Join)
● New File I/O (NIO.2)
● XML APIs (JAXP, JAXB, JAX-WS) updated
● Platform (JVM) enhancements
○ HotSpot JVM performance improvements
○ Better support for dynamic lang. (invokedynamic)
○ New 'G1' garbage collector for certain server apps
...and more. See Oracle JDK 7 Adoption Guide
Migration -
How do we get there?
J7 - How do we get there?
In two phases:
1. Prove runtime compatibility & stability for
existing services on J7 runtime (JVM)
before...
2. Recompiling services to take advantage
of new language features; (at which point
we're committed to J7)
Phase 1 Migration Plan - Overview
1. Prove binary backwards compatibility
for JEE container & all Java services
○ Local dev. environment
○ Existing JEE container running on J7 JVM
○ Services deployed to J7+container
○ Unit and cursory integration tests pass
2. Prove behavioural compatibility for all
Java services
○ Install JDK 7 (JRE) in CI environment
○ Execute integration test suites
Phase 1 Migration Plan - Overview
3. Soak testing
● Prove reliability over extended period
4. Performance testing
● Confirm performance at least as good
5. Phased rollout J7 across remaining envs
● Upgrade JDK / JRE (still J6 javac only)
6. Prove in production
○ Services to run on J7 for agreed period before
declaring success and moving to phase 2 (J7 javac)
Phase 1 Migration Status 04/2013
1. Prove binary backwards compatibility for
JEE container & all Java services
○ Local dev. environment ................................ ✔
○ JEE container running on J7 JVM ............... ✔
○ Services deployed to J7+container .............. ✔
○ Unit and cursory integration tests pass ........ ✔
2. Prove behavioural compatibility for all
Java services
○ Install JDK 7 (JRE) in CI environment ........ ✍
○ Execute integration test suites .................... ✍
Language Enhancements
(Project Coin)
New Language Features
● Diamond operator
○ Type inference for generic types
● Multi-catch blocks
○ Improved exception handling
● Automatic resource management
○ aka try-with-resources
● Switch on strings
○ Enhanced switch statement
● Binary literals
○ Integer types expressed in binary
New Language Features
● Underscores in integer and binary literals
○ Increased code readability
Java 7 code examples
● https://bitbucket.org/neilbrown/java7-examples
Thanks for attending
Neil Brown

Mais conteúdo relacionado

Semelhante a 2013 05 java 7 brown bag part 1 - new features and migration strategy

Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!
Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!
Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!Voxxed Athens
 
2018 10-oracle-java-licensing-update-support-changes
2018 10-oracle-java-licensing-update-support-changes2018 10-oracle-java-licensing-update-support-changes
2018 10-oracle-java-licensing-update-support-changesNeil Brown
 
Why should i switch to Java SE 7
Why should i switch to Java SE 7Why should i switch to Java SE 7
Why should i switch to Java SE 7Vinay H G
 
Prepare for JDK 9
Prepare for JDK 9Prepare for JDK 9
Prepare for JDK 9haochenglee
 
Prashant kumar feb2016
Prashant kumar feb2016Prashant kumar feb2016
Prashant kumar feb2016Prashant Kumar
 
Prashant Kumar_Feb2016
Prashant Kumar_Feb2016Prashant Kumar_Feb2016
Prashant Kumar_Feb2016Prashant Kumar
 
Projects in Enterprise Java (Java EE)
Projects in Enterprise Java (Java EE)Projects in Enterprise Java (Java EE)
Projects in Enterprise Java (Java EE)Sam Dias
 
The latest features coming to Java 12
The latest features coming to Java 12The latest features coming to Java 12
The latest features coming to Java 12NexSoftsys
 
Java 9-10 What's New
Java 9-10 What's NewJava 9-10 What's New
Java 9-10 What's NewNicola Pedot
 
How to jSparrow Jenkins?
How to jSparrow Jenkins?How to jSparrow Jenkins?
How to jSparrow Jenkins?jSparrow
 
Join the Java Evolution NYC
Join the Java Evolution NYCJoin the Java Evolution NYC
Join the Java Evolution NYCHeather VanCura
 
Gavish_Sharma Resume
Gavish_Sharma ResumeGavish_Sharma Resume
Gavish_Sharma ResumeGavish Sharma
 
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?Miles Sabin
 
Resume_abir
Resume_abirResume_abir
Resume_abirAbir De
 
J2EE vs JavaEE
J2EE vs JavaEEJ2EE vs JavaEE
J2EE vs JavaEEeanimou
 

Semelhante a 2013 05 java 7 brown bag part 1 - new features and migration strategy (20)

Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!
Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!
Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!
 
2018 10-oracle-java-licensing-update-support-changes
2018 10-oracle-java-licensing-update-support-changes2018 10-oracle-java-licensing-update-support-changes
2018 10-oracle-java-licensing-update-support-changes
 
Why should i switch to Java SE 7
Why should i switch to Java SE 7Why should i switch to Java SE 7
Why should i switch to Java SE 7
 
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
 
Prepare for JDK 9
Prepare for JDK 9Prepare for JDK 9
Prepare for JDK 9
 
Prashant kumar feb2016
Prashant kumar feb2016Prashant kumar feb2016
Prashant kumar feb2016
 
Prashant Kumar_Feb2016
Prashant Kumar_Feb2016Prashant Kumar_Feb2016
Prashant Kumar_Feb2016
 
Projects in Enterprise Java (Java EE)
Projects in Enterprise Java (Java EE)Projects in Enterprise Java (Java EE)
Projects in Enterprise Java (Java EE)
 
The latest features coming to Java 12
The latest features coming to Java 12The latest features coming to Java 12
The latest features coming to Java 12
 
Java 9-10 What's New
Java 9-10 What's NewJava 9-10 What's New
Java 9-10 What's New
 
How to jSparrow Jenkins?
How to jSparrow Jenkins?How to jSparrow Jenkins?
How to jSparrow Jenkins?
 
Glass Fishv3 March2010
Glass Fishv3 March2010Glass Fishv3 March2010
Glass Fishv3 March2010
 
Join the Java Evolution NYC
Join the Java Evolution NYCJoin the Java Evolution NYC
Join the Java Evolution NYC
 
JDK versions and OpenJDK
JDK versions and OpenJDKJDK versions and OpenJDK
JDK versions and OpenJDK
 
Retour JavaOne 2009
Retour JavaOne 2009Retour JavaOne 2009
Retour JavaOne 2009
 
Gavish_Sharma Resume
Gavish_Sharma ResumeGavish_Sharma Resume
Gavish_Sharma Resume
 
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
 
JavaOne Update zur Java Plattform
JavaOne Update zur Java PlattformJavaOne Update zur Java Plattform
JavaOne Update zur Java Plattform
 
Resume_abir
Resume_abirResume_abir
Resume_abir
 
J2EE vs JavaEE
J2EE vs JavaEEJ2EE vs JavaEE
J2EE vs JavaEE
 

Último

Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 

Último (20)

Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 

2013 05 java 7 brown bag part 1 - new features and migration strategy

  • 1. New Features and Migration Strategy Neil Brown, 04/2013 - Brown Bag, Part 1 -
  • 3. JSE, Today ● J6 end-of-life'd by Oracle 02-2013, but... ...there's life after J6: ● J7 mature - first GA (prod. ready) 07-2011 ● J8 descoped (Jigsaw) and slipped (end 2012, 09-2013). Latest plan GA 03-2014
  • 5. J7 - The Business Case ● Maintenance & security updates from Oracle until at least 07-2014 ● Performance improvements, translating to better response times & throughput ○ HotSpot JVM enhancements ○ Improved concurrency support ● New features to keep dev team :-) and more productive ○ Prerequisite / enabler for JEE7
  • 6. New & Changed Features - Highlights
  • 7. J7 - Highlights Targets improved performance & readability ● Java language enhancements (Project Coin) ● Concurrency enhancements (Fork/Join) ● New File I/O (NIO.2) ● XML APIs (JAXP, JAXB, JAX-WS) updated ● Platform (JVM) enhancements ○ HotSpot JVM performance improvements ○ Better support for dynamic lang. (invokedynamic) ○ New 'G1' garbage collector for certain server apps ...and more. See Oracle JDK 7 Adoption Guide
  • 8. Migration - How do we get there?
  • 9. J7 - How do we get there? In two phases: 1. Prove runtime compatibility & stability for existing services on J7 runtime (JVM) before... 2. Recompiling services to take advantage of new language features; (at which point we're committed to J7)
  • 10. Phase 1 Migration Plan - Overview 1. Prove binary backwards compatibility for JEE container & all Java services ○ Local dev. environment ○ Existing JEE container running on J7 JVM ○ Services deployed to J7+container ○ Unit and cursory integration tests pass 2. Prove behavioural compatibility for all Java services ○ Install JDK 7 (JRE) in CI environment ○ Execute integration test suites
  • 11. Phase 1 Migration Plan - Overview 3. Soak testing ● Prove reliability over extended period 4. Performance testing ● Confirm performance at least as good 5. Phased rollout J7 across remaining envs ● Upgrade JDK / JRE (still J6 javac only) 6. Prove in production ○ Services to run on J7 for agreed period before declaring success and moving to phase 2 (J7 javac)
  • 12. Phase 1 Migration Status 04/2013 1. Prove binary backwards compatibility for JEE container & all Java services ○ Local dev. environment ................................ ✔ ○ JEE container running on J7 JVM ............... ✔ ○ Services deployed to J7+container .............. ✔ ○ Unit and cursory integration tests pass ........ ✔ 2. Prove behavioural compatibility for all Java services ○ Install JDK 7 (JRE) in CI environment ........ ✍ ○ Execute integration test suites .................... ✍
  • 14. New Language Features ● Diamond operator ○ Type inference for generic types ● Multi-catch blocks ○ Improved exception handling ● Automatic resource management ○ aka try-with-resources ● Switch on strings ○ Enhanced switch statement ● Binary literals ○ Integer types expressed in binary
  • 15. New Language Features ● Underscores in integer and binary literals ○ Increased code readability Java 7 code examples ● https://bitbucket.org/neilbrown/java7-examples Thanks for attending Neil Brown