Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Life beyond Java 8

64 vues

Publié le

Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2QbJBsd.

Trisha Gee talks about Java 8, wondering whether we should move to a later version, which one to choose, what sorts of issues we might run into if we do choose to upgrade, and how the support and license changes that came in with Java 11 might impact us. Filmed at qconlondon.com.

Trisha Gee has developed Java applications for a range of industries, including finance, manufacturing, software and non-profit. She has expertise in Java high performance systems, is passionate about enabling developer productivity, and dabbles with Open Source development. As a Developer Advocate for JetBrains, she gets to share all the interesting things she’s constantly discovering.

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Life beyond Java 8

  1. 1. InfoQ.com: News & Community Site Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ java-8-plus • Over 1,000,000 software developers, architects and CTOs read the site world- wide every month • 250,000 senior developers subscribe to our weekly newsletter • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • 2 dedicated podcast channels: The InfoQ Podcast, with a focus on Architecture and The Engineering Culture Podcast, with a focus on building • 96 deep dives on innovative topics packed as downloadable emags and minibooks • Over 40 new content items per week
  2. 2. Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide Presented at QCon London www.qconlondon.com
  3. 3. Upgrading Past Java 9 Sounds Scary …and I don’t want to pay for Java
  4. 4. Super happy with Java 8, thanks
  5. 5. Starting with Java 11, Oracle will provide JDK releases under the open source GNU General Public License v2, with the Classpath Exception (GPLv2+CPE), and under a commercial license for those using the Oracle JDK as part of an Oracle product or service, or who do not wish to use open source software. This… replaces the historical “BCL” license, which had a combination of free and paid commercial terms. Donald Smith, Sr. Director of Product Management (June 2018) https://blogs.oracle.com/java-platform-group/oracle-jdk-releases- for-java-11-and-later
  6. 6. That sounds frightening, and overly complicated. Talk us through it. The Lego Batman Movie
  7. 7. That sounds frightening, and overly complicated. Talk us through it. The Lego Batman Movie
  8. 8. https://flic.kr/p/8xhk74
  9. 9. From Java 11 forward, Oracle JDK builds and OpenJDK builds will be essentially identical. Donald Smith, Sr. Director of Product Management (Sept 2018) https://blogs.oracle.com/java-platform-group/oracle-jdk-releases- for-java-11-and-later
  10. 10. https://blog.joda.org/2018/09/time-to-look-beyond-oracles-jdk.html
  11. 11. https://adoptopenjdk.net
  12. 12. https://adoptopenjdk.net/support.html
  13. 13. Language features
  14. 14. JShell
  15. 15. JShell
  16. 16. JShell
  17. 17. var
  18. 18. var
  19. 19. var
  20. 20. var
  21. 21. var
  22. 22. var
  23. 23. Convenience Factory Methods for Collections
  24. 24. Convenience Factory Methods for Collections
  25. 25. Convenience Factory Methods for Collections
  26. 26. Convenience Factory Methods for Collections
  27. 27. Collecting to Unmodifable Collections items.stream() .filter(Objects::nonNull) .map(Object::toString) .collect(Collectors.toUnmodifiableList());
  28. 28. New Methods on Stream API items.stream() .takeWhile(user -> user.count() < maxCount) .forEach(user -> position.incrementAndGet());
  29. 29. Predicate.not()
  30. 30. New Methods on Optional
  31. 31. Http Client @tddmonkey
  32. 32. Multi Release Jar Files
  33. 33. Jigsaw
  34. 34. Java Module System
  35. 35. Java Module System
  36. 36. JLink
  37. 37. And in the future?
  38. 38. Java 12: Switch expressions
  39. 39. • JEP 302: Lambda Leftovers (including underscore for param) • JEP 305: Pattern Matching (Preview) • Data Classes for Java • Project Amber • Valhalla • Loom And in the future?
  40. 40. Performance
  41. 41. Memory Usage
  42. 42. • Java 9: JEP 248: G1 the Default GC • Java 10: JEP 307: Parallel Full GC for G1 • Java 11: JEP 318: Epsilon (Experimental) • Java 11: JEP 333: ZGC (Experimental) Garbage Collectors
  43. 43. • Java 9: JEP 248: G1 the Default GC • Java 10: JEP 307: Parallel Full GC for G1 • Java 11: JEP 318: Epsilon (Experimental) • Java 11: JEP 333: ZGC (Experimental) • Java 12: JEP 189: Shenandoah (Experimental) • Java 12: More Updates to G1 • Java 12: More Improvements to ZGC Garbage Collectors
  44. 44. Cost £$€
  45. 45. Catch the 6 month release train
  46. 46. If It Hurts, Do It More Frequently, and Bring the Pain Forward An idea from Extreme Programming (XP) Continuous Delivery – Jez Humble & Dave Farley
  47. 47. Modularity?
  48. 48. Missing classes / methods
  49. 49. Run on updated JDK It might “just work”
  50. 50. Address compiler warnings …they are there for a reason
  51. 51. Update your dependencies And add new ones
  52. 52. Update your build tool Maven and Gradle work with Java 12
  53. 53. Compile against updated JDK …and start using the shiny new features
  54. 54. Java Is Changing …fast
  55. 55. Modern Java Can Help You Performance, cost, maintenance…
  56. 56. Upgrade Now And Reduce Future Pain …and keep upgrading, at least in CI
  57. 57. Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ java-8-plus

×