Two topics are covered: null handling in Java and upgrading past Java 8. On null, the discussion covers why null is problematic (not just NPEs, but tracking whether absence is intentional), best practices like using Objects.requireNonNull, avoiding null for optional values, and documentation. Static analysis tools like SpotBugs, PMD, NullAway, and the Checker Framework are surveyed, along with the JSpecify project aiming to unify null annotations. Language-level changes are also discussed: pattern matching with instanceof and switch already reject null by default, and Project Valhalla's inline/primitive classes will allow non-nullable value types. On upgrading, Netflix's experience moving from Java 8 to 16 is highlighted as straightforward—update dependencies incrementally, fix what breaks, and keep moving forward. Benefits include new language features, better JIT/GC, improved container support, JFR event streaming, and developer attractiveness.

11m read timeFrom nipafx.dev
Post cover image
Table of contents
▚ Intro▚ null in Java▚ Updating past Java 8▚ Outro

Sort: