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
- JEP targeted to JDK 24: 484: Class-File API on October 22, 2024
- 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, 2024
- Uniform handling of failure in switch on December 15, 2023
- JEP targeted to JDK 22: 457: Class-File API (Preview) on November 30, 2023
- New candidate JEP: 457: Class-File API (Preview) on September 28, 2023
- Project Leyden: Toward Condensers on July 31, 2023
- Design Document on Nullability and Value Types on June 2, 2023
- Patterns: Exhaustiveness, Unconditionality, and Remainder on May 26, 2023
- Deconstruction Patterns on March 6, 2023
- Paving the on-ramp on September 29, 2022
- Virtual Threads: New Foundations for High-Scale Java Applications on September 23, 2022
- How many subclasses can be declared for a sealed class? on July 18, 2022
- Data-Oriented Programming in Java on June 20, 2022
- State of Valhalla on December 27, 2021
- 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, 2021
- Rehabilitating switch -- a scorecard on May 17, 2021
- Switch labels (null again), some tweaking on April 23, 2021
- State of Valhalla, Section 3: JVM Model on April 21, 2021
- Looking ahead: pattern assignment on March 23, 2021
- Guards on March 5, 2021
- Primitive type patterns and conversions on March 1, 2021
- Java Feature Spotlight: Pattern Matching on January 22, 2021
- Pattern features for next iteration on January 19, 2021
- Interview with Brian Goetz on January 19, 2021
- [pattern-switch] Guards on January 8, 2021
- Pattern Matching in the Java Object Model on January 6, 2021
- Array patterns (and varargs patterns) on January 5, 2021
- Relaxed assignment conversions for sealed types on October 9, 2020
- 'Type patterns in switch' document updated on September 8, 2020
- Finalizing in JDK 16 - Pattern matching for instanceof on August 26, 2020
- A peek at the roadmap for pattern matching and more on August 12, 2020
- Next up for patterns: type patterns in switch on June 24, 2020
- Background: how we got the generics we have on June 24, 2020
- Java Feature Spotlight: Sealed Classes on June 17, 2020
- Java Feature Spotlight: Text Blocks on May 1, 2020
- Lombok getter/setter vs. Records on April 20, 2020
- State of Valhalla on March 1, 2020
- Valhalla - Finding the primitives on February 18, 2020
- Java Feature Spotlight: Records on February 4, 2020
- Towards cleaner nesting on January 7, 2020
- Java Feature Spotlight: Local Variable Type Inference on November 1, 2019
- Local Variable Type Inference FAQ on August 30, 2019
- Towards Better Serialization on June 11, 2019
- Data Classes and Sealed Types for Java on February 28, 2019
- JEP proposed to drop from JDK 12: 326: Raw String Literals (Preview) on December 11, 2018
- Pattern Matching for Java on September 7, 2018
- Extending switch for Pattern Matching on April 1, 2017
Videos
- Growing the Java Language #JVMLS on August 21, 2025
- Where Is the Java Language Going? on April 20, 2025
- Valhalla - Java's Epic Refactor on December 16, 2024
- Postcards from the Peak of Complexity on November 3, 2024
- Serialization - A New Hope on October 13, 2024
- Valhalla - Where Are We? #JVMLS on August 23, 2024
- Java Architects Answer Your Questions on October 26, 2023
- Brian Goetz Answers Your Java Questions on October 20, 2023
- Java 21… and Beyond on October 14, 2023
- Project Leyden on October 14, 2023
- JVMLS - A Classfile API for the JDK on August 24, 2023
- AMA About the Java Language on August 2, 2021
- 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, 2020
- Java Language Futures - Late 2019 Edition on November 9, 2019
- Beyond ByteBuffers on November 8, 2019
- Why We Hate Java Serialization on November 7, 2019
- Ask the Java Architect on November 7, 2019
- Java - A Look Ahead on October 23, 2019
- Java Language Futures - 2019 Edition on September 18, 2019
- Project Valhalla Update on July 30, 2019
- FP vs OO: Choose Two on February 18, 2019
- Moving Java Forward Faster on November 9, 2017
- Adventures in Pattern Matching on August 2, 2017
- 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, 2014
- Stewardship: the Sobering Parts on November 22, 2014
- Evolving the JVM - Principles & Directions on July 31, 2014
Podcasts
- Episode 40 “Amber & Valhalla - Incremental Design and Feature Arcs” with Brian Goetz on September 28, 2025
- Episode 26 “Java 19 is Here!” on September 20, 2022
- Episode 20 “Java 17 is Here! Part 2” on September 27, 2021
- InfoQ Podcast with Brian Goetz on December 23, 2018
