Brian Goetz
where else to find them
what they talk about
all 9 in the filters
where they keep going back
- JVM Language Summit8 editions2012–2025
- Jfokus4 editions2016–2026
- Devoxx Belgium3 editions2017–2024
all 11 in the filters
on a stage with
all 16 in the filters
who talks about the same things
- Nicolai Parlog63 talks
- Simon Ritter72 talks
- John Rose20 talks
- Mark Reinhold59 talks
- Paul Sandoz20 talks
- Rémi Forax29 talks
| title | conference | date |
|---|---|---|
| Carrier Classes & Discussing Syntax | JavaOne 2026 | 2026-03-17 |
Two recent Amber mails compare an original carrier classes draft that forces a full API contract (construction, representation, derived equals/hashCode) with a… | ||
| Java Next - Live Stream | JavaOne 2026 | 2026-03-17 |
Live stream walks through concrete JDK26 changes and ecosystem moves: a new PEM encoding API for certificates/keys and a simple decoder/encoder flow… | ||
| Ask the Java Architects | Jfokus 2026 | 2026-02-02 |
Answers focus on concrete tradeoffs and designs not slogans For reconstruction the claim is that deconstructibility on classes can let wither style… | ||
| Growing the Java Language | JVM Language Summit 2025 | 2025-08-04 |
Proposes adding Haskell‑style type classes to Java by treating ordinary interfaces as type‑level “type classes” and declaring witness fields and methods that… | ||
| Valhalla? Python? Withers? Lombok? - Ask the Architects | JavaOne 2025 | 2025-03-18 |
Semicolons stay; removing them is ruled out as disruptive. Valhalla ships a minimal first JEP with a stable spec and an early‑access build expected in a month… | ||
| Amber & Valhalla - Incremental Design and Feature Arcs | JavaOne 2025 | 2025-03-18 |
OpenJDK splits big changes into many small, designed steps, shipping jets every 6–12 months while designing several steps ahead so pieces fit. Pattern-matching… | ||
| Where is the Java language going? | JavaOne 2025 | 2025-03-18 |
Overview of concrete language changes and timelines: Project Amber ships records, sealed types and pattern matching in incremental JEPs to reduce boilerplate… | ||
| Project Valhalla Update | Jfokus 2025 | 2025-02-03 |
Project Valhalla introduces value classes (the new value modifier) and a non-nullability plan (JEP 401 starts the work) to let the JVM flatten and densify… | ||
| Ask the Architect | Jfokus 2025 | 2025-02-03 |
Live AMA covers concrete roadmaps: a serialization prototype using pattern matching that asks class authors to supply at-rest constructors and deconstructors… | ||
| The Peak of Complexity | Devoxx Belgium 2024 | 2024-10-07 |
Defines a five‑stage lifecycle that culminates in the peak of complexity and warns that shipping that first, clever solution (examples: Java serialization, the… | ||
| Valhalla - Where Are We? | Devoxx Belgium 2024 | 2024-10-07 |
Project Valhalla introduces value classes (no identity) and null‑restricted types (the bang) with JVM verifier and strict‑initialization checks, shipped as… | ||
| Ask the Architect | Devoxx Belgium 2024 | 2024-10-07 |
Panel answers why the security manager removed from the JDK: running untrusted code migrates to OS containers and external tooling, not the JVM, and… | ||
| Postcards from the Peak of Complexity | Devoxx Belgium 2024 | 2024-10-07 |
Java evolves through decade-scale projects — generics, lambdas, modules, Loom (virtual threads) and Valhalla — and follows a repeatable life cycle: early… | ||
| Serialization: A New Hope | Devoxx Belgium 2024 | 2024-10-07 |
Proposes replacing Java’s magic serialization with a data‑oriented pipeline that uses constructors and deconstruction patterns and simple annotations like… | ||
| Valhalla - Where Are We? | JVM Language Summit 2024 | 2024-08-05 |
Project Valhalla delivers concrete features: an EA build of value classes that add a single modifier, a verifier-backed strict initialization rule, and… | ||
| A Classfile API for the JDK | JVM Language Summit 2023 | 2023-08-07 |
Claims a new standard JDK Class-File API (JEP 8280389) that parses, generates and transforms class files with a model-driven element stream core, immutability… | ||
| Brian Goetz Ask Me Anything | Craft Conference 2021 | 2021-06-02 |
Covers why null corner cases keep derailing language features — pattern matching must decide how null matches nested and top-level patterns and every option… | ||
| Java Language Futures: Late 2019 Edition | Devoxx Belgium 2019 | 2019-11-04 |
Overview of concrete language changes and release plan: Java 12 and 13 are shipped, Java 14 is closing and uses a six‑month cadence with preview features… | ||
| Beyond ByteBuffers | Devoxx Belgium 2019 | 2019-11-04 |
Claims a new foreign-memory API that replaces ByteBuffer for off-heap work, exposing MemorySegment, MemoryAddress and MemoryLayout plus VarHandles to… | ||
| Why We Hate Java Serialization And What We're Doing About It | Devoxx Belgium 2019 | 2019-11-04 |
Java serialization is claimed to break the object model by bypass constructors and reflectively scrape and stuff private final fields, enabling invariant… | ||
| Ask the Java Architect | Devoxx Belgium 2019 | 2019-11-04 |
Covers concrete status and design choices: value types must support serialization and likely use constructor-based deserialization; records and switch… | ||
| Valhalla Update | JVM Language Summit 2019 | 2019-07-29 |
Project Valhalla publishes an L2 EA build (jdk.java.net/valhalla) that provides usable inline classes: arrays of value types are covariant with object[]… | ||
| FP vs OO: Choose Two | Jfokus 2019 | 2019-02-04 |
Argues the FP vs OO split is a false dichotomy and gives concrete guidance: use functional core techniques inside modules and boundary shell OO for I/O… | ||
| Java Futures: 2019 Edition | Jfokus 2019 | 2019-02-04 |
Six-month releases now ship features faster and accept 6–12 month preview windows for last‑minute feedback. Recent additions: local variable type inference… | ||
| Ask the Java Architects | Jfokus 2019 | 2019-02-04 |
Explains why Java moves to a six‑month cadence and keeps three‑year LTS lines, showing it ships smaller features faster and eases planning; notes modules… | ||
| Below the Fold, Adventures in Constancy | JVM Language Summit 2018 | 2018-08-04 |
Adds a constant_descriptor API and a Constable interface so the static compiler treats rich constant expressions (including method‑handle and invokedynamic… | ||
| Java Language Futures - All Aboard Project Amber | Devoxx Belgium 2017 | 2017-11-06 |
Local-variable type inference ships as var in JDK 10 and is limited to locals (not fields or API signatures); the compiler normalizes capture types and forbids… | ||
| Moving Java Forward Faster | Devoxx Belgium 2017 | 2017-11-06 |
Java moves to a strict six-month feature releases cadence (next release March 2018), with every-third-year long-term support every three years (first LTS Sept… | ||
| Ask the JDK Architects | Devoxx Belgium 2017 | 2017-11-06 |
Audience Q&A covers concrete progress and timelines: Sumatra fizzled after joint Oracle–AMD work but the follow-on is Graal compiler work inside Project… | ||
| Interview with Brian Goetz | Devoxx Belgium 2017 | 2017-11-06 |
Java moves to a six-month release cadence where finished features board the next train and unfinished work waits for the following one, reducing big multi-year… | ||
| Pattern Matching | JVM Language Summit 2017 | 2017-07-31 |
Proposes encoding deconstructors as class members implemented as method handle tuples so common cases (instanceof + field access) are allocation free and… | ||
| Preparing for JDK 9 - AKA The Sharp Edges of JDK 9 | Devoxx US 2017 | 2017-03-21 |
JDK 9 hides most internal APIs and intends to remove deprecated APIs (some marked for removal=true), so many real-world apps and libraries break until updated… | ||
| From Concurrent to Parallel | Philly ETE 2016 | 2016-04-11 |
Java SE 8 parallel streams and the fork/join runtime target data-parallel work, not IO concurrency, by using recursive divide-and-conquer on a common… | ||
| Move Deliberately and Don’t Break Anything: Lessons from...Java | Philly ETE 2016 | 2016-04-11 |
Java evolution prioritizes compatibility over novelty: it measures compatibility across binary, source, behavioral, serialization surfaces, runs corpus… | ||
| From Concurrent to Parallel | Jfokus 2016 | 2016-02-08 |
Argues that parallelism is an optimization distinct from concurrency and demonstrates Java SE 8 parallel streams built on ForkJoin for divide‑and‑conquer… | ||
| Move Deliberately and Don't Break Anything | Jfokus 2016 | 2016-02-08 |
Java evolution prioritizes compatibility over novelty: the platform supports millions of developers and billions of lines of code, so changes require careful… | ||
| Ask the Java Architects | Jfokus 2016 | 2016-02-08 |
JDK libraries aim for the mainstream, not ultra-low-latency HFT use cases, so allocation-heavy hot-path fixes are left to specialist libraries; value types are… | ||
| Generic Specialization | Jfokus 2016 | 2016-02-08 |
Presentation from Brian Goetz during the VM Tech Summit at Jfokus on the compiler/vm details of generic specialization.
Full Abstract: Project Valhalla… | ||
| API Design with Java 8 Lambdas and Streams | JavaOne 2015 | 2015-10-25 |
Practical, example-driven rundown of how Java 8 actually reshapes APIs: shows adding ThreadLocal.withInitial instead of subclassing, the new… | ||
| Move Deliberately & Don't Break Anything | GOTO Copenhagen 2015 | 2015-10-05 |
Explains why Java prioritizes binary compatibility (call-site linkage), source and behavioral compatibility, and serialization, showing concrete examples… | ||
| Adventures on the Road to Valhalla | JVM Language Summit 2015 | 2015-08-10 |
Prototype implements generics over primitives by keeping erased class files plus a specializer that uses a bytecode-mapping attribute and name-mangled… | ||
| Stewardship: the Sobering Parts | Clojure/conj 2014 | 2014-11-20 |
Describes stewarding Java for ~9 million developers and billions of lines of code, trading change for compatibility; Java 8 adds lambdas implemented by… | ||
| Offers a View Into Lambda Development | Devoxx 2013 | 2013-11-11 |
Project spends about three and a half years resolving deep interactions rather than slapping on syntax; the team overhauls method overload selection and type… | ||
| Lambdas in Java: A Peek Under the Hood | GOTO Aarhus 2013 | 2013-09-30 |
Explains how Java SE 8 implements lambdas by emitting a recipe (not inner classes) and using JVM features introduced in Java 7: invokedynamic plus method… | ||
| Implementing Lambda Expressions in Java | JVM Language Summit 2012 | 2012-07-30 |
Java implements lambdas by emitting an invokedynamic call (JSR 292) that defers creation to a runtime lambda metafactory which returns instances of existing… | ||
| nothing matches | ||