This Heads-Up is part of the regular communication sent to the projects involved, it covers new Loom EA builds... | Continue reading
Jlink is a powerful tool in the JDK for creating custom runtimes based on the modules an application needs to run. In this video, we will introduce the key concepts and benefits of using jlink and go through five steps covering the key features used when creating a custom runtime … | Continue reading
String templates proposed a way to readably and safely mix strings with run-time values and were a preview feature in JDKs 21 and 22. Then, to everybody's surprise, they were dropped in JDK 23! What where the reasons, what could a new proposal look like, when may we see it, and w … | Continue reading
ZGC and other garbage collectors typically use bump-pointer allocation, which is efficient for sequential allocations but can lead to fragmentation over time. Fragmentation occurs when memory gaps are created that cannot be easily reused, necessitating costly relocation of live o … | Continue reading
This Heads-Up is part of the regular communication sent to the projects involved, it covers a change in the default annotation processing policy | Continue reading
Code reflection, an enhancement to Java reflection, enables access to symbolic representations of Java code in method bodies and lambda bodies. “Symbolic representations of Java code” may seem like a fancy term, but its easily demystified. It’s a model of Java code where the code … | Continue reading
The Inside Java Newsletter for May 2024 focuses on the latest innovations in Java, content contributions, a special community award, and several podcast interviews with the community. Explore the archives, send to a friend, and subscribe! | Continue reading
A key goal in Project Valhalla is to flatten value objects into their heap containers, while simultaneously upholding all specified behaviors of those containers... This document discusses many implementation options for such heap containers. We pay particular attention to a comm … | Continue reading
How does data-oriented programming compare to object-oriented and functional programming and what are good situations to start using it? | Continue reading
This document serves as a summary of important Oracle Java SE-related roadmap information to guide users over the next year. Links are provided to the various supporting announcements and documents. | Continue reading
We’re excited to share that we’re building an AI companion to enable developers to build applications faster by combining Oracle’s areas of expertise with the power of generative AI. | Continue reading
Java 23 will be released on September 17th but it's branched today (June 6th 2024) and so its feature set is final. Generational ZGC, Markdown in JavaDoc, deprecations in Unsafe, the removal of string template, and the thoughtful evolution of eight preview features. Let's take a … | Continue reading
Data-oriented programming guides us towards a separation of data and operations. Operations should be implemented in dedicated subsystems, using pattern matching over sealed interfaces to pick execution branches and deconstructing records to implement domain logic. | Continue reading
The following JEP is targeted to JDK 23: 471: Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal | Continue reading
The following JEP is targeted to JDK 23: 481: Scoped Values (Third Preview) | Continue reading
Data-oriented programming focuses on modeling data as closely as possible and a guiding principle for achieving that is to ensure that the software can not represent illegal states. That can be achieved with good type design or with constructor checks (plus tests). | Continue reading
The following JEP is targeted to JDK 23: 480: Structured Concurrency (Third Preview) | Continue reading
As the world of modern application development rapidly evolves, Java continues to adapt to keep pace. This affords enterprises the ability to accelerate mission-critical application development reliant on Java and provide developers a programming language and platform that effici … | Continue reading
The following JEP is targeted to JDK 23: 482: Flexible Constructor Bodies (Second Preview) | Continue reading
Data-oriented programming (DOP) centers around modeling data as closely as possible and so a core principle of DOP is to 'model the data, the whole data, and nothing but the data'. This goal is best achieved with a mix of records and sealed types as well as some programming pract … | Continue reading
The following JEP is targeted to JDK 23: 477: Implicitly Declared Classes and Instance Main Methods (Third Preview) | Continue reading
The Java Platform group is looking for passionate and highly-motivated software engineers to join our world class development engineering effort. Our team is responsible for delivering all aspect of the core Java platform that is used by millions of developers, and used as the fo … | Continue reading
To model data immutably and transparently is one of the four principles of data-oriented programming. In this article, we explore why immutability and transparency are important when modeling data and how to use Java's features, particularly records, to achieve that. | Continue reading
The Java Platform group is looking for passionate and highly-motivated software engineers to join our world class development engineering effort. Our team is responsible for delivering all aspect of the core Java platform that is used by millions of developers, and used as the fo … | Continue reading
The Java Platform group is looking for passionate and highly-motivated software engineers to join our world class development engineering effort. Our team is responsible for delivering all aspect of the core Java platform that is used by millions of developers, and used as the fo … | Continue reading
Many of the language features recently added to Java come together to support data-oriented programming - a programming paradigm first described for Java in June 2022 by Brian Goetz. This here is a proposal for a revised version 1.1. | Continue reading
Don’t just develop in Java, be part of the team that develops Java itself! We are looking for talented individuals in Mexico who want to be part of the team that for 30 years has made Java into the development platform of choice in the Enterprise and many other fields. Build your … | Continue reading
JDK Mission Control (JMC) is a powerful tool for profiling and debugging applications running on a JVM. However, because of all the data it provides, it can be a bit overwhelming. In this video, we will do a brief introduction to JMC, using the most recent version, JMC 9, demonst … | Continue reading
Oracle has released a new update of the Java Visual Studio Code extension. This update adds support for Java 22 features… | Continue reading
To reduce the overhead of using APIs, particularly in single source files, Java 23 previews module import declarations of the form `import module $moduleName`, which import all packages exported by the named module. | Continue reading
The following JEP is targeted to JDK 23: 467: Markdown Documentation Comments | Continue reading
To allow for automated download of updates to older Oracle JDK versions, Oracle introduced the Java Download Service through Java Management Service (JMS) on Oracle Cloud Infrastructure (OCI) | Continue reading
The following JEP is targeted to JDK 23: 474: ZGC: Generational Mode by Default | Continue reading
The following JEP is targeted to JDK 23: 476: Module Import Declarations (Preview) | Continue reading
Let's take a sneak peek at JEP 467 and how Java documentation could be easier to read and maintain in source form thanks to including Markdown syntax in comments. | Continue reading
The Inside Java Newsletter for April 2024 outlines Oracle's upcoming participation at JCON Europe 2024 in Germany May 13-16. Check out the speakers from the Java, GraalVM, and Oracle Database teams and their sessions and stop by the conference. Also, explore the archives and subs … | Continue reading
Embark on an exploration of Java 21's groundbreaking language features. From a simplified beginning with unnamed classes and instance main methods to using string templates, record patterns, and pattern matching, this session empowers you to create efficient, future-proof code. | Continue reading
Six years ago we accelerated the pace of new releases in order to keep Java vibrant in an ever-changing world of competing platforms and new styles of application deployment. We’ll take a look back at features delivered recently, and a brief look ahead at what’s coming next. | Continue reading
As a JVM Sustaining Engineer, my focus has always been on discovering ways to make it easier to diagnose and troubleshoot JVM issues, enhancing JVM serviceability, and enabling users gain critical insights into their Java runtime environments. Recently, I have ventured into the w … | Continue reading
Let's take a look at what's new in JDK Mission Control 9! | Continue reading
The following JEP is targeted to JDK 23: 469: Vector API (Eighth Incubator) | Continue reading
JEP 468 proposes a solution to the verbosity that can come from modeling mutable state with immutable records: derived record creation aka with expressions aka withers . That'll make it easy and succinct to create a copy of a record instance while changing just a few components. | Continue reading
JEP 468 proposes a solution to the verbosity that can come from modeling mutable state with immutable records: derived record creation aka with expressions aka withers . That'll make it easy and succinct to create a copy of a record instance while changing just a few components. | Continue reading
The following JEP is targeted to JDK 23: 473: Stream Gatherers (Second Preview) | Continue reading
This guide shows how to run the jextract tool, and how to use the Java code that it generates. The samples under the samples direcotry are also a good source of examples… | Continue reading
The Java Security Engineering team is responsible for the Java platform security libraries and security tools development. The technologies we provide include a rich set of APIs, tools, and implementations of security algorithms and protocols. The Java security APIs span a wide r … | Continue reading
JDK Flight Recorder (JFR) is a low overhead profiling and troubleshooting framework built into the Java Virtual Machine. It comes with a powerful programming API that allows you to create application specific events. The API can also be used as a datasource for your own infrastru … | Continue reading
We are looking for a Software Development Engineer who will help us diagnose, debug and resolve bugs reported by our customers as well as improving the overall quality and stability of the JVM. Here in the Stockholm office, we have the unique access to some of the people that act … | Continue reading