Quality Outreach Heads-up - JLine is now the Default Console Provider

The OpenJDK Quality Group is promoting the testing of FOSS projects with OpenJDK builds as a way to improve the overall quality of the release. This heads-up is part of a regular communication sent to the projects involved. To learn more about the program, and how-to join, please … | Continue reading


@inside.java | 1 year ago

Quality Outreach Heads-up - Annotation Processing Change

The OpenJDK Quality Group is promoting the testing of FOSS projects with OpenJDK builds as a way to improve the overall quality of the release. This heads-up is part of a regular communication sent to the projects involved. To learn more about the program, and how-to join, please … | Continue reading


@inside.java | 1 year ago

Foreign Function & Memory API Summer Update

As you know, the FFM API has been a Preview API since Java 19 [1]. The API was then re-previewed in 20 and 21. We now believe that the FFM API is largely stable, and that, modulo disasters, it should exit preview in the next Java SE release. We have… | Continue reading


@inside.java | 1 year ago

What’s Arriving for JFR in JDK 21 - Inside Java Newscast #53

JDK 21 is around the corner and is bringing several key changes in JDK Flight Recorder (JFR), including one that will make analyzing JFR recordings easier from the command line. | Continue reading


@inside.java | 1 year ago

Java’s Startup Booster: CDS

CDS is an overlooked feature within the JVM that can improve startup performance. Its ease of use and robust implementation make it a feature more Java developers should know about and use in their applications and beyond. We take a look at CDS and its architecture to understand … | Continue reading


@inside.java | 1 year ago

Java 21 is no LTS Version - Inside Java Newscast #52

Java 21 is no long-term support version because it’s not something that can get long-term support. JDK 21 could but only OpenJDK can make decisions about JDK and id doesn’t offer support. It doesn’t even offer builds! No, it’s the vendors that offer support for their JDK builds. … | Continue reading


@inside.java | 1 year ago

What’s New in JDK 20?

With Oracle’s ongoing six-month release cadence and critical patch updates, Java continues to thrive due to the core tenets it is built upon: Trust, Innovation, and Predictability. JDK 20, the latest release of the Java SE Platform, continues improving on the preview and incubato … | Continue reading


@inside.java | 1 year ago

The Inside Java Newsletter: June 2023 - An Inspiration for the Future!

The June Inside Java Newsletter highlights the work of Heather Stephens on the Java DevRel team as she inspires students to use Java in their software development careers in school and beyond. | Continue reading


@inside.java | 1 year ago

Gathering the Streams

Java 8 introduced the java.util.stream API, which represents a lazily computed, potentially unbounded sequence of values (Streams was also the first designed-for-lambdas API in the JDK). Streams supports the ability to process the stream either sequ… | Continue reading


@inside.java | 1 year ago

Quality Outreach Heads-up - On The Importance of Testing With Early-Access Build

The OpenJDK Quality Group is promoting the testing of FOSS projects with OpenJDK builds as a way to improve the overall quality of the release. This heads-up is part of a regular communication sent to the projects involved. To learn more about the program, and how-to join, please … | Continue reading


@inside.java | 1 year ago

Java 21 - The Other Side - Inside Java Newscast #51

OMG, how is there even more in JDK 21?! Scoped values preview, key encapsulation mechanism API, a new JFR command, and various API improvements. Generational Shenandoah is out, though, and it doesn’t look good for the 32-bit Windows port either. Make sure to check the show-notes. | Continue reading


@inside.java | 1 year ago

Optimizing Memory Utilization with Automated Heap Sizing in ZGC

The work presented here is performed as part of the joint research project between Oracle, Uppsala University and KTH. Follow the blog series here at inside.java to read more about the JVM research performed at the Oracle Development office in Stockholm. My name is Marina Shimch … | Continue reading


@inside.java | 1 year ago

Java 21 New Feature: Sequenced Collections - JEP Cafe #19

Discover the principles of Sequenced Collections, Sets, and Maps, a new feature introduced in JDK 21. Sequenced Collections are about modelling collections with a defined encounter order, giving you direct access to their first and last element. Learn about the Sequenced Collecti … | Continue reading


@inside.java | 1 year ago

Optimize Java Applications and Simplify Uptaking New JDK Versions with Java Management Service

Oracle is pleased to announce that with the latest update of Java Management Service (JMS), system administrators can quickly maximize the performance of their Java applications through expert recommendations tailored to each applications' profile. … | Continue reading


@inside.java | 1 year ago

Preserving the Mental Map when Visualizing Dynamic Graphs

The work presented here is performed as part of the joint research project between Oracle, Uppsala University and KTH. Follow the blog series here at inside.java to read more about the JVM research performed at the Oracle Development office in Stockholm. An Approach for Intermed … | Continue reading


@inside.java | 1 year ago

Collections Utility Class - Sip of Java

The Collections Utility class was added in JDK 1.2 and was most recently updated in JDK 8. The Collections Utility class provides an API for working with classes in the Collections framework; Collections, Lists, Maps, and Sets. Let’s take a look. Note: that examples in this arti … | Continue reading


@inside.java | 1 year ago

All That is in Java 21?! - Inside Java Newscast #50

Java 21 is almost too good to be true: It finalizes virtual threads, sequenced collections, generational ZGC, and the pattern matching basics; evolves the structured concurrency, vector, and foreign function and memory APIs; and freshly previews a simpler launch protocol, string … | Continue reading


@inside.java | 1 year ago

JDK Mission Control 8.3 - Sip of Java

JDK Mission Control, JMC, is a control panel for managing, monitoring, and troubleshooting JVM applications. In November 2022, a new minor version of JMC was released, 8.3. Let’s take a look at some of the key changes introduced in that release. Improved Cross-OS Support The Flam … | Continue reading


@inside.java | 1 year ago

New JFR `view` Command

JDK 21 comes with a new JFR view command that displays aggregated event data in the shell. The command can be used to view information about an application without the need to dump a recording file, or open up JDK Mission Control … | Continue reading


@inside.java | 1 year ago

UseDynamicNumberOfCompilerThreads and Memory Footprint

UseDynamicNumberOfCompilerThreads is a JVM option that controls the dynamic number of compiler threads used by the Java HotSpot JVM’s Just-In-Time (JIT) compiler to compile Java bytecode into optimized machine code... | Continue reading


@inside.java | 1 year ago

Objects Utility Class - Sip of Java

The Objects utility class, introduced with JDK 1.7, provides a rich API for performing many common operations on objects. Over many JDK releases, the Objects class has seen several updates, with significant updates in JDK 8 and 9 and minor updates in JDK 16 and 19. Let’s explore … | Continue reading


@inside.java | 1 year ago

Patterns: Exhaustiveness, Unconditionality, and Remainder

As the switch construct has been made steadily more expressive (first to support switch expressions, and later to support patterns in switch), it has become important to provide compile-time checking for whether a particular switch is exhaustive for… | Continue reading


@inside.java | 1 year ago

Script Java Easily in 21 and Beyond - Inside Java Newscast #49

To give Java and programming beginners a better learning path, JEP 445 proposes to allow stand-alone main methods that are non-public, non-static, and don’t have an args array, so the shortest possible Java program is just void main(). We’re also looking at the JEP draft for Laun … | Continue reading


@inside.java | 1 year ago

JEP proposed to target JDK 21: 451: Prepare to Disallow the Dynamic Loading of Agents

The following JEP is proposed to target JDK 21: 451: Prepare to Disallow the Dynamic Loading of Agents … | Continue reading


@inside.java | 1 year ago

JavaDoc JDK 20 Updates - Sip of Java

JDK 20 brought several changes to JavaDoc. Let’s take a look at how these changes can help you learn about preview features and make linking easier. Generated IDs for User-Defined Anchors JavaDoc will now automatically generate an id for user-defined anchors in JavaDoc (i.e., ta … | Continue reading


@inside.java | 1 year ago

JEP proposed to target JDK 21: 452: Key Encapsulation Mechanism API

The following JEP is proposed to target JDK 21: 452: Key Encapsulation Mechanism API … | Continue reading


@inside.java | 1 year ago

A Glance At The Java Performance Toolbox

Is it tuning the garbage collector? Writing clean(er) code? No, the first step is understanding what’s going on in your application! Performance tuning starts with analysis, and JDK tools can help you gain insights on classes and threads and can perform live GC analysis or heap d … | Continue reading


@inside.java | 1 year ago

JFR: Java’s Observability & Monitoring Framework - Stack Walker #2

Stack Walker - JFR, Java's Observability and Monitoring Framework JDK Flight Recorder (JFR) is Java’s Observability and Monitoring framework that’s built directly into the HotSpot JVM. JFR's low overhead and always-on capability allow it to provide a rich view of the JVM and appl … | Continue reading


@inside.java | 1 year ago

Quality Outreach Heads-up - JDK 21: Sequenced Collections Incompatibilities

The OpenJDK Quality Group is promoting the testing of FOSS projects with OpenJDK builds as a way to improve the overall quality of the release. This heads-up is part of a regular communication sent to the projects involved. To learn more about the program, and how-to join, please … | Continue reading


@inside.java | 1 year ago

Save 10-20% Memory With Compact Headers - Inside Java Newscast #48

JDK Enhancement Proposal 450 proposes to merge a compressed class word into the mark word to reduce object header size on 64-bit systems from 96-128 bits to 64 bits, thus saving 10-20% of heap space . Make sure to check the show-notes. | Continue reading


@inside.java | 1 year ago

JEP proposed to target JDK 21: 443: Unnamed Patterns and Variables (Preview)

The following JEP is proposed to target JDK 21: 443: Unnamed Patterns and Variables (Preview) … | Continue reading


@inside.java | 1 year ago

Quality Outreach Heads-up - JDK 21 - New Network Interface Names on Windows

The OpenJDK Quality Group is promoting the testing of FOSS projects with OpenJDK builds as a way to improve the overall quality of the release. This heads-up is part of a regular communication sent to the projects involved. To learn more about the program, and how-to join, please … | Continue reading


@inside.java | 1 year ago

OpenJDK - Change the Future of Java

Oracle DevLive Level Up - Java Developer Day Java, its libraries, and the HotSpot Java Virtual Machine (JVM) are all built through OpenJDK, an open source project. Your participation in this project can help shape the future of Java. To make the journey easy to understand, Oracle … | Continue reading


@inside.java | 1 year ago

JEP proposed to target JDK 21: 445: Unnamed Classes and Instance Main Methods (Preview)

The following JEP is proposed to target JDK 21: 445: Unnamed Classes and Instance Main Methods (Preview) … | Continue reading


@inside.java | 1 year ago

JEP proposed to target JDK 21: 441: Pattern Matching for switch

The following JEP is proposed to target JDK 21: 441: Pattern Matching for switch … | Continue reading


@inside.java | 1 year ago

JEP proposed to target JDK 21: 440: Record Patterns

The following JEP is proposed to target JDK 21: 440: Record Patterns … | Continue reading


@inside.java | 1 year ago

JEP proposed to target JDK 21: 439: Generational ZGC

The following JEP is proposed to target JDK 21: 439: Generational ZGC … | Continue reading


@inside.java | 1 year ago

JEP proposed to target JDK 21: 448: Vector API (6th Incubator)

The following JEP is proposed to target JDK 21: 448: Vector API (6th Incubator) … | Continue reading


@inside.java | 1 year ago

Building High Performance Microservices for Java with Micronaut & GraalVM

Oracle DevLive Level Up - Java Developer Day Micronaut is a full-stack framework for Java meant for building any type of application, with extensive support for microservices, serverless, and containerized environments such as Kubernetes. From the beginning, Micronaut has had fir … | Continue reading


@inside.java | 1 year ago

Arrays Utility Class - Sip of Java

When needing to compare, copy, or sort arrays, a developer’s first instinct might be to write out the loops, if statements, and other logic necessary to handle this operation. This, in most cases, would be a mistake as it would be duplicating the behavior available in the java.ut … | Continue reading


@inside.java | 1 year ago

The SolutionFactory To Java’s Problems - Keynote

Java has issues! Verbose, cumbersome, no expressiveness, no fun. (Or so the kids say.) Jokes and the craving for syntax sugar aside, Java does have some persistent pain points and Project Amber was set up to tackle them. Not as a single solution to a narrow problem, but as a solu … | Continue reading


@inside.java | 1 year ago

Interpolating Strings Like a King in Java 21 - Inside Java Newscast #47

JEP 430 targets Java 21 and proposes to enhance the Java programming language with string templates. With them you can handle literal text containing embedded expressions and use template processors to produce specialized results. Make sure to check the show-notes. | Continue reading


@inside.java | 1 year ago

“Sequenced Collections” with Stuart Marks

Sequenced Collections, targetted for JDK 21, are a new collection type created to represent a sequence of elements with a defined encounter order. Ana recorded this episode with Stuart Marks, the owner of JEP 431 about Sequenced Collections. Stuart discusses the essence of Sequen … | Continue reading


@inside.java | 1 year ago

GraalVM Native Image — Faster, Smarter, Leaner

Oracle DevLive Level Up - Java Developer Day With support from all the leading microservice frameworks, compatible SDKs from all of the top cloud platforms, and ease of containerization, GraalVM Native Image is a great choice for cloud native application development. Join this se … | Continue reading


@inside.java | 1 year ago

JFR Event Stream Stop - Sip of Java

JDK Flight Recorder, JFR, received several updates with the release of JDK 20. The most significant change was to the Event Streams API. Let’s take a look at these changes and how to use them in our applications. New JFR Events As is typical with every JDK release, several new JF … | Continue reading


@inside.java | 1 year ago

Z Garbage Collector: The Next Generation

Oracle DevLive Level Up - Java Developer Day The Z Garbage Collector (ZGC)—a scalable, low-latency garbage collector providing sub-millisecond max pause times—continues to evolve. This session will review the design goals behind ZGC and provide a look into the impact of the upcom … | Continue reading


@inside.java | 1 year ago

Helidon - Microservices on Modern Java

Oracle DevLive Level Up - Java Developer Day This session covers the practical aspects of using Project Loom’s Virtual Threads (from OpenJDK) with Helidon Níma. Created by Oracle and currently in the Alpha stage, Helidon Níma is the first service framework designed for Virtual Th … | Continue reading


@inside.java | 1 year ago

Project Panama: Interconnecting the Java Virtual Machine and Native Code

Oracle DevLive Level Up - Java Developer Day Project Panama improves and enriches the connections between the Java Virtual Machine (JVM) and non-Java APIs, including many interfaces commonly used by C programmers. This session will offer an overview and demo of features from Proj … | Continue reading


@inside.java | 1 year ago