JDK 17
JDK 16
JDK 15
JDK 14
JDK 13
JDK 12
Amber
Client
Cloud
Concurrency
Core Libraries
GC
GraalVM
HotSpot
JFR
Java Language
Leyden
Loom
Modules
Moved By Java
Native Image
Networking
Oracle
Panama
Performance
Security
Serviceability
Skara
Valhalla
Project Amber
- Primitive type patterns and conversions by Brian Goetz on March 1, 2021
- OracleDevLive Preview | Gavin Bierman on Java Language Futures by Gavin Bierman, James Grisanzio on February 24, 2021
- When Records Met Serialization: A Happy Tale by Julia Boes, Chris Hegarty on February 23, 2021
- Java Feature Spotlight: Pattern Matching by Brian Goetz on January 22, 2021
- Pattern features for next iteration by Brian Goetz on January 19, 2021
- [pattern-switch] Guards by Brian Goetz on January 8, 2021
- Pattern Matching in the Java Object Model by Brian Goetz, Gavin Bierman on January 6, 2021
- Array patterns (and varargs patterns) by Brian Goetz on January 5, 2021
- Specs update by Gavin Bierman on December 22, 2020
- JEP proposed to target JDK 16: 397: Sealed Classes (Second Preview) by Mark Reinhold on November 24, 2020
- The Record Attribute - What does it mean to be a record at runtime? by Chris Hegarty on November 5, 2020
- New candidate JEP: 397: Sealed Classes (Second Preview) by Mark Reinhold on October 29, 2020
- JEP proposed to target JDK 16: 394: Pattern Matching for instanceof by Mark Reinhold on October 27, 2020
- JEP proposed to target JDK 16: 395: Records by Mark Reinhold on October 20, 2020
- Relaxed assignment conversions for sealed types by Brian Goetz on October 9, 2020
- New candidate JEP: 395: Records by Gavin Bierman on October 9, 2020
- New candidate JEP: 394: Pattern Matching for instanceof by Gavin Bierman on October 6, 2020
- Episode 4 “Record Classes” with Gavin Bierman by Gavin Bierman, David Delabassee on October 5, 2020
- Java Language Futures - Mid 2020 Edition by Gavin Bierman on September 17, 2020
- 'Type patterns in switch' document updated by Brian Goetz on September 8, 2020
- Finalizing in JDK 16 - Pattern matching for instanceof by Brian Goetz on August 26, 2020
- A peek at the roadmap for pattern matching and more by Brian Goetz on August 12, 2020
- Programmer's Guide To Text Blocks by Jim Laskey, Stuart Marks on August 5, 2020
- Finalizing in JDK 16 - Records by Gavin Bierman on July 27, 2020
- Finalizing in JDK 16 - Pattern matching for instanceof by Gavin Bierman on July 27, 2020
- Record Serialization by Chris Hegarty, Alex Buckley on July 20, 2020
- Next up for patterns: type patterns in switch by Brian Goetz on June 24, 2020
- Java Feature Spotlight: Sealed Classes by Brian Goetz on June 17, 2020
- JEP 360: Sealed Classes (Preview) - targeted to JDK 15 by Mark Reinhold on May 21, 2020
- Class & Interface Terminology by Dan Smith on May 7, 2020
- Java Feature Spotlight: Text Blocks by Brian Goetz on May 1, 2020
- Lombok getter/setter vs. Records by Brian Goetz on April 20, 2020
- Amber is moving to Git, GitHub and Skara by Vicente Romero, on April 13, 2020
- Java Languages Features for Improved Productivity by Stuart Marks on April 1, 2020
- Evolving Java: Project Amber by Vicente Romero on February 20, 2020
- Java Feature Spotlight: Records by Brian Goetz on February 4, 2020
- Java Language Futures - Late 2019 Edition by Brian Goetz on November 9, 2019
- Java Feature Spotlight: Local Variable Type Inference by Brian Goetz on November 1, 2019
- Java Language Futures - 2019 Edition by Brian Goetz on September 18, 2019
- Local Variable Type Inference FAQ by Brian Goetz, Stuart Marks on August 30, 2019
- Programmer's Guide To Text Blocks by Jim Laskey, Stuart Marks on August 6, 2019
- Towards Better Serialization by Brian Goetz on June 11, 2019
- Data Classes and Sealed Types for Java by Brian Goetz on February 28, 2019
- InfoQ Podcast with Brian Goetz by Brian Goetz on December 23, 2018
- JEP proposed to drop from JDK 12: 326: Raw String Literals (Preview) by Brian Goetz on December 11, 2018
- Pattern Matching for Java by Gavin Bierman, Brian Goetz on September 7, 2018
- Local Variable Type Inference: Style Guidelines by Stuart Marks on March 22, 2018
- Small Language Changes in JDK 9 by Joe Darcy on September 26, 2017
- Adventures in Pattern Matching by Brian Goetz on August 2, 2017
- Constants in Amber by Paul Sandoz, Vicente Romero on July 31, 2017
- enhanced enums - end of the road? by Maurizio Cimadamore on May 23, 2017
- Extending switch for pattern matching by Gavin Bierman, Brian Goetz on April 1, 2017
- Java Past, Present, and Future by Brian Goetz on December 20, 2014
Client
- JEP proposed to target JDK 17: 382: New macOS Rendering Pipeline by Mark Reinhold on February 25, 2021
- Episode 12 “jpackage” with Kevin Rushforth by Kevin Rushforth on February 11, 2021
- Project Lanai Early Access Build 9 by Philip Race on February 1, 2021
- Project Lanai Early Access Build 7 by Philip Race on December 1, 2020
- New Project Lanai Early Access build by Philip Race on November 13, 2020
- JEP proposed to target JDK 16: 392: Packaging Tool by Mark Reinhold on October 23, 2020
- New candidate JEP: 392: Packaging Tool by Mark Reinhold on September 25, 2020
- Standardizing JEP 343 with draft of new JEP - Packaging Tool by Andy Herrick on July 20, 2020
- Project Lanai EA build now available - feedback requested. by Phil Race on May 14, 2020
- Java Client Roadmap Updates by Donald Smith on May 13, 2020
- Create Native Packages to Deploy Java Applications by Kevin Rushforth on November 5, 2019
Cloud
- Be Aware of Your (Container) Surroundings by David Delabassee on May 29, 2020
- Java in Containers - Part Deux by David Delabassee on May 19, 2020
- JVMs in Containers - Best Practices by David Delabassee on February 16, 2020
- The Future of Serverless Java by Chad Arimura on November 24, 2019
Concurrency
- Project Loom: Modern scalable concurrency for the Java platform by Alan Bateman on February 4, 2021
- New Project Loom Early-Access Builds by Alan Bateman on July 26, 2020
- Loom Q&A by Ron Pressler, on July 15, 2020
- New Project Loom Early-Access Builds by Alan Bateman on June 29, 2020
- Virtual Threads use Preemptive Scheduling by Alan Bateman on June 8, 2020
- State of Loom by Ron Pressler on May 15, 2020
- A New Project Loom Early Access Build by Alan Bateman on April 21, 2020
- Loom: Helping Write Concurrent Applications on the Java Platform by Ron Pressler on November 6, 2019
- A lightweight thread is a Thread by Alan Bateman on October 22, 2019
- Java Concurrency, A(nother) Peek Under the Hood by David Buck on September 20, 2019
- Project Loom Update by Alan Bateman, Rickard Bäckman on July 29, 2019
- Early Access Loom Builds by Ron Pressler on July 29, 2019
- Project Loom: Fibers and Continuations for Java by Alan Bateman on November 14, 2018
Core Libraries
- JEP proposed to target JDK 17: 356: Enhanced Pseudo-Random Number Generators by Mark Reinhold on January 29, 2021
- RFE: Add Stream.toList() method by Stuart Marks on November 3, 2020
- JEP proposed to target JDK 16: 380: Unix-Domain Socket Channels by Mark Reinhold on October 20, 2020
- Incompatibilities with JDK 15 CharSequence.isEmpty by Stuart Marks on September 22, 2020
- Collections Refueled by Stuart Marks on September 17, 2020
- Scanner is a Weird but Useful Beast by Stuart Marks on April 14, 2020
- Collections Corner Cases by Stuart Marks on September 18, 2019
Garbage Collectors
- Welcome 20% less memory usage for G1 remembered sets - Prune collection set candidates early by Thomas Schatzl on February 26, 2021
- NUMA-Aware Memory Allocation for G1 GC by Sangheon Kim on November 3, 2020
- Episode 5 “The Z Garbage Collector (ZGC)” with Per Liden by Per Liden, David Delabassee on October 14, 2020
- JEP proposed to target JDK 16: 376: ZGC: Concurrent Thread-Stack Processing by Mark Reinhold on September 24, 2020
- ZGC - What's new in JDK 15 by Per Liden on September 22, 2020
- ZGC: The Next Generation Low-Latency Garbage Collector by Per Liden on September 17, 2020
- JEP proposed to target JDK 16: 387: Elastic Metaspace by Mark Reinhold on September 10, 2020
- JDK 15 G1/Parallel GC changes by Thomas Schatzl on September 1, 2020
- Heap Snapshotting by Ludvig Janiuk (guest) on August 26, 2020
- New candidate JEP: 387: Elastic Metaspace by Mark Reinhold on July 7, 2020
- ZGC - Using -XX:SoftMaxHeapSize by Per Liden on July 2, 2020
- How do 'hot and cold' objects behave? by Hanna Nyblom (guest) on July 1, 2020
- Compact Forwarding Information by Jonas Norlinder (guest) on June 25, 2020
- Oracle, Uppsala University, and KTH in joint JVM research projects by Jesper Wilhelmsson on June 12, 2020
- Improving G1 out-of-the-box performance by Stefan Johansson on April 16, 2020
- ZGC - What's new in JDK 14 by Per Liden on March 23, 2020
- Making ZGC Production Ready by Per Liden on February 20, 2020
- HotSpot Handshaking by Robbin Ehn on February 10, 2020
- A critical question, Zee GC or Zed GC? by Per Liden on October 4, 2019
- ZGC and tmpfs/hugeltbfs by Per Liden on June 28, 2019
- ZGC Concurrent Class Unloading by Erik Österlund on February 4, 2019
- The Z Garbage Collector by Erik Österlund on November 17, 2018
- ZGC : A Scalable Low-Latency Garbage Collector by Per Liden on October 25, 2018
- Can young generation size impact response times? by Poonam Parhar on December 11, 2017
GraalVM
- Making Sense of Native Image Contents by Olya Gupalo on February 15, 2021
- GraalVM Native Image Quick Reference by Olya Gupalo on February 4, 2021
- GraalVM on Truffle—Going Fully Metacircular by Oleg Shelajev on January 19, 2021
- GraalVM 21.0 VS Code Extensions Released by Jiří Sedláček on January 19, 2021
- GraalVM 21.0: Introducing a New Way to Run Java by Oleg Shelajev on January 19, 2021
- GraalVM Quick Reference by Oleg Shelajev on January 6, 2021
- GraalVM Community Survey Results by Alina Yurenko on December 22, 2020
- Compressed GraalVM Native Images by Loïc Lefèvre (guest) on December 9, 2020
- Announcing GraalVM 20.3 by Oleg Shelajev on November 17, 2020
- CLI applications with GraalVM Native Image by Oleg Shelajev on November 13, 2020
- Asynchronous polyglot programming with Java and JavaScript on GraalVM by Daniele Bonetta on June 24, 2020
- Accelerating OCI applications with GraalVM Enterprise by Olya Gupalo on June 2, 2020
- Apache Spark—Lightning fast on GraalVM Enterprise by Shaun Smith, Aleksandar Prokopec on May 5, 2020
- Everything you need to know about GraalVM by Oleg Shelajev, Thomas Wuerthinger on November 4, 2019
- GraalVM-Native Images: The Best Startup Solution for Your Applications by Christian Wimmer on September 19, 2019
- Maximizing Performance with GraalVM by Thomas Wuerthinger on September 17, 2019
- Updates on Class Initialization in GraalVM Native Image Generation by Christian Wimmer on September 12, 2019
- Improving performance of GraalVM native images with profile-guided optimizations by Jaroslav Tulach on August 29, 2019
- New opportunities for Java developers with GraalVM by Oleg Shelajev on July 31, 2019
- Improving GraalVM Native Image with Christian Wimmer by Christian Wimmer on July 30, 2019
- libgraal: GraalVM compiler as a precompiled GraalVM native image by on July 15, 2019
- GraalVM for Java developers by Oleg Shelajev on June 26, 2019
- Introducing the Tracing Agent: Simplifying GraalVM Native Image Configuration by Christian Wimmer on June 5, 2019
- Lightweight cloud-native Java applications by Oleg Shelajev on May 28, 2019
- Oracle GraalVM Enterprise Edition by Eric Sedlar on May 16, 2019
- GraalVM: Run Programs Faster Everywhere by Alina Yurenko on April 4, 2019
- Simplifying native-image generation with Maven plugin and embeddable configuration by Paul Woegerer on March 19, 2019
- Instant Netty Startup using GraalVM Native Image Generation by Codrut Stancu on May 22, 2018
HotSpot
- Deciphering the stack trace by Joakim Nordström on February 12, 2021
- Extending the Automatic Vectorization Capabilities of the C2 Compiler by William Sjöblom (guest) on January 27, 2021
- A crash happened outside the Java Virtual Machine by Joakim Nordström on December 3, 2020
- Biased locking Obsoletion update by Patricio Chilano Mateo on November 17, 2020
- Biased locking Obsoletion by Patricio Chilano Mateo on November 3, 2020
- New candidate JEP: 387: Elastic Metaspace by Mark Reinhold on July 7, 2020
- Invokedynamic for Mere Mortals by David Buck on September 19, 2019
- Java Bytecode Crash Course by David Buck on September 17, 2019
JDK Flight Recorder
- Monitoring Deserialization Activity in the JDK by Chris Hegarty on March 2, 2021
- Episode 13 “JDK Flight Recorder” with Markus Grönlund by Markus Grönlund on February 22, 2021
- Continuous Monitoring with JDK Flight Recorder by Mikael Vidstedt on September 17, 2020
- Continuous Monitoring With JDK Flight Recorder by Mikael Vidstedt on April 1, 2020
- Continuous Monitoring with JDK Flight Recorder by Mikael Vidstedt on February 27, 2020
- JFR: the Black Box of Java Applications by Poonam Parhar on September 24, 2019
- Clarifying some confusion around JFR by Poonam Parhar on November 14, 2017
Java Language
- Java Feature Spotlight: Pattern Matching by Brian Goetz on January 22, 2021
- Pattern features for next iteration by Brian Goetz on January 19, 2021
- Interview with Brian Goetz by Brian Goetz on January 19, 2021
- [pattern-switch] Guards by Brian Goetz on January 8, 2021
- CodeTools proposal: apidiff by Jonathan Gibbons on January 8, 2021
- Pattern Matching in the Java Object Model by Brian Goetz, Gavin Bierman on January 6, 2021
- Array patterns (and varargs patterns) by Brian Goetz on January 5, 2021
- Specs update by Gavin Bierman on December 22, 2020
- Incompatibilities with JDK 15 CharSequence.isEmpty by Stuart Marks on September 22, 2020
- Java Language Futures - Mid 2020 Edition by Gavin Bierman on September 17, 2020
- Preview APIs in the Java Platform by Alex Buckley on August 1, 2020
- Background: how we got the generics we have by Brian Goetz on June 24, 2020
- Java Past, Present, and Future by Brian Goetz on December 20, 2014
Project Leyden
- Towards OpenJDK 17 by Claes Redestad on December 6, 2020
- Call for Discussion - New Project: Leyden by Mark Reinhold on April 27, 2020
Project Loom
- Project Loom: Modern scalable concurrency for the Java platform by Alan Bateman on February 4, 2021
- New Loom Early Access Build by Alan Bateman on January 16, 2021
- New Loom Early Access Build by Alan Bateman on December 1, 2020
- Episode 8 “Project Loom” with Ron Pressler by Ron Pressler, Chad Arimura on November 24, 2020
- Project Loom: Scalable, Harmonious Concurrency for the Java Platform by Ron Pressler on November 11, 2020
- Project Loom - Modern Scalable Concurrency for the Java Platform by Ron Pressler on September 17, 2020
- On the Performance of User-Mode Threads and Coroutines by Ron Pressler on August 7, 2020
- Project Loom: Modern Scalable Concurrency for the Java Platform by Ron Pressler on July 29, 2020
- New Project Loom Early-Access Builds by Alan Bateman on July 26, 2020
- Loom Q&A by Ron Pressler, on July 15, 2020
- New Project Loom Early-Access Builds by Alan Bateman on June 29, 2020
- Virtual Threads use Preemptive Scheduling by Alan Bateman on June 8, 2020
- State of Loom by Ron Pressler on May 15, 2020
- A New Project Loom Early Access Build by Alan Bateman on April 21, 2020
- The pattern in the Loom (a blanket statement) by John Rose on February 4, 2020
- Virtual Threads - A Short Note about Naming by Ron Pressler on November 21, 2019
- Loom: Helping Write Concurrent Applications on the Java Platform by Ron Pressler on November 6, 2019
- A lightweight thread is a Thread by Alan Bateman on October 22, 2019
- Project Loom Is Moving to GitHub by Ron Pressler on August 23, 2019
- Project Loom Update by Alan Bateman, Rickard Bäckman on July 29, 2019
- Early Access Loom Builds by Ron Pressler on July 29, 2019
- InfoQ Podcast with Brian Goetz by Brian Goetz on December 23, 2018
- Project Loom: Fibers and Continuations for Java by Alan Bateman on November 14, 2018
- Your next JVM: Panama, Valhalla, Metropolis by John Rose on April 17, 2017
Modules
- New candidate JEP: 396: Strongly Encapsulate JDK Internals by Default by Alex Buckley, Mark Reinhold on October 27, 2020
- Is there any need to switch to modules when migrating past Java 8? No. by Mark Reinhold on July 17, 2020
- Stripping debug info from jlink runtime images by David Delabassee on October 2, 2019
- Project Jigsaw is Complete! by Mark Reinhold on September 21, 2017
- Modules in One Lesson by Mark Reinhold on May 17, 2017
- Modular Development with JDK 9+ by Alex Buckley on April 17, 2017
Moved By Java
- Venkat Subramaniam: Java is changing in a responsible manner by Alan Zeichick (guest) on September 24, 2020
- Keynote - The Future of Java Is Now by Georges Saab, Chad Arimura, Sharat Chander on September 17, 2020
- The arrival of Java 15 by Sharat Chander on September 15, 2020
- Episode 3 “The State of Java” with Georges Saab by Georges Saab, Chad Arimura on September 14, 2020
- Episode 1 “Welcome to Inside Java!” with hosts Chad and David by Chad Arimura, David Delabassee on September 2, 2020
- Java in 2020 by Manish Gupta on August 26, 2020
- Stack Overflow podcast celebrating 25 years of Java by Georges Saab, Manish Gupta on July 30, 2020
- Sharat Chander on the Java Community and the Ongoing 25th Anniversary Celebrations by Sharat Chander on June 14, 2020
- Java's 25th Birthday Kickoff Event [Moved by Java] by Brian Goetz, Chad Arimura, Georges Saab, Mark Reinhold, Sharat Chander on May 20, 2020
- Announcing Inside.java by Chad Arimura on May 20, 2020
- Our World. Moved by Java. by Georges Saab on May 12, 2020
GraalVM Native Image
- Compressed GraalVM Native Images by Loïc Lefèvre (guest) on December 9, 2020
- GraalVM-Native Images: The Best Startup Solution for Your Applications by Christian Wimmer on September 19, 2019
- Maximizing Performance with GraalVM by Thomas Wuerthinger on September 17, 2019
- Updates on Class Initialization in GraalVM Native Image Generation by Christian Wimmer on September 12, 2019
- Improving performance of GraalVM native images with profile-guided optimizations by Jaroslav Tulach on August 29, 2019
- Improving GraalVM Native Image with Christian Wimmer by Christian Wimmer on July 30, 2019
- libgraal: GraalVM compiler as a precompiled GraalVM native image by on July 15, 2019
- Introducing the Tracing Agent: Simplifying GraalVM Native Image Configuration by Christian Wimmer on June 5, 2019
- Simplifying native-image generation with Maven plugin and embeddable configuration by Paul Woegerer on March 19, 2019
- Instant Netty Startup using GraalVM Native Image Generation by Codrut Stancu on May 22, 2018
Networking
- JEP-380: Unix domain socket channels by Michael McMahon on February 3, 2021
Oracle
- Containerized Java Advanced Management Console by Sanju Nair on February 16, 2021
- Oracle JRE and JDK Cryptographic Roadmap by Aurelio García-Ribeyro on December 18, 2020
- Oracle JRE and JDK Cryptographic Roadmap by Aurelio García-Ribeyro on November 16, 2020
- Update on 64-bit ARM Support for Oracle OpenJDK and Oracle JDK by Donald Smith on November 12, 2020
- Oracle JRE and JDK Cryptographic Roadmap by Aurelio García-Ribeyro on October 9, 2020
- Keynote - The Future of Java Is Now by Georges Saab, Chad Arimura, Sharat Chander on September 17, 2020
- The arrival of Java 15 by Sharat Chander on September 15, 2020
- Announcing the Inside Java Podcast by Chad Arimura on September 15, 2020
- Episode 1 “Welcome to Inside Java!” with hosts Chad and David by Chad Arimura, David Delabassee on September 2, 2020
- Oracle JDK and Oracle Open JDK by Sharat Chander, Aurelio García-Ribeyro on February 20, 2020
- A new (Japanese) era for Java! by Aurelio García-Ribeyro on March 21, 2019
- Oracle's Plan for Distrusting Symantec TLS Certificates in the JDK by Aurelio García-Ribeyro on January 25, 2019
- Oracle Java SE Releases FAQ by Sharat Chander on January 14, 2019
- Oracle JDK Releases for Java 11 and Later by Donald Smith on September 11, 2018
- Update and FAQ on the Java SE Release Cadence by Donald Smith on May 3, 2018
Project Panama
- New Panama/Foreign Early-Access Builds, February update by Maurizio Cimadamore on February 18, 2021
- Foreign Memory Access - Pulling all the threads by Maurizio Cimadamore on January 25, 2021
- Episode 10 “Project Panama - The Foreign Linker API” with Maurizio Cimadamore and Jorn Vernee by Maurizio Cimadamore, Jorn Vernee, David Delabassee on December 21, 2020
- New Panama/Foreign EA builds, December 2020 edition by Maurizio Cimadamore on December 16, 2020
- Episode 9 “Project Panama - The Foreign Memory Access API” with Maurizio Cimadamore and Jorn Vernee by Maurizio Cimadamore, Jorn Vernee, David Delabassee on December 11, 2020
- Episode 7 “The Vector API” with John Rose and Paul Sandoz by John Rose, Paul Sandoz, David Delabassee on November 17, 2020
- JEP proposed to target JDK 16: 389: Foreign Linker API (Incubator) by Mark Reinhold on November 12, 2020
- JEP proposed to target JDK 16: 393: Foreign-Memory Access API (Third Incubator) by Mark Reinhold on October 26, 2020
- Project Panama and jextract by Sundar Athijegannathan on October 6, 2020
- New Panama/Foreign Early Access Build by Maurizio Cimadamore on October 1, 2020
- New candidate JEP: 393: Foreign-Memory Access API (3rd Incubator) by Maurizio Cimadamore on September 29, 2020
- JEP proposed to target JDK 16: 338: Vector API (Incubator) by Mark Reinhold on August 20, 2020
- New candidate JEP: 389: Foreign Linker API (Incubator) by Maurizio Cimadamore on August 18, 2020
- State of Foreign Memory support by Maurizio Cimadamore on July 28, 2020
- State of Foreign Function support by Maurizio Cimadamore on July 28, 2020
- Rethinking the role of MemorySegment vs. MemoryAddress by Maurizio Cimadamore on July 18, 2020
- Simplifying memory access var handles by Maurizio Cimadamore on June 23, 2020
- Segments and confinement by Maurizio Cimadamore on May 13, 2020
- Simple jstruct plugin by Maurizio Cimadamore on May 7, 2020
- Intrinsify down calls by Jorn Vernee on March 25, 2020
- ByteBuffers are dead, long live ByteBuffers! by Maurizio Cimadamore on February 1, 2020
- State of Panama Scopes by Maurizio Cimadamore on January 31, 2020
- Project Panama is moving to GitHub by Jorn Vernee on January 14, 2020
- jextract, distilled by Maurizio Cimadamore on November 22, 2019
- Beyond ByteBuffers by Brian Goetz on November 8, 2019
- Vector API by Vladimir Ivanov on September 17, 2019
- Panama Update by Maurizio Cimadamore on July 30, 2019
- Vectors and the Numerics on the JVM by Vladimir Ivanov, John Rose on July 29, 2019
- Concurrent memory access by Maurizio Cimadamore on June 15, 2019
- State of varargs by Maurizio Cimadamore on April 19, 2019
- Memory access: the missing link by Maurizio Cimadamore on April 18, 2019
- State of Panama Pointers by Maurizio Cimadamore on February 15, 2019
- State of Panama Scopes by Maurizio Cimadamore on January 15, 2019
- State of Panama foreign annotations by Maurizio Cimadamore on November 20, 2018
- Panama: A Foreign Policy for Java by Maurizio Cimadamore on November 14, 2018
- Vector API for Java by Paul Sandoz on October 24, 2018
- State of the Isthmus by Maurizio Cimadamore on May 8, 2018
- Your next JVM: Panama, Valhalla, Metropolis by John Rose on April 17, 2017
Performance
- Faster Charset Decoding by Claes Redestad on February 24, 2021
- Reducing MD5 (and SHA) overheads by Claes Redestad on February 14, 2021
- Extending the Automatic Vectorization Capabilities of the C2 Compiler by William Sjöblom (guest) on January 27, 2021
- Investigating MD5 overheads by Claes Redestad on January 4, 2021
- Towards OpenJDK 17 by Claes Redestad on December 6, 2020
- Zip lookups - a word from the sponsor by Claes Redestad on April 27, 2020
- Heap Archiving by Claes Redestad on February 7, 2020
- OpenJDK Startup - Late 2019 Edition by Claes Redestad on November 20, 2019
- GraalVM-Native Images: The Best Startup Solution for Your Applications by Christian Wimmer on September 19, 2019
- Maximizing Performance with GraalVM by Thomas Wuerthinger on September 17, 2019
- Updates on Class Initialization in GraalVM Native Image Generation by Christian Wimmer on September 12, 2019
- Improving performance of GraalVM native images with profile-guided optimizations by Jaroslav Tulach on August 29, 2019
- libgraal: GraalVM compiler as a precompiled GraalVM native image by on July 15, 2019
- String concatenation, redux by Claes Redestad on May 14, 2019
- cljinit woes by Claes Redestad on February 11, 2019
- Processing Large Files in Java by Stuart Marks on January 11, 2019
Security
- Reducing MD5 (and SHA) overheads by Claes Redestad on February 14, 2021
- JEP proposed to target JDK 17: 356: Enhanced Pseudo-Random Number Generators by Mark Reinhold on January 29, 2021
- Investigating MD5 overheads by Claes Redestad on January 4, 2021
- Oracle JRE and JDK Cryptographic Roadmap by Aurelio García-Ribeyro on December 18, 2020
- Oracle JRE and JDK Cryptographic Roadmap by Aurelio García-Ribeyro on November 16, 2020
- JDK 15 Security Enhancements by Sean Mullan on October 13, 2020
- Oracle JRE and JDK Cryptographic Roadmap by Aurelio García-Ribeyro on October 9, 2020
- Keeping Your Java Applications Secure - Cryptographic Improvements and Best Practices by Sean Mullan, Chris Ries on September 17, 2020
- SHA-3 based digital signatures support by Valerie Peng on August 18, 2020
- Record Serialization by Chris Hegarty, Alex Buckley on July 20, 2020
- JDK 14 Security Enhancements by Sean Mullan on March 19, 2020
- Why We Hate Java Serialization by Brian Goetz, Stuart Marks on November 7, 2019
- What’s New in Java Security? by Brad Wetmore on September 19, 2019
- JDK 13 Security Enhancements by Sean Mullan on August 5, 2019
- JDK 12 Security Enhancements by Sean Mullan on March 19, 2019
- Oracle's Plan for Distrusting Symantec TLS Certificates in the JDK by Aurelio García-Ribeyro on January 25, 2019
Serviceability
- Monitoring Deserialization Activity in the JDK by Chris Hegarty on March 2, 2021
- Containerized Java Advanced Management Console by Sanju Nair on February 16, 2021
- Deciphering the stack trace by Joakim Nordström on February 12, 2021
- JMC 8.0.0 Early-Access Release by Sanju Nair on January 28, 2021
- Troubleshooting Native Memory Leaks in Java Applications by Poonam Parhar on December 17, 2020
- Survey on serviceability tools: jinfo, jmap & jstack by Stephen Fitch on June 15, 2020
- Continuous Monitoring With JDK Flight Recorder by Mikael Vidstedt on April 1, 2020
- Continuous Monitoring with JDK Flight Recorder by Mikael Vidstedt on February 27, 2020
- JFR: the Black Box of Java Applications by Poonam Parhar on September 24, 2019
- Monitoring and Troubleshooting Tools in JDK/bin by Poonam Parhar on September 17, 2019
- JDK Mission Control: Where We Are. Where We Are Going. by David Buck on September 16, 2019
- Clarifying some confusion around JFR by Poonam Parhar on November 14, 2017
Project Skara
- Migrating OpenJDK to Git & GitHub - GitHub Universe 2020 by Erik Duveblad, Robin Westberg on December 11, 2020
- Episode 6 “Project Skara” with Joe Darcy and Erik Duveblad by Joe Darcy, Erik Duveblad, Chad Arimura on October 28, 2020
- GitHub Welcomes the OpenJDK Project! by Martin Woodward (guest) on September 30, 2020
- Running JDK pre-submit testing on GitHub by Robin Westberg on September 16, 2020
- jdk/jdk repository transition to Git, GitHub and Skara is done by Erik Duveblad on September 5, 2020
- jdk/jdk repository transitions to Git, GitHub & Skara: Sept. 5 by Erik Duveblad on August 12, 2020
- More detail on the SCM transition plans for JDK 16 by Joe Darcy on May 19, 2020
- Amber is moving to Git, GitHub and Skara by Vicente Romero, on April 13, 2020
- Project Panama is moving to GitHub by Jorn Vernee on January 14, 2020
- Project Loom Is Moving to GitHub by Ron Pressler on August 23, 2019
Project Valhalla
- Terminology update: Primitive Objects by Dan Smith on October 5, 2020
- New candidate JEP: 390: Warnings for Value-Based Classes by Mark Reinhold on September 24, 2020
- Early steps on the road to customization by John Rose on August 26, 2020
- Background: how we got the generics we have by Brian Goetz on June 24, 2020
- State of Valhalla by Brian Goetz on March 1, 2020
- Valhalla - Finding the primitives by Brian Goetz on February 18, 2020
- State of Valhalla by Brian Goetz on December 12, 2019
- Project Valhalla Update by Brian Goetz on July 30, 2019
- InfoQ Podcast with Brian Goetz by Brian Goetz on December 23, 2018
- LWorld: the next steps on the journey to Valhalla by David Simms on July 31, 2018
- Programming with Minimal Values by Maurizio Cimadamore on July 31, 2017
- Your next JVM: Panama, Valhalla, Metropolis by John Rose on April 17, 2017
- Adventures in Valhalla Reflection by Maurizio Cimadamore on August 1, 2016
- Reflection Manifesto by Maurizio Cimadamore on June 30, 2016
JDK 17
- Monitoring Deserialization Activity in the JDK by Chris Hegarty on March 2, 2021
- Welcome 20% less memory usage for G1 remembered sets - Prune collection set candidates early by Thomas Schatzl on February 26, 2021
- JEP proposed to target JDK 17: 382: New macOS Rendering Pipeline by Mark Reinhold on February 25, 2021
- Faster Charset Decoding by Claes Redestad on February 24, 2021
- JEP proposed to target JDK 17: 356: Enhanced Pseudo-Random Number Generators by Mark Reinhold on January 29, 2021
- Towards OpenJDK 17 by Claes Redestad on December 6, 2020
JDK 16
- When Records Met Serialization: A Happy Tale by Julia Boes, Chris Hegarty on February 23, 2021
- Episode 12 “jpackage” with Kevin Rushforth by Kevin Rushforth on February 11, 2021
- JDK 16 enters the Release Candidate phase by Mark Reinhold on February 4, 2021
- JEP-380: Unix domain socket channels by Michael McMahon on February 3, 2021
- Java Feature Spotlight: Pattern Matching by Brian Goetz on January 22, 2021
- Investigating MD5 overheads by Claes Redestad on January 4, 2021
- Specs update by Gavin Bierman on December 22, 2020
- Episode 10 “Project Panama - The Foreign Linker API” with Maurizio Cimadamore and Jorn Vernee by Maurizio Cimadamore, Jorn Vernee, David Delabassee on December 21, 2020
- Episode 9 “Project Panama - The Foreign Memory Access API” with Maurizio Cimadamore and Jorn Vernee by Maurizio Cimadamore, Jorn Vernee, David Delabassee on December 11, 2020
- Towards OpenJDK 17 by Claes Redestad on December 6, 2020
- JEP proposed to target JDK 16: 390: Warnings for Value-Based Classes by Mark Reinhold on November 30, 2020
- Metaspace in OpenJDK 16 by Leo Korinth on November 27, 2020
- JEP proposed to target JDK 16: 397: Sealed Classes (Second Preview) by Mark Reinhold on November 24, 2020
- JEP proposed to target JDK 16: 396: Strongly Encapsulate JDK Internals by Default by Mark Reinhold on November 19, 2020
- Episode 7 “The Vector API” with John Rose and Paul Sandoz by John Rose, Paul Sandoz, David Delabassee on November 17, 2020
- Biased locking Obsoletion update by Patricio Chilano Mateo on November 17, 2020
- JEP proposed to target JDK 16: 389: Foreign Linker API (Incubator) by Mark Reinhold on November 12, 2020
- Biased locking Obsoletion by Patricio Chilano Mateo on November 3, 2020
- New candidate JEP: 397: Sealed Classes (Second Preview) by Mark Reinhold on October 29, 2020
- Episode 6 “Project Skara” with Joe Darcy and Erik Duveblad by Joe Darcy, Erik Duveblad, Chad Arimura on October 28, 2020
- JEP proposed to target JDK 16: 394: Pattern Matching for instanceof by Mark Reinhold on October 27, 2020
- JEP proposed to target JDK 16: 393: Foreign-Memory Access API (Third Incubator) by Mark Reinhold on October 26, 2020
- JEP proposed to target JDK 16: 392: Packaging Tool by Mark Reinhold on October 23, 2020
- JEP proposed to target JDK 16: 395: Records by Mark Reinhold on October 20, 2020
- JEP proposed to target JDK 16: 380: Unix-Domain Socket Channels by Mark Reinhold on October 20, 2020
- The Vector API (Incubator) is now integerated! by Paul Sandoz on October 14, 2020
- Episode 5 “The Z Garbage Collector (ZGC)” with Per Liden by Per Liden, David Delabassee on October 14, 2020
- Proposed schedule for JDK 16 by Mark Reinhold on October 14, 2020
- New candidate JEP: 395: Records by Gavin Bierman on October 9, 2020
- New candidate JEP: 394: Pattern Matching for instanceof by Gavin Bierman on October 6, 2020
- Episode 4 “Record Classes” with Gavin Bierman by Gavin Bierman, David Delabassee on October 5, 2020
- New candidate JEP: 393: Foreign-Memory Access API (3rd Incubator) by Maurizio Cimadamore on September 29, 2020
- JEP proposed to target JDK 16: 376: ZGC: Concurrent Thread-Stack Processing by Mark Reinhold on September 24, 2020
- JEP proposed to target JDK 16: 386: Alpine Linux Port by Mark Reinhold on September 18, 2020
- JEP proposed to target JDK 16: 387: Elastic Metaspace by Mark Reinhold on September 10, 2020
- Finalizing in JDK 16 - Pattern matching for instanceof by Brian Goetz on August 26, 2020
- JEP proposed to target JDK 16: 338: Vector API (Incubator) by Mark Reinhold on August 20, 2020
- Finalizing in JDK 16 - Records by Gavin Bierman on July 27, 2020
- Finalizing in JDK 16 - Pattern matching for instanceof by Gavin Bierman on July 27, 2020
- JEP 347: Adopt C++14 Language Features in the JDK by Kim Barrett on June 29, 2020
- More detail on the SCM transition plans for JDK 16 by Joe Darcy on May 19, 2020
JDK 15
- Update on 64-bit ARM Support for Oracle OpenJDK and Oracle JDK by Donald Smith on November 12, 2020
- Episode 6 “Project Skara” with Joe Darcy and Erik Duveblad by Joe Darcy, Erik Duveblad, Chad Arimura on October 28, 2020
- Episode 5 “The Z Garbage Collector (ZGC)” with Per Liden by Per Liden, David Delabassee on October 14, 2020
- JDK 15 Security Enhancements by Sean Mullan on October 13, 2020
- Episode 4 “Record Classes” with Gavin Bierman by Gavin Bierman, David Delabassee on October 5, 2020
- ZGC - What's new in JDK 15 by Per Liden on September 22, 2020
- Incompatibilities with JDK 15 CharSequence.isEmpty by Stuart Marks on September 22, 2020
- The arrival of Java 15 by Sharat Chander on September 15, 2020
- Episode 2 “Java 15 is Here!” with Mikael Vidstedt by Mikael Vidstedt, David Delabassee on September 8, 2020
- JDK 15 G1/Parallel GC changes by Thomas Schatzl on September 1, 2020
- Programmer's Guide To Text Blocks by Jim Laskey, Stuart Marks on August 5, 2020
- JEP 360: Sealed Classes (Preview) - targeted to JDK 15 by Mark Reinhold on May 21, 2020
- JEP 381: Remove the Solaris and SPARC Ports - targeted to JDK 15 by Mark Reinhold on May 21, 2020
- More detail on the SCM transition plans for JDK 16 by Joe Darcy on May 19, 2020
- Java Feature Spotlight: Text Blocks by Brian Goetz on May 1, 2020
- Zip lookups - a word from the sponsor by Claes Redestad on April 27, 2020
- Improving G1 out-of-the-box performance by Stefan Johansson on April 16, 2020
JDK 14
- Java 14 - Preview Features and their APIs by David Delabassee on June 18, 2020
- Java Feature Spotlight: Text Blocks by Brian Goetz on May 1, 2020
- Lombok getter/setter vs. Records by Brian Goetz on April 20, 2020
- Improving G1 out-of-the-box performance by Stefan Johansson on April 16, 2020
- Building OpenCV 4 with Java Support by David Delabassee on April 8, 2020
- ZGC - What's new in JDK 14 by Per Liden on March 23, 2020
- JDK 14 Security Enhancements by Sean Mullan on March 19, 2020
- The arrival of Java 14! by Sharat Chander on March 17, 2020
- Java Feature Spotlight: Records by Brian Goetz on February 4, 2020
- OpenJDK Startup - Late 2019 Edition by Claes Redestad on November 20, 2019
- Create Native Packages to Deploy Java Applications by Kevin Rushforth on November 5, 2019
- Preview APIs for preview features -- JDK 14+ by Alex Buckley on August 5, 2019
JDK 13
- Java Feature Spotlight: Text Blocks by Brian Goetz on May 1, 2020
- Software Engineering Daily - Java 13 by Georges Saab on December 3, 2019
- OpenJDK Startup - Late 2019 Edition by Claes Redestad on November 20, 2019
- The arrival of Java 13! by Sharat Chander on September 16, 2019
- JDK 13 Security Enhancements by Sean Mullan on August 5, 2019
JDK 12
- JDK 12 Security Enhancements by Sean Mullan on March 19, 2019
- The arrival of Java 12! by Sharat Chander on March 13, 2019