Skip to main content

Java

From Records to Deconstructible Types: Amber's Deconstruction–Reconstruction Path and Syntax Governance

From Records to Deconstructible Types: Amber's Deconstruction–Reconstruction Path and Syntax Governance

·2504 words·12 mins
When JEP 395 bundles immutable carriers, nominal tuples, and record patterns, any evolution beyond its constraints loses both compact syntax and expressive power on the pattern-matching side. Project Amber is elevating fixed-component-shape deconstruction to a top-level type property, narrowing the narrative to deconstructible class in mail #2; JEP 468 (Candidate, preview) has long awaited a broader class-level deconstruction path. This article explains motivation, terminology alignable with public documentation, and how engineers should read preview features and the upcoming Pattern Assignment (no Preview JEP yet; see Amber features 2026 mail) in dependency order.
A Brief Look at JEP - JEP-502: Stable Value (Preview)

A Brief Look at JEP - JEP-502: Stable Value (Preview)

·2181 words·5 mins
An exploration of JEP 502’s StableValue API, which addresses the fundamental trade-off between immutability and initialization flexibility in Java. This article covers the API design, core implementation details including double-checked locking patterns, memory semantics, and JIT optimization strategies using the @Stable annotation.
Why HeapDumpOnOutOfMemoryError Should Be Avoided in Production

Why HeapDumpOnOutOfMemoryError Should Be Avoided in Production

·702 words·4 mins
A comprehensive guide exploring why enabling HeapDumpOnOutOfMemoryError can cause significant performance issues in production environments, which OutOfMemoryError types actually trigger heap dumps, and better alternatives like JFR for memory leak detection and automatic service restart strategies.