Skip to content

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

Welcome to the JDK!

For build instructions please see the online documentation, or either of these files:

Normal configure uses this fork's reduced native build and CPU baselines: Linux x64 x86-64-v3, Windows x64 AVX2, Linux ARM64 ARMv8.2-A, and macOS ARM64 Apple M1. Below-baseline machines are unsupported. Use bin/configure-dev for optional ccache and Linux mold configuration; set CONFIGURE_DEV_NO_MOLD=1 to use the default linker. During upstream updates, review the ENABLE_DESKTOP build guards and module/collector requirements in retained tests.

The restricted java.desktop module exports java.beans for build tools and server frameworks: introspection, descriptors, change/veto listeners and scalar property editors. It retains the standard module name and boot-loader mapping, so existing requires java.desktop declarations and JMX lookups work. The module has only the implicit java.base dependency; it adds no desktop native libraries. XML persistence, bean contexts, Swing, imaging, printing and audio are excluded.

java.awt exports only the nominal Image, Component, Graphics and Rectangle types needed to resolve public JavaBeans method signatures, including reflective inspection. These are not full AWT classes: their constructors throw UnsupportedOperationException, and they supply no GUI API or behavior. SimpleBeanInfo has no default icons and its loadImage method throws UnsupportedOperationException. Custom visual editors and Swing bean metadata are unsupported. The upstream desktop sources remain available in the checkout; only the explicit beans source list and headless signature types are compiled.

On x64 and AArch64, this fork defaults to four-byte object headers with Serial, G1 and ZGC. -XX:-UseFourByteObjectHeaders selects eight-byte compact headers; -XX:-UseCompactObjectHeaders selects legacy headers and overrides any four-byte request. UseFourByteObjectHeaders implies UseCompactObjectHeaders and needs no experimental unlock. The option is available only in 64-bit VMs; other platforms retain their existing layouts. Unsupported architectures, collectors and explicit hashCode values other than 2 or 6 disable four-byte mode with a warning.

Four-byte mode caps compressed class space at 512 MiB, with CDS metadata and alignment reducing the space available for new classes. Exhaustion raises OutOfMemoryError: Compressed class space without falling back to a larger header layout; use -XX:-UseFourByteObjectHeaders if more class space is needed.

Recreate custom CDS archives and AOT caches when moving from an unmodified JDK: this fork uses a different archive format. Archives must match the runtime header layout. Default four-byte archives are classes_fourbyte.jsa and classes_nocoops_fourbyte.jsa (without compressed oops). jlink --generate-cds-archive also generates matching variants.

See https://openjdk.org/ for more information about the OpenJDK Community and the JDK and see https://bugs.openjdk.org for JDK issue tracking.

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages