Sort by: Date | Author | Tag
Nicolai Parlog
Java Developer Advocate
Nicolai (aka nipafx) is a Java enthusiast focused on language features, core APIs, and runtime evolution with a passion for learning and sharing. He does that mostly at conferences, in the Inside Java Newscast, and Inside Java Podcast, but also occasionally in live streams, articles, and books.
Books
Posts
-
Quality Outreach Heads-up - JDK 26: Warnings About Final Field Mutation
on May 15, 2026JDK 26Integrity by Default
-
Avoiding Final Field Mutation
on April 27, 2026Integrity by Default
-
Quality Outreach Heads-up - JDK 27: Removal of 'java.locale.useOldISOCodes' System Property
on March 10, 2026JDK 27Core Libraries
-
Quality Outreach Heads-up - JDK 27: Removal of ThreadPoolExecutor.finalize()
on February 10, 2026JDK 27Core Libraries
-
Quality Outreach Heads-up - JDK 25: Consistent Behavior of 'new File("")'
on November 3, 2025JDK 25Core Libraries
-
Quality Outreach Heads-up - New Null Checks in Inner Class Constructors
on April 4, 2025JDK 25Java Language
-
Quality Outreach Heads-up - JDK 24: Remote Debugging with jstat and jhsdb Is Deprecated for Removal
on January 31, 2025JDK 24Serviceability
-
Quality Outreach Heads-up - JDK 24: Prepares Restricted Native Access
on December 9, 2024JDK 24Integrity by DefaultPanama
-
Quality Outreach Heads-up - JDK 23: Unicode / Removal of COMPAT Locale Provider
on July 11, 2024JDK 23
-
Why Update Data-Oriented Programming to Version 1.1?
on June 26, 2024AmberJava Language
-
Quality Outreach Heads-up - JDK 23: Changes Default Annotation Processing Policy
on June 18, 2024JDK 23
-
When to use Data-Oriented Programming v1.1
on June 10, 2024AmberJava Language
-
Separate Operations From Data - Data-Oriented Programming v1.1
on June 5, 2024AmberJava Language
-
Make Illegal States Unrepresentable - Data-Oriented Programming v1.1
on June 3, 2024AmberJava Language
-
Model Data, the Whole Data, and Nothing but the Data - Data-Oriented Programming v1.1
on May 29, 2024AmberJava Language
-
Model Data Immutably and Transparently - Data-Oriented Programming v1.1
on May 27, 2024AmberJava Language
-
Data-Oriented Programming in Java - Version 1.1
on May 23, 2024AmberJava Language
-
Quality Outreach Heads-up - JDK 20-23: Support for Unicode CLDR Version 42
on March 29, 2024JDK 23JDK 22JDK 21JDK 20
-
Quality Outreach Heads-up - JDK 20-23: Support for Unicode CLDR Version 42
on March 28, 2023JDK 23JDK 22JDK 21JDK 20
-
Why Java's Records Are Better* Than Lombok's @Data and Kotlin's Data Classes
on May 6, 2021JDK 16Amber
-
Code-First Unix Domain Socket Tutorial
on March 4, 2021JDK 16
Videos
-
Java 26: Better Language, Better APIs, Better Runtime
on May 19, 2026JDK 26
-
Analyzing Crashed JVMs - Inside Java Newscast #109
on April 2, 2026HotSpotServiceability
-
Towards Better Checked Exceptions - Inside Java Newscast #107
on February 19, 2026Amber
-
LazyConstants in JDK 26 - Inside Java Newscast #106
on February 5, 2026JDK 26Core Libraries
-
Carrier Classes; Beyond Records - Inside Java Newscast #105
on January 22, 2026Amber
-
Java's Plans for 2026 - Inside Java Newscast #104
on January 8, 2026AmberBabylonLeydenLoomPanamaValhalla
-
Java's 2025 in Review - Inside Java Newscast #103
on December 18, 2025AmberBabylonLeydenLoomPanamaValhalla
-
All Features in Java 26 - Inside Java Newscast #102
on December 4, 2025JDK 26
-
Java 26 Warns of Deep Reflection - Inside Java Newscast #101
on November 20, 2025JDK 26Integrity by Default
-
Try the New Valhalla EA Build - Inside Java Newscast #100
on November 6, 2025Valhalla
-
Three Upcoming G1 Improvements - Inside Java Newscast #99
on October 23, 2025JDK 26GC
-
Structured Concurrency in Action
on October 16, 2025JDK 25Loom
-
"Just Make All Exceptions Unchecked" - Live Q&A from Devoxx
on October 9, 2025Java Language
-
All API Additions From Java 21 to 25 #RoadTo25
on September 9, 2025JDK 25Core LibrariesLoomPanama
-
How to Upgrade to Java 25 #RoadTo25
on August 24, 2025JDK 25
-
Java Architects Answer Your Questions - Inside Java Newscast #97
on August 14, 2025
-
HTTP/3 in Java - Inside Java Newscast #96
on July 31, 2025Core Libraries
-
Java Gets a JSON API - Inside Java Newscast #95
on July 17, 2025Core Libraries
-
Java 25 is ALSO no LTS Version - Inside Java Newscast #94
on July 3, 2025JDK 25
-
Java 25 Encodes PEM - Inside Java Newscast #93
on June 19, 2025JDK 25Security
-
Java 25 Brings 18 JEPs đ± Inside Java Newscast #92
on June 5, 2025JDK 25
-
Structured Concurrency Revamp in Java 25 - Inside Java Newscast #91
on May 8, 2025JDK 25Loom
-
JavaOne'25 Highlights - Inside Java Newscast #89
on April 10, 2025CommunityOracle
-
Java 24 - Better Language, Better APIs, Better Runtime
on March 1, 2025JDK 24
-
Scoped Values in Java 24 - Inside Java Newscast #86
on February 27, 2025JDK 24Loom
-
Modern Java Deep Dive
on February 9, 2025JDK 23Java Language
-
Java Language Evolution in 2025 - Inside Java Newscast #84
on January 30, 2025AmberJava Language
-
Java's Plans for 2025 - Inside Java Newscast #83
on January 16, 2025BabylonLeydenLoomPanamaValhalla
-
Java 24 Performance Improvements and Deprecations - Inside Java Newscast #82
on December 12, 2024JDK 24Performance
-
Java 24 Language and API Changes - Inside Java Newscast #81
on December 5, 2024JDK 24
-
Java 24 Stops Pinning Virtual Threads (Almost) - Inside Java Newscast #80
on November 21, 2024JDK 24LoomPerformance
-
Release Your (Java) Projects Like OpenJDK - Inside Java Newscast #79
on October 31, 2024Community
-
Java Performance Update with Per-Ake Minborg - Live Q&A at Devoxx BE
on October 11, 2024Performance
-
Serialization 2.0 with Viktor Klang - Live Q&A at Devoxx BE
on October 10, 2024Core Libraries
-
Loom's Next Phases with Alan Bateman - Live Q&A at Devoxx BE
on October 9, 2024Loom
-
Future of Collections with Stuart Marks - Live Q&A at Devoxx BE
on October 8, 2024Core Libraries
-
Kicking off the Week with Sharat Chander - Live Q&A at Devoxx BE
on October 7, 2024Oracle
-
Big News from Project Valhalla - Inside Java Newscast #77
on October 3, 2024Valhalla
-
Java 23 - Better Language, Better APIs, Better Runtime
on September 26, 2024JDK 23
-
How to Read a JDK Enhancement Proposal - Inside Java Newscast #74
on August 1, 2024Java Language
-
Integrity by Default - Inside Java Newscast #73
on July 18, 2024Integrity by Default
-
Java and AI? - Inside Java Newscast #72
on July 4, 2024AIBabylonPanamaValhalla
-
What Happened to String Templates? Inside Java Newscast #71
on June 20, 2024Amber
-
All Java 23 Features - Inside Java Newscast #70
on June 6, 2024JDK 23
-
Module Imports in Java 23 - Inside Java Newscast #69
on May 16, 2024JDK 23AmberModules
-
Java Withers - Inside Java Newscast #67
on April 18, 2024Amber
-
Java 23: Restoring the Balance with Primitive Patterns - Inside Java Newscast #66
on April 4, 2024JDK 23Amber
-
Modern Java in Action
on March 9, 2024JDK 21
-
(Dirty?) Tricks in Java 22 - Inside Java Newscast #64
on February 29, 2024JDK 22Java Language
-
Does Java 22 Kill Build Tools? - Inside Java Newscast #63
on February 15, 2024JDK 22Core Libraries
-
Data-Oriented Programming in Java 21
on February 12, 2024JDK 21Amber
-
Java 22 Previews Statements Before super(...) and this(...) - Inside Java Newscast #62
on February 1, 2024JDK 22Amber
-
Java's Plans for 2024 - Inside Java Newscast #61
on January 18, 2024AmberBabylonLeydenLoomPanamaValhalla
-
Java Highlights of 2023 - Inside Java Newscast #60
on December 21, 2023
-
Java 22 Unpacking - Inside Java Newscast #59
on December 7, 2023JDK 22AmberCore LibrariesGCLoomPanama
-
Java On The GPU - Inside Java Newscast #58
on November 16, 2023Babylon
-
Better Java Streams with Gatherers - Inside Java Newscast #57
on November 2, 2023Core Libraries
-
Java Architects Answer Your Questions
on October 26, 2023ClientCore LibrariesLoom
-
Brian Goetz Answers Your Java Questions
on October 20, 2023AmberValhalla
-
New Class-File API will make Java Updates easier - Inside Java Newscast #56
on October 5, 2023JDK 22Core Libraries
-
Java 21 is an explosive release! đŁđ„
on October 3, 2023JDK 21Amber
-
Java 21 Brings Full Pattern Matching #RoadTo21
on September 17, 2023JDK 21Amber
-
Upgrading from Java 17 to 21 #RoadTo21
on August 27, 2023JDK 21
-
Java 21 is no LTS Version - Inside Java Newscast #52
on July 6, 2023JDK 21
-
Java 21 - The Other Side - Inside Java Newscast #51
on June 22, 2023JDK 21
-
All That is in Java 21?! - Inside Java Newscast #50
on June 8, 2023JDK 21AmberGCLoomPanama
-
Script Java Easily in 21 and Beyond - Inside Java Newscast #49
on May 25, 2023JDK 21Amber
-
Save 10-20% Memory With Compact Headers - Inside Java Newscast #48
on May 11, 2023GCPerformance
-
The SolutionFactory To Java's Problems - Keynote
on April 28, 2023Amber
-
Getting Rid Of Unused Variables (Finally) - Inside Java Newscast #46
on April 13, 2023Amber
-
Java Next - From Amber to Loom, from Panama
on April 2, 2023AmberLoomPanamaValhalla
-
Java 21's New (Sequenced) Collections - Inside Java Newscast #45
on March 30, 2023JDK 21Core Libraries
-
The Holy Grail of Java Performance - Inside Java Newscast #43
on March 2, 2023LeydenPerformance
-
Future Java - Prepare Your Codebase Now! - Inside Java Newscast #41
on February 2, 2023Security
-
Java Modules in Real Life
on January 29, 2023Modules
-
Java's Plans for 2023 - Inside Java Newscast #40
on January 19, 2023AmberLeydenLoomPanamaValhalla
-
24 Java Features You Missed In 2022 - Inside Java Newscast #39
on December 15, 2022JDK 19JDK 18
-
GraalVM in OpenJDK and More JavaOne Announcements - Inside Java Newscast #36
on November 3, 2022JDK 17ClientOraclePerformance
-
The Future of Java is You | JavaOne 2022 Community Keynote
on October 27, 2022
-
Starting (With) Java, Made Simple - Inside Java Newscast #35
on October 6, 2022AmberJava Language
-
Java 19 in Action - Inside Java Newscast #33
on September 8, 2022JDK 19AmberLoom
-
String Templates, JavaFX 19, Deserialization, and more at JavaOne - Inside Java Newscast #32
on August 23, 2022AmberClientCore Libraries
-
Sequenced Collections, Purity, and more at JavaOne - Inside Java Newscast #31
on August 11, 2022AmberCore Libraries
-
Java Modules in Real Life
on August 1, 2022Modules
-
Java Q&A - Inside Java Newscast #30
on July 28, 2022AmberLeydenValhalla
-
Data-Oriented Programming - Inside Java Newscast #29
on July 14, 2022Amber
-
What is OpenJDK? - Inside Java Newscast #28
on June 30, 2022
-
Java 19 - The Best Java Release? - Inside Java Newscast #27
on June 16, 2022JDK 19AmberLoomPanama
-
Deconstructing Records in Pattern Matching - Inside Java Newscast #26
on June 2, 2022JDK 19Amber
-
News Grab Bag: Loom Virtual Threads, Lilliput, Pattern Matching, ⊠- Inside Java Newscast #25
on May 20, 2022JDK 19AmberLoom
-
Java Next - From Amber to Loom, from Panama to Valhalla
on May 9, 2022AmberLoomPanamaValhalla
-
WHEN and NULL In Pattern Matching - Inside Java Newscast #24
on May 5, 2022JDK 19Amber
-
Virtual Thread Deep Dive - Inside Java Newscast #23
on April 7, 2022Loom
-
All About JDK 18 - Inside Java Newscast #21
on March 10, 2022JDK 18
-
Compiled & Tested Code In Javadoc - Inside Java Newscast #20
on February 10, 2022JDK 18
-
Where to use Optional - Inside Java Newscast #19
on January 27, 2022Core Libraries
-
Java's Plans for 2022 - Inside Java Newscast #18
on January 13, 2022AmberLoomPanamaValhalla
-
Loom Brings Structured Concurrency - Inside Java Newscast
on December 17, 2021Loom
-
What Happens to Finalization in JDK 18? - Inside Java Newscast
on November 11, 2021JDK 18Core Libraries
-
11 Tricks From dev.java - Inside Java Newscast #14
on October 28, 2021JDK 17
-
Pattern Matching in Java 17 and Beyond
on September 24, 2021JDK 17Amber
-
Faster LTS and free JDK with Java 17 - Inside Java Newscast #12
on September 15, 2021JDK 17Oracle
-
Fast and Secure Inter-process Communication on JDK 16 - Inside Java Newscast #11
on August 26, 2021JDK 16Networking
-
AMA About the Java Language
on August 2, 2021AmberLoom
-
Inside Java Newscast #9
on July 29, 2021JDK 17JDK 16JFR
-
Inside Java Newscast #8
on July 15, 2021
-
Inside Java Newscast #7
on July 1, 2021JDK 16
-
Inside Java Newscast #6
on June 10, 2021JDK 17
-
Inside Java Newscast #5
on May 27, 2021JDK 17AmberSecurity
-
Inside Java Newscast #4
on May 11, 2021Amber
-
Inside Java Newscast #3
on April 22, 2021JDK 16Amber
-
Inside Java Newscast #2
on April 8, 2021JDK 17JDK 16AmberPanama
-
Inside Java Newscast #1
on March 24, 2021JDK 17JDK 16
Podcasts
-
Episode 60 âHow JEPs Drive Java's Evolutionâ [AtA]
on June 25, 2026Community
-
Episode 59 âJava *is* Memory Efficientâ [AtA]
on May 28, 2026GCPerformance
-
Episode 56 âAsk the Architects at JavaOneâ [AtA]
on April 23, 2026Community
-
Episode 55 âYou Must Avoid Final Field Mutationâ [IJN]
on April 16, 2026Integrity by Default
-
Episode 54 âHow JDK 26 Improves G1's Throughputâ [AtA]
on April 9, 2026JDK 26GC
-
Episode 53 âAnalyzing Crashed JVMsâ [IJN]
on April 4, 2026HotSpotServiceability
-
Episode 52 âCarrier Classes & Discussing Syntaxâ [AtA]
on March 26, 2026AmberJava Language
-
Episode 50 âTowards Better Checked Exceptionsâ [IJN]
on March 9, 2026Core LibrariesJava Language
-
Episode 49 âLazyConstants in JDK 26â [IJN]
on March 6, 2026JDK 26Core Libraries
-
Episode 48 âHTTP/3 in Java 26â [AtA]
on February 26, 2026JDK 26Core LibrariesNetworking
-
Episode 47 âCarrier Classesâ [IJN]
on February 23, 2026Amber
-
Episode 46 âJava's Plans for 2026â [IJN]
on February 20, 2026AmberBabylonLeydenLoomPanamaValhalla
-
Episode 45 âAnnouncement - The New Inside Java Podcastâ
on February 13, 2026
-
Episode 44 âJava, Collections & Generics, BeJUGâ
on January 29, 2026CommunityJava Language
-
Episode 43 âPredictability or Innovation? Both!â with Georges Saab
on December 26, 2025Oracle
-
Episode 42 âFrom Sumatra to Panama, from Babylon to Valhallaâ with John Rose
on December 10, 2025BabylonPanamaValhalla
-
Episode 41 âFrom Cowboy Mode to Careful Stewardshipâ with Mark Reinhold
on October 27, 2025
-
Episode 40 âAmber & Valhalla - Incremental Design and Feature Arcsâ with Brian Goetz
on September 28, 2025AmberValhalla
-
Episode 39 âDeprecations & Removalsâ with Stuart Marks
on July 28, 2025Core LibrariesSecurity
-
Episode 38 âIntegrity by Defaultâ with Ron Pressler
on June 24, 2025Integrity by Default
-
Episode 36 âAhead of Time Computationâ with Dan Heidinga
on May 16, 2025JDK 24Leyden
-
airhacks.fm: Java 19 Millions of Threads in No Time
on September 5, 2022JDK 19Loom