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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
The following JEP is proposed to target JDK 21: 451: Prepare to Disallow the Dynamic Loading of Agents … | Continue reading
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
The following JEP is proposed to target JDK 21: 452: Key Encapsulation Mechanism API … | Continue reading
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
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
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
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
The following JEP is proposed to target JDK 21: 443: Unnamed Patterns and Variables (Preview) … | Continue reading
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
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
The following JEP is proposed to target JDK 21: 445: Unnamed Classes and Instance Main Methods (Preview) … | Continue reading
The following JEP is proposed to target JDK 21: 441: Pattern Matching for switch … | Continue reading
The following JEP is proposed to target JDK 21: 440: Record Patterns … | Continue reading
The following JEP is proposed to target JDK 21: 439: Generational ZGC … | Continue reading
The following JEP is proposed to target JDK 21: 448: Vector API (6th Incubator) … | Continue reading
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
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
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
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
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
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
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
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
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
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