Sort by: Date | Author | Tag
Brian Goetz - Java Language Architect
Brian Goetz is the Java Language Architect at Oracle and was the specification lead for JSR-335 (Lambda Expressions for the Java Programming Language). He is the author of Java Concurrency in Practice and over 75 articles about Java development.
Posts
-
Data Oriented Programming, Beyond Records
on February 27, 2026Amber
-
Data-Oriented Programming for Java: Beyond Records
on January 27, 2026Amber
-
JEP targeted to JDK 24: 484: Class-File API
on October 22, 2024JDK 24Core Libraries
-
JEP 14: The Tip & Tail Model of Library Development
on October 5, 2024
-
JEP targeted to JDK 23: 466: Class-File API (Second Preview)
on March 28, 2024JDK 23Core Libraries
-
Uniform handling of failure in switch
on December 15, 2023AmberJava Language
-
JEP targeted to JDK 22: 457: Class-File API (Preview)
on November 30, 2023JDK 22Core Libraries
-
New candidate JEP: 457: Class-File API (Preview)
on September 28, 2023Core Libraries
-
Project Leyden: Toward Condensers
on July 31, 2023Leyden
-
Design Document on Nullability and Value Types
on June 2, 2023Valhalla
-
Patterns: Exhaustiveness, Unconditionality, and Remainder
on May 26, 2023AmberJava Language
-
Deconstruction Patterns
on March 6, 2023Amber
-
Paving the on-ramp
on September 29, 2022AmberJava Language
-
Virtual Threads: New Foundations for High-Scale Java Applications
on September 23, 2022JDK 19Loom
-
How many subclasses can be declared for a sealed class?
on July 18, 2022Amber
-
Data-Oriented Programming in Java
on June 20, 2022Amber
-
State of Valhalla
on December 27, 2021Valhalla
-
What are they building—and why? 6 questions for the top Java architects
on August 6, 2021
-
Minor improvement to anonymous classes
on August 1, 2021Amber
-
Rehabilitating switch -- a scorecard
on May 17, 2021Amber
-
Switch labels (null again), some tweaking
on April 23, 2021Amber
-
State of Valhalla, Section 3: JVM Model
on April 21, 2021HotSpotValhalla
-
Looking ahead: pattern assignment
on March 23, 2021Amber
-
Guards
on March 5, 2021Amber
-
Primitive type patterns and conversions
on March 1, 2021Amber
-
Java Feature Spotlight: Pattern Matching
on January 22, 2021JDK 16AmberJava Language
-
Interview with Brian Goetz
on January 19, 2021Java Language
-
Pattern features for next iteration
on January 19, 2021AmberJava Language
-
[pattern-switch] Guards
on January 8, 2021AmberJava Language
-
Pattern Matching in the Java Object Model
on January 6, 2021AmberJava Language
-
Array patterns (and varargs patterns)
on January 5, 2021AmberJava Language
-
Relaxed assignment conversions for sealed types
on October 9, 2020Amber
-
'Type patterns in switch' document updated
on September 8, 2020Amber
-
Finalizing in JDK 16 - Pattern matching for instanceof
on August 26, 2020JDK 16Amber
-
A peek at the roadmap for pattern matching and more
on August 12, 2020Amber
-
Background: how we got the generics we have
on June 24, 2020Java LanguageValhalla
-
Next up for patterns: type patterns in switch
on June 24, 2020Amber
-
Java Feature Spotlight: Sealed Classes
on June 17, 2020Amber
-
Java Feature Spotlight: Text Blocks
on May 1, 2020JDK 15JDK 14JDK 13Amber
-
Lombok getter/setter vs. Records
on April 20, 2020JDK 14Amber
-
State of Valhalla
on March 1, 2020Valhalla
-
Valhalla - Finding the primitives
on February 18, 2020Valhalla
-
Java Feature Spotlight: Records
on February 4, 2020JDK 14Amber
-
Towards cleaner nesting
on January 7, 2020Amber
-
State of Valhalla
on December 12, 2019Valhalla
-
Java Feature Spotlight: Local Variable Type Inference
on November 1, 2019Amber
-
Local Variable Type Inference FAQ
on August 30, 2019Amber
-
Towards Better Serialization
on June 11, 2019Amber
-
Data Classes and Sealed Types for Java
on February 28, 2019Amber
-
JEP proposed to drop from JDK 12: 326: Raw String Literals (Preview)
on December 11, 2018Amber
-
Pattern Matching for Java
on September 7, 2018Amber
-
Extending switch for Pattern Matching
on April 1, 2017Amber
Videos
-
Growing the Java Language #JVMLS
on August 21, 2025Java Language
-
Where Is the Java Language Going?
on April 20, 2025AmberJava LanguageValhalla
-
Valhalla - Java's Epic Refactor
on December 16, 2024Valhalla
-
Postcards from the Peak of Complexity
on November 3, 2024
-
Serialization - A New Hope
on October 13, 2024Core LibrariesSecurity
-
Valhalla - Where Are We? #JVMLS
on August 23, 2024Valhalla
-
Java Architects Answer Your Questions
on October 26, 2023ClientCore LibrariesLoom
-
Brian Goetz Answers Your Java Questions
on October 20, 2023AmberValhalla
-
Project Leyden
on October 14, 2023Leyden
-
Java 21… and Beyond
on October 14, 2023JDK 21Oracle
-
JVMLS - A Classfile API for the JDK
on August 24, 2023Core Libraries
-
AMA About the Java Language
on August 2, 2021AmberLoom
-
Java Futures with Brian Goetz
on October 23, 2020
-
Ask the Java Architects Panel
on September 17, 2020
-
Java's 25th Birthday Kickoff Event [Moved by Java]
on May 20, 2020Moved By Java
-
Java Language Futures - Late 2019 Edition
on November 9, 2019Amber
-
Beyond ByteBuffers
on November 8, 2019Panama
-
Ask the Java Architect
on November 7, 2019
-
Why We Hate Java Serialization
on November 7, 2019Security
-
Java - A Look Ahead
on October 23, 2019
-
Java Language Futures - 2019 Edition
on September 18, 2019Amber
-
Project Valhalla Update
on July 30, 2019Valhalla
-
FP vs OO: Choose Two
on February 18, 2019
-
Moving Java Forward Faster
on November 9, 2017
-
Adventures in Pattern Matching
on August 2, 2017Amber
-
From Concurrent to Parallel
on February 23, 2016
-
Move Deliberately and Don't Break Anything
on October 21, 2015
-
Java Past, Present, and Future
on December 20, 2014AmberJava Language
-
Stewardship: the Sobering Parts
on November 22, 2014
-
Evolving the JVM - Principles & Directions
on July 31, 2014