~/talk

Mastering Resilient Java API Design: From Principles to Practice

Talkat JCON EUROPE 2025 · 2025-05-12..05-15· [java, api-design]
slides:none on file

Claims that Maven Central shows semantic versioning often fails because bugfix, minor and major bumps break consumers at the same rate, demonstrates that semantic versioning breaks in practice. Shows concrete Java gotchas: generics erase at runtime, compiler inlines string constants, and checked exceptions are a compile time concern not a runtime contract. Proposes a concrete design: use sealed classes + builders with inner classes, records and lambdas to produce policy objects and return streams not collections, a DSL-style API that prevents accidental subclassing and reduces binary breakage.

AI-written summary · about

  1. 0:00Introduction and speaker background
  2. 1:27Legacy Java API design pitfalls
  3. 3:16API versioning challenges
  4. 5:06IDE time vs runtime misconceptions
  5. 10:06Compile time vs runtime failures
  6. 14:47Constant inlining dangers
  7. 17:15Policy process configuration separation
  8. 22:37Sealed classes for API control
  9. 27:17Builder pattern for resilient APIs
  10. 30:50Final methods and API boundaries
  11. 32:41Fluent DSLs with inner classes
  12. 33:24Avoiding primitives in APIs
  13. 34:49Modern Java API design principles
  14. 38:23Takeaways and future-proofing APIs
  15. 40:35Q&A and closing remarks
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.