Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Modern Java with IntelliJ IDEA

3d6ace9554821d552146413bcdf874f6?s=47 Trisha Gee
October 27, 2020

Modern Java with IntelliJ IDEA

The current release cadence of a new version of Java every 6 months can be overwhelming. The releases might even contain preview features which are "complete" but may change with every new release until they finally stabilize. How can a real developer keep up with this? The good news is that your IDE can help. IntelliJ IDEA not only provides support for the latest versions of Java (even the ones that aren't released yet), it can also help us to discover and use the new language features. This way we can let the IDE help us to migrate to the latest and greatest, and we don't need to go researching for the relevant features every 6 months. In this session, Trisha will show the interesting language features in recent versions of Java, and show how IntelliJ IDEA makes these really easy to find and use.

3d6ace9554821d552146413bcdf874f6?s=128

Trisha Gee

October 27, 2020
Tweet

Transcript

  1. IntelliJ IDEA ©JetBrains. All rights reserved Modern Java with IntelliJ

    IDEA Trisha Gee (@trisha_gee) Java Champion & Java Advocacy Lead, JetBrains
  2. Define “Modern Java”

  3. https://www.jetbrains.com/lp/devecosystem-2020/java/ Despite the emergence of newer versions, Java 8 is

    still most beloved. It is used by 3/4 of Java developers. Java 11 is growing more popular. Compared to last year, its usage has increased by 10 percentage points.
  4. https://flic.kr/p/8xhk74

  5. Java 11 Long Term Support (LTS) Release; ~3 years support

  6. Java 15 Current release; be prepared to upgrade in March

    2021
  7. IntelliJ IDEA can help you

  8. None
  9. Why bother?

  10. Super happy with Java 8, thanks

  11. Java 11 Long Term Support (LTS) Release

  12. var

  13. Convenience Factory Methods for Collections

  14. Collecting to Unmodifable Collections

  15. New Methods on Optional

  16. Java 15 Current Release

  17. Switch Expressions

  18. Switch Expressions https://jb.gg/ij-jdk12

  19. Text Blocks

  20. Text Blocks https://jb.gg/ij-jdk13

  21. Preview Features

  22. None
  23. None
  24. Pattern Matching for instanceof

  25. Pattern Matching for instanceof https://jb.gg/ij-jdk14

  26. Records

  27. Records https://jb.gg/ij-jdk14

  28. Sealed Types

  29. Sealed Types https://jb.gg/ij-jdk15

  30. Tips for Migration

  31. http://bit.ly/8-to-11

  32. Address compiler warnings

  33. Address compiler warnings …they are there for a reason

  34. Update your dependencies

  35. Update your dependencies And add new ones

  36. Update your build tool

  37. Update your build tool Updated Maven and Gradle required

  38. Let your tools do the hard work

  39. http://bit.ly/ij-modern-java @trisha_gee