Happy Book Birthday! OCP Java 17 Book Released!

Jeanne and I over the moon to announce the release of our new OCP Java 17 Developer Complete Study Guide! This book is the culmination of years of knowledge that we’ve accumulated writing study guides for Java. It is for anyone who wants to expand their knowledge of Java, or who wants to pass Oracle’s new Java SE 17 Developer 1Z0-829 exam and become a Java 17 Oracle Certified Professional.

Lambdas and streams? Covered! Concurrency, JDBC, and NIO.2? Covered! New Java 17 switch expressions, records, sealed classes, pattern matching? Definitely covered! Modules? Ok, we don’t use them much either, but they are covered for the exam! It’s great for those who are familiar with Java, but want to acquire a deeper understanding of the language. Learn features of the language that will help you write better code!

Our Java 17 book is a streamlined version of our previous books, including all of the new material and changes that you need to know for the exam. Previously, we wrote one book for each of the two exams. Starting with Java 17, there’s only one exam, allowing us to cover the material in a much more concise and straight-forward manner. Put simply, it weighs less than our previous Complete Study Guide!

Want to win a free copy? Our home away from home, CodeRanch, will be running a book promotion next week starting on May 10th!

[devnexus 2022] pattern matching for Java

Speaker: Neha Sardana

Twitter: @nehasardana09

Link to table of contents

———————

Records

<missed this part; I was late>

Sealed class

  • Want to control children
  • More declarative than access modifiers
  • Can make widely accessible interface without widely extensible
  • Sets stage for pattern matching.

Pattern Matching

  • Pattern matching created in 1960s
  • Helps with clean code, avoiding repetition/bugs

Instanceof

  • matches target object to type pattern
  • sets binding variable – special case of local variables, can be assigned, can shadow field declarations
  • flow scoping – places in program where variable definitely assigned

Switch expressions

  • Limitations on switch/case are accidents of history.
  • Java 17 preview allows pattern matching in case
  • Java 19 – write ”when” instead of && in case
  • Can assign result if all cases covered. (enums and sealed classes can be listed exhaustively

Future

  • Record patterns (deconstrution patterns). ex if (r instanceof Rectangle (Point ul, Point lr))
  • Can also deconstruct arrays

My take

I thought this topic woud be fully review, but I still learned something (“when”). It was great to see Neha’s first public in person presentation! Good job!

[devnexus 2022] the new excitement about the good old java

Speaker: Venkat Subramanium

Twitter: @venkat_s

Link to table of contents

———————

Notes

  • Java is a passport to the world – spoke at 50 user groups in hoor of turnig 50
  • Celebrated Paris JUG’s anniversary in Eifflel Tower
  • Ukrainian flag slide

Agile

  • good to say that, now talk about what do
  • Hates word – Scrum-master – Agile Manifesto does’t say SM
  • Love ceremony and rituals
  • Easy to hide from what really do
  • Also hates word velocity – sustainable and producing results is what matter
  • TDD – ticket driven development
  • Agile is really feedack driven development
  • Cost of failure low if train leaves every 30 minutes vs plannig a flight

Java

  • Java now evololving faster
  • Java 8 was game changer because of streams
  • “Java late to party but came with amazing desserts”
  • Releases used to be slow because targeted features to releases. Not agile. Want to adapt plan to reality
  • ”When will project loom be ready?” ”When it is ready”
  • Java is not being developed on a 6 month release cycle. It is being released on a 6 month cycle
  • People ask questions about feature while still remember writing it
  • Can learn and adopt technologies as they come out vs all at once
  • Less ceremony/redundancy

Live coding

  • pattern matching with if – smart casting
  • switch expression
  • pattern matching with switch including conditions
  • multi-line string with smart indentation (incidental whitespace
  • sealed interface – use but don’t implement

My take

I don’t think I learned anything new, but Venkat is an entertaining and engaging speaker, so that’s fine! Good coverage of the new Java features in live coding