Project Leyden's New Early Access Build

Project Leyden's New Early Access Build

Welcome back to our newsletter!

Recently, the OpenJDK community has announced the Early Access (EA) build for Project Leyden, now available for download.

If you're wondering what Project Leyden is, you can find all the details about it in this latest edition.

Let`s dive in! ??



What is Project Leyden? ??

Project Leyden, unveiled on May 20, 2022, aims to improve Java's startup time by introducing static runtime images, incrementally enhancing performance while maintaining Java's core values.


The Early Access...

After over a year of development, this build aims to enhance Java application performance, particularly improving start-up times. Preliminary tests show popular application frameworks experiencing a 2-3x improvement in start-up times.

Project Leyden introduces several innovative features to optimise Java applications by shifting workload from runtime to earlier experimental executions, known as training runs. These features include:

  • Unified Cache Data Store (CDS) Archive: Stores class metadata, heap objects, profiling data, and compiled code. Enabled with the -XX:CacheDataStore flag, it simplifies creating and testing CDS archives.
  • Loaded Classes in CDS Archives: Preloads classes into the loaded state at application start, enhancing start-up times. Enabled with the -XX:+PreloadSharedClasses flag.
  • Method Profiles in CDS Archives: Stores method profiles from training runs, allowing the Just-In-Time (JIT) compiler to compile earlier, reaching peak performance faster. Enabled with -XX:+RecordTraining and -XX:+ReplayTraining flags.
  • Ahead-of-time (AOT) Resolution of Constant Pool Entries: Improves start-up times by resolving constant pool entries during training runs. Managed by flags like -XX:+ArchiveFieldReferences, -XX:+ArchiveMethodReferences, and -XX:+ArchiveInvokeDynamic.


  • AOT Compilation of Java Methods: Identifies and compiles frequently used methods during training runs for immediate native execution. Managed with -XX:+StoreCachedCode, -XX:+LoadCachedCode, and -XX:CachedCodeFile flags.
  • AOT Generation of Dynamic Proxies and Reflection Data: Reduces start-up times by pre-generating dynamic proxies and reflection data. Enabled with -XX:+ArchiveDynamicProxies and -XX:+ArchiveReflectionData flags.
  • Class Loader Lookup Cache: Speeds up repeated class lookups by caching them, accessed with the -XX:+ArchiveLoaderLookupCache flag.

Developers are encouraged to experiment with the Leyden EA build using the java program and -XX:CacheDataStore flag and provide feedback to leyden-dev at openjdk.org.


In conclusion...

Project Leyden's advancements promise significant performance improvements for Java applications, especially in start-up times, with ongoing community engagement crucial for refining these features and integrating them into future Java releases. For more information, you can refer to the official resources and stay updated on the latest developments.


?? Hot Java Jobs by develop ??

Junior Java Developer - London

Senior Java Developer - Munich

See More

Are you following us?

Click here to be the first to get our updates!

要查看或添加评论,请登录