Data Consistency Check
This site is mostly data driven. To ensure data consistency the following checks are performed every time the site is rendered:
- All JDK versions have valid status.
- 1.0 / EOL ✓
- 1.1 / EOL ✓
- 1.2 / EOL ✓
- 1.3 / EOL ✓
- 1.4 / EOL ✓
- 10 / EOL ✓
- 11 / LTS ✓
- 12 / EOL ✓
- 13 / EOL ✓
- 14 / EOL ✓
- 15 / EOL ✓
- 16 / EOL ✓
- 17 / LTS ✓
- 18 / EOL ✓
- 19 / EOL ✓
- 20 / EOL ✓
- 21 / LTS ✓
- 22 / EOL ✓
- 23 / EOL ✓
- 24 / REL ✓
- 25 / DEV ✓
- 5 / EOL ✓
- 6 / EOL ✓
- 7 / EOL ✓
- 8 / LTS ✓
- 9 / EOL ✓
- All products of all vendors have valid JDK version references.
- Adoptium / Eclipse Temurin ✓
- Adoptium / Eclipse Temurin ✓
- Adoptium / Eclipse Temurin ✓
- Adoptium / Eclipse Temurin ✓
- Adoptium / Eclipse Temurin ✓
- Adoptium / Eclipse Temurin ✓
- Adoptium / Eclipse Temurin ✓
- Adoptium / Eclipse Temurin ✓
- Adoptium / Eclipse Temurin ✓
- Adoptium / Eclipse Temurin ✓
- Adoptium / Eclipse Temurin ✓
- AdoptOpenJDK / AdoptOpenJDK ✓
- AdoptOpenJDK / AdoptOpenJDK ✓
- AdoptOpenJDK / AdoptOpenJDK ✓
- AdoptOpenJDK / AdoptOpenJDK ✓
- AdoptOpenJDK / AdoptOpenJDK ✓
- AdoptOpenJDK / AdoptOpenJDK ✓
- AdoptOpenJDK / AdoptOpenJDK ✓
- AdoptOpenJDK / AdoptOpenJDK ✓
- AdoptOpenJDK / AdoptOpenJDK ✓
- Alibaba / Dragonwell 8 ✓
- Alibaba / Dragonwell 11 ✓
- Alibaba / Dragonwell 17 ✓
- Amazon / Corretto 8 ✓
- Amazon / Corretto 11 ✓
- Amazon / Corretto 17 ✓
- Amazon / Corretto 21 ✓
- Amazon / Corretto 23 ✓
- Amazon / Corretto 24 ✓
- Azul Systems / Zulu Builds of OpenJDK 6 ✓
- Azul Systems / Zulu Builds of OpenJDK 7 ✓
- Azul Systems / Zulu Builds of OpenJDK 8 ✓
- Azul Systems / Zulu Builds of OpenJDK 9 ✓
- Azul Systems / Zulu Builds of OpenJDK 10 ✓
- Azul Systems / Zulu Builds of OpenJDK 11 ✓
- Azul Systems / Zulu Builds of OpenJDK 12 ✓
- Azul Systems / Zulu Builds of OpenJDK 13 ✓
- Azul Systems / Zulu Builds of OpenJDK 14 ✓
- Azul Systems / Zulu Builds of OpenJDK 15 ✓
- Azul Systems / Zulu Builds of OpenJDK 16 ✓
- Azul Systems / Zulu Builds of OpenJDK 17 ✓
- Azul Systems / Zulu Builds of OpenJDK 18 ✓
- Azul Systems / Zulu Builds of OpenJDK 19 ✓
- Azul Systems / Zulu Builds of OpenJDK 20 ✓
- Azul Systems / Zulu Builds of OpenJDK 21 ✓
- Azul Systems / Zulu Builds of OpenJDK 22 ✓
- Azul Systems / Zulu Builds of OpenJDK 23 ✓
- Azul Systems / Zulu Builds of OpenJDK 24 ✓
- Azul Systems / Zulu Builds of OpenJDK 25 ✓
- Azul Systems / Azul Prime ✓
- BellSoft / Liberica ✓
- BellSoft / Liberica ✓
- BellSoft / Liberica ✓
- BellSoft / Liberica ✓
- BellSoft / Liberica ✓
- BellSoft / Liberica ✓
- BellSoft / Liberica ✓
- BellSoft / Liberica ✓
- BellSoft / Liberica ✓
- BellSoft / Liberica ✓
- BellSoft / Liberica ✓
- BellSoft / Liberica ✓
- BellSoft / Liberica ✓
- BellSoft / Liberica ✓
- BellSoft / Liberica ✓
- BellSoft / Liberica ✓
- BellSoft / Liberica ✓
- IBM / IBM SDK, Java Technology Edition, Version 8 ✓
- IBM / Semeru Runtime Open Edition, Version 8 ✓
- IBM / Semeru Runtime Open Edition, Version 11 ✓
- IBM / Semeru Runtime Open Edition, Version 16 ✓
- IBM / Semeru Runtime Open Edition, Version 17 ✓
- IBM / Semeru Runtime Open Edition, Version 18 ✓
- IBM / Semeru Runtime Open Edition, Version 19 ✓
- IBM / Semeru Runtime Open Edition, Version 20 ✓
- IBM / Semeru Runtime Open Edition, Version 21 ✓
- IBM / Semeru Runtime Open Edition, Version 22 ✓
- IBM / Semeru Runtime Open Edition, Version 23 ✓
- Microsoft / Microsoft Build of OpenJDK 11 ✓
- Microsoft / Microsoft Build of OpenJDK 17 ✓
- Microsoft / Microsoft Build of OpenJDK 21 ✓
- Oracle / Java SE Development Kit 1.1 ✓
- Oracle / Java SE Development Kit 1.2 ✓
- Oracle / Java SE Development Kit 1.3 ✓
- Oracle / Java SE Development Kit 1.4 ✓
- Oracle / Java SE Development Kit 5 ✓
- Oracle / Java SE Development Kit 6 ✓
- Oracle / Java SE Development Kit 7 ✓
- Oracle / Oracle JDK 8 ✓
- Oracle / Oracle JDK 9 ✓
- Oracle / Oracle JDK 10 ✓
- Oracle / Oracle JDK 11 ✓
- Oracle / Oracle JDK 12 ✓
- Oracle / Oracle JDK 13 ✓
- Oracle / Oracle JDK 14 ✓
- Oracle / Oracle JDK 15 ✓
- Oracle / Oracle JDK 16 ✓
- Oracle / Oracle JDK 17 ✓
- Oracle / Oracle JDK 18 ✓
- Oracle / Oracle JDK 19 ✓
- Oracle / Oracle JDK 20 ✓
- Oracle / Oracle JDK 22 ✓
- Oracle / Oracle JDK 21 ✓
- Oracle / Oracle JDK 23 ✓
- Oracle / Oracle JDK 24 ✓
- Oracle / Oracle OpenJDK 24 ✓
- Oracle / Oracle OpenJDK 25 ✓
- Red Hat / Red Hat build of OpenJDK 8 ✓
- Red Hat / Red Hat build of OpenJDK 9 ✓
- Red Hat / Red Hat build of OpenJDK 10 ✓
- Red Hat / Red Hat build of OpenJDK 11 ✓
- Red Hat / Red Hat build of OpenJDK 12 ✓
- Red Hat / Red Hat build of OpenJDK 13 ✓
- Red Hat / Red Hat build of OpenJDK 14 ✓
- Red Hat / Red Hat build of OpenJDK 15 ✓
- Red Hat / Red Hat build of OpenJDK 17 ✓
- Red Hat / Red Hat build of OpenJDK 21 ✓
- SAP / SapMachine 10 ✓
- SAP / SapMachine 11 ✓
- SAP / SapMachine 12 ✓
- SAP / SapMachine 13 ✓
- SAP / SapMachine 14 ✓
- SAP / SapMachine 15 ✓
- SAP / SapMachine 16 ✓
- SAP / SapMachine 17 ✓
- SAP / SapMachine 18 ✓
- SAP / SapMachine 19 ✓
- SAP / SapMachine 20 ✓
- SAP / SapMachine 21 ✓
- SAP / SapMachine 22 ✓
- SAP / SapMachine 23 ✓
- SAP / SapMachine 24 ✓
- SAP / SapMachine 25 ✓
- All JDK features have valid categories.
- Inner Classes ✓
- JIT (on Windows only by JavaSoft) ✓
- Java Beans ✓
- JDBC ✓
- RMI ✓
- Reflection ✓
- Sun JIT ✓
- Keyword strictfp ✓
- Swing ✓
- Collections ✓
- HotSpot ✓
- JNDI ✓
- Sound ✓
- Keyword assert ✓
- Regular Expressions ✓
- Non-blocking IO ✓
- Logging ✓
- Preferences ✓
- XML APIs ✓
- XSLT ✓
- Graal VM ✓
- GC Interface ✓
- Parallel Full GC for G1 ✓
- Thread-Local Handshakes ✓
- Alternative Memory Devices ✓
- Keyword var ✓
- Additional Unicode Language-Tag Extensions ✓
- javah Removed ✓
- CONSTANT_Dynamic ✓
- Epsilon GC ✓
- ZGC ✓
- Nest-Based Access Control ✓
- Low-Overhead Heap Profiling ✓
- Improve Aarch64 Intrinsics ✓
- Local Variable Syntax for Lambda Parameters ✓
- HTTP Client ✓
- Java EE and CORBA removed ✓
- Unicode 10 Support ✓
- Nashorn JavaScript Engine deprecated ✓
- New Cryptographic Algorithms ✓
- TLS 1.3 ✓
- Single Source File Launch ✓
- Flight Recorder ✓
- Pack200 deprecated ✓
- No more frames in JavaDoc ✓
- Shenandoah GC ✓
- Switch Expressions ✓
- JVM Constants ✓
- Dynamic CDS Archives ✓
- ZGC: Uncommit Unused Memory ✓
- Switch Expressions ✓
- Text Blocks ✓
- Reimplement the Legacy Socket API ✓
- NUMA-Aware Memory Allocation for G1 ✓
- JFR Event Streaming ✓
- Helpful NullPointerExceptions ✓
- Deprecate the Solaris and SPARC Ports ✓
- Remove the Concurrent Mark Sweep (CMS) Garbage Collector ✓
- ZGC on macOS ✓
- ZGC on Windows ✓
- Deprecate the ParallelScavenge + SerialOld GC Combination ✓
- Switch Expressions ✓
- Records ✓
- Text Blocks ✓
- Pattern Matching for instanceof ✓
- Non-Volatile Mapped Byte Buffers ✓
- Remove the Pack200 APIs ✓
- Foreign-Memory Access API ✓
- Remove the Pack200 Tools ✓
- Packaging Tool ✓
- Disable and Deprecate Biased Locking ✓
- ZGC ✓
- Shenandoah GC ✓
- Remove the Solaris and SPARC Ports ✓
- Sealed Classes ✓
- Pattern Matching for instanceof ✓
- Text Blocks ✓
- Records ✓
- Local Interfaces and Enums ✓
- Edwards-Curve Digital Signature Algorithm (EdDSA) ✓
- Hidden Classes ✓
- Remove the Nashorn JavaScript Engine ✓
- Foreign-Memory Access API ✓
- Deprecate RMI Activation for Removal ✓
- Reimplement the Legacy DatagramSocket API ✓
- ZGC: Concurrent Thread Processing ✓
- Alpine Linux Port ✓
- Windows/AArch64 Port ✓
- Strongly Encapsulate JDK Internals by Default ✓
- Vector API ✓
- Unix-Domain Socket Channels ✓
- Foreign Linker API ✓
- Foreign-Memory Access API ✓
- Warnings for Value-Based Classes ✓
- Pattern Matching for instanceof ✓
- Records ✓
- Static Members in Inner Classes ✓
- Sealed Classes ✓
- Packaging Tool ✓
- Enable C++14 Language Features ✓
- Migrate to Git/GitHub ✓
- Restore Always-Strict Floating-Point Semantics ✓
- New macOS Rendering Pipeline ✓
- macOS/AArch64 Port ✓
- Enhanced Pseudo-Random Number Generators ✓
- Deprecate the Applet API for Removal ✓
- Strongly Encapsulate JDK Internals ✓
- Pattern Matching for switch ✓
- Remove RMI Activation ✓
- Sealed Classes ✓
- Remove the Experimental AOT and JIT Compiler ✓
- Deprecate the Security Manager for Removal ✓
- Foreign Function & Memory API ✓
- Vector API ✓
- UTF-8 by Default ✓
- Simple Web Server ✓
- Code Snippets in Java API Documentation ✓
- Pattern Matching for switch ✓
- Reimplement Core Reflection with Method Handles ✓
- Vector API ✓
- Internet-Address Resolution SPI ✓
- Foreign Function & Memory API ✓
- Deprecate Finalization for Removal ✓
- Linux/RISC-V Port ✓
- Record Patterns ✓
- Pattern Matching for switch ✓
- Foreign Function & Memory API ✓
- Virtual Threads ✓
- Vector API ✓
- Structured Concurrency ✓
- Record Patterns ✓
- Pattern Matching for switch ✓
- Scoped Values ✓
- Foreign Function & Memory API ✓
- Virtual Threads ✓
- Structured Concurrency ✓
- Vector API ✓
- Generational ZGC ✓
- Deprecate the Windows 32-bit x86 Port for Removal ✓
- Prepare to Disallow the Dynamic Loading of Agents ✓
- String Templates ✓
- Record Patterns ✓
- Pattern Matching for switch ✓
- Unnamed Patterns and Variables ✓
- Unnamed Classes and Instance Main Methods ✓
- Sequenced Collections ✓
- Foreign Function & Memory API ✓
- Virtual Threads ✓
- Scoped Values ✓
- Vector API ✓
- Key Encapsulation Mechanism API ✓
- Structured Concurrency ✓
- Region Pinning for G1 ✓
- Statements before super(...) ✓
- Unnamed Variables & Patterns ✓
- String Templates ✓
- Implicitly Declared Classes and Instance Main Methods ✓
- Foreign Function & Memory API ✓
- Class-File API ✓
- Stream Gatherers ✓
- Structured Concurrency ✓
- Launch Multi-File Source-Code Programs ✓
- Primitive Types in Patterns, instanceof, and switch ✓
- Module Import Declarations ✓
- Implicitly Declared Classes and Instance Main Methods ✓
- Flexible Constructor Bodies ✓
- Class-File API ✓
- Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal ✓
- Stream Gatherers ✓
- Structured Concurrency ✓
- Scoped Values ✓
- ZGC: Generational Mode by Default ✓
- Markdown Documentation Comments ✓
- Late Barrier Expansion for G1 ✓
- Remove the Windows 32-bit x86 Port ✓
- Ahead-of-Time Class Loading & Linking ✓
- ZGC: Remove the Non-Generational Mode ✓
- Synchronize Virtual Threads without Pinning ✓
- Deprecate the 32-bit x86 Port for Removal ✓
- Prepare to Restrict the Use of JNI ✓
- Key Derivation Function API ✓
- Class-File API ✓
- Stream Gatherers ✓
- Permanently Disable the Security Manager ✓
- Scoped Values ✓
- Primitive Types in Patterns, instanceof, and switch ✓
- Vector API ✓
- Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism ✓
- Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm ✓
- Warn upon Use of Memory-Access Methods in sun.misc.Unsafe ✓
- Structured Concurrency ✓
- Flexible Constructor Bodies ✓
- Module Import Declarations ✓
- Simple Source Files and Instance Main Methods ✓
- Linking Run-Time Images without JMODs ✓
- Generics ✓
- Annotations ✓
- Autoboxing ✓
- Enums ✓
- For-each Loops ✓
- Static Imports ✓
- Var Args ✓
- Concurrency Utilities (java.util.concurrent) ✓
- XML Digital Signatures (javax.xml.crypto.dsig) ✓
- Streaming API for XML 1.0 (javax.xml.stream) ✓
- Web Services Metadata (javax.jws) ✓
- Java API for XML Processing 1.3 (javax.xml.*) ✓
- JAXB 2.0 (javax.xml.bind) ✓
- Scripting for the Java Platform (javax.script) ✓
- XML-Based Web Services 2.0 (javax.xml.ws) ✓
- Common Annotations (javax.annotations) ✓
- Smart Card I/O (javax.smartcardio) ✓
- Pluggable Annotation Processing (javax.lang.model) ✓
- Java Activation Framework (javax.annotation) ✓
- javac supports java.lang.SuppressWarnings annotation ✓
- New Opcode INVOKEDYNAMIC ✓
- Switch on String ✓
- Try-with ✓
- Diamond Operator ✓
- Binary Integer Literals ✓
- Underscores in numeric literals ✓
- Multi Catch ✓
- Method Handles ✓
- NIO.2 (java.nio.file) ✓
- Remove Permanent Generation ✓
- Lambda Expressions ✓
- Default Methods in Interfaces ✓
- Effectively Final Variables ✓
- Type Use Annotations ✓
- Repeating Annotations ✓
- Streams (java.util.stream) ✓
- Lambda APIs (java.util.function) ✓
- Date Time (java.time) ✓
- Module System ✓
- Private Methods in Interfaces ✓
- HTTP/2 Client ✓
- Var Handles ✓
- UTF-8 Property Resource Bundles ✓
- Compact Strings ✓
- Reactive Streams ✓
- Enhanced Deprecation ✓
- Object.finalize() deprecated ✓
- jshell ✓
- Multi-Release JAR Files ✓
- Compile for Older Platform Versions ✓
- jlink ✓
- Indify String Concatenation ✓
- All JDK incubator and preview features must have a revision.
- Inner Classes ✓
- JIT (on Windows only by JavaSoft) ✓
- Java Beans ✓
- JDBC ✓
- RMI ✓
- Reflection ✓
- Sun JIT ✓
- Keyword strictfp ✓
- Swing ✓
- Collections ✓
- HotSpot ✓
- JNDI ✓
- Sound ✓
- Keyword assert ✓
- Regular Expressions ✓
- Non-blocking IO ✓
- Logging ✓
- Preferences ✓
- XML APIs ✓
- XSLT ✓
- Graal VM ✓
- GC Interface ✓
- Parallel Full GC for G1 ✓
- Thread-Local Handshakes ✓
- Alternative Memory Devices ✓
- Keyword var ✓
- Additional Unicode Language-Tag Extensions ✓
- javah Removed ✓
- CONSTANT_Dynamic ✓
- Epsilon GC ✓
- ZGC ✓
- Nest-Based Access Control ✓
- Low-Overhead Heap Profiling ✓
- Improve Aarch64 Intrinsics ✓
- Local Variable Syntax for Lambda Parameters ✓
- HTTP Client ✓
- Java EE and CORBA removed ✓
- Unicode 10 Support ✓
- Nashorn JavaScript Engine deprecated ✓
- New Cryptographic Algorithms ✓
- TLS 1.3 ✓
- Single Source File Launch ✓
- Flight Recorder ✓
- Pack200 deprecated ✓
- No more frames in JavaDoc ✓
- Shenandoah GC ✓
- Switch Expressions ✓
- JVM Constants ✓
- Dynamic CDS Archives ✓
- ZGC: Uncommit Unused Memory ✓
- Switch Expressions ✓
- Text Blocks ✓
- Reimplement the Legacy Socket API ✓
- NUMA-Aware Memory Allocation for G1 ✓
- JFR Event Streaming ✓
- Helpful NullPointerExceptions ✓
- Deprecate the Solaris and SPARC Ports ✓
- Remove the Concurrent Mark Sweep (CMS) Garbage Collector ✓
- ZGC on macOS ✓
- ZGC on Windows ✓
- Deprecate the ParallelScavenge + SerialOld GC Combination ✓
- Switch Expressions ✓
- Records ✓
- Text Blocks ✓
- Pattern Matching for instanceof ✓
- Non-Volatile Mapped Byte Buffers ✓
- Remove the Pack200 APIs ✓
- Foreign-Memory Access API ✓
- Remove the Pack200 Tools ✓
- Packaging Tool ✓
- Disable and Deprecate Biased Locking ✓
- ZGC ✓
- Shenandoah GC ✓
- Remove the Solaris and SPARC Ports ✓
- Sealed Classes ✓
- Pattern Matching for instanceof ✓
- Text Blocks ✓
- Records ✓
- Local Interfaces and Enums ✓
- Edwards-Curve Digital Signature Algorithm (EdDSA) ✓
- Hidden Classes ✓
- Remove the Nashorn JavaScript Engine ✓
- Foreign-Memory Access API ✓
- Deprecate RMI Activation for Removal ✓
- Reimplement the Legacy DatagramSocket API ✓
- ZGC: Concurrent Thread Processing ✓
- Alpine Linux Port ✓
- Windows/AArch64 Port ✓
- Strongly Encapsulate JDK Internals by Default ✓
- Vector API ✓
- Unix-Domain Socket Channels ✓
- Foreign Linker API ✓
- Foreign-Memory Access API ✓
- Warnings for Value-Based Classes ✓
- Pattern Matching for instanceof ✓
- Records ✓
- Static Members in Inner Classes ✓
- Sealed Classes ✓
- Packaging Tool ✓
- Enable C++14 Language Features ✓
- Migrate to Git/GitHub ✓
- Restore Always-Strict Floating-Point Semantics ✓
- New macOS Rendering Pipeline ✓
- macOS/AArch64 Port ✓
- Enhanced Pseudo-Random Number Generators ✓
- Deprecate the Applet API for Removal ✓
- Strongly Encapsulate JDK Internals ✓
- Pattern Matching for switch ✓
- Remove RMI Activation ✓
- Sealed Classes ✓
- Remove the Experimental AOT and JIT Compiler ✓
- Deprecate the Security Manager for Removal ✓
- Foreign Function & Memory API ✓
- Vector API ✓
- UTF-8 by Default ✓
- Simple Web Server ✓
- Code Snippets in Java API Documentation ✓
- Pattern Matching for switch ✓
- Reimplement Core Reflection with Method Handles ✓
- Vector API ✓
- Internet-Address Resolution SPI ✓
- Foreign Function & Memory API ✓
- Deprecate Finalization for Removal ✓
- Linux/RISC-V Port ✓
- Record Patterns ✓
- Pattern Matching for switch ✓
- Foreign Function & Memory API ✓
- Virtual Threads ✓
- Vector API ✓
- Structured Concurrency ✓
- Record Patterns ✓
- Pattern Matching for switch ✓
- Scoped Values ✓
- Foreign Function & Memory API ✓
- Virtual Threads ✓
- Structured Concurrency ✓
- Vector API ✓
- Generational ZGC ✓
- Deprecate the Windows 32-bit x86 Port for Removal ✓
- Prepare to Disallow the Dynamic Loading of Agents ✓
- String Templates ✓
- Record Patterns ✓
- Pattern Matching for switch ✓
- Unnamed Patterns and Variables ✓
- Unnamed Classes and Instance Main Methods ✓
- Sequenced Collections ✓
- Foreign Function & Memory API ✓
- Virtual Threads ✓
- Scoped Values ✓
- Vector API ✓
- Key Encapsulation Mechanism API ✓
- Structured Concurrency ✓
- Region Pinning for G1 ✓
- Statements before super(...) ✓
- Unnamed Variables & Patterns ✓
- String Templates ✓
- Implicitly Declared Classes and Instance Main Methods ✓
- Foreign Function & Memory API ✓
- Class-File API ✓
- Stream Gatherers ✓
- Structured Concurrency ✓
- Launch Multi-File Source-Code Programs ✓
- Primitive Types in Patterns, instanceof, and switch ✓
- Module Import Declarations ✓
- Implicitly Declared Classes and Instance Main Methods ✓
- Flexible Constructor Bodies ✓
- Class-File API ✓
- Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal ✓
- Stream Gatherers ✓
- Structured Concurrency ✓
- Scoped Values ✓
- ZGC: Generational Mode by Default ✓
- Markdown Documentation Comments ✓
- Late Barrier Expansion for G1 ✓
- Remove the Windows 32-bit x86 Port ✓
- Ahead-of-Time Class Loading & Linking ✓
- ZGC: Remove the Non-Generational Mode ✓
- Synchronize Virtual Threads without Pinning ✓
- Deprecate the 32-bit x86 Port for Removal ✓
- Prepare to Restrict the Use of JNI ✓
- Key Derivation Function API ✓
- Class-File API ✓
- Stream Gatherers ✓
- Permanently Disable the Security Manager ✓
- Scoped Values ✓
- Primitive Types in Patterns, instanceof, and switch ✓
- Vector API ✓
- Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism ✓
- Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm ✓
- Warn upon Use of Memory-Access Methods in sun.misc.Unsafe ✓
- Structured Concurrency ✓
- Flexible Constructor Bodies ✓
- Module Import Declarations ✓
- Simple Source Files and Instance Main Methods ✓
- Linking Run-Time Images without JMODs ✓
- Generics ✓
- Annotations ✓
- Autoboxing ✓
- Enums ✓
- For-each Loops ✓
- Static Imports ✓
- Var Args ✓
- Concurrency Utilities (java.util.concurrent) ✓
- XML Digital Signatures (javax.xml.crypto.dsig) ✓
- Streaming API for XML 1.0 (javax.xml.stream) ✓
- Web Services Metadata (javax.jws) ✓
- Java API for XML Processing 1.3 (javax.xml.*) ✓
- JAXB 2.0 (javax.xml.bind) ✓
- Scripting for the Java Platform (javax.script) ✓
- XML-Based Web Services 2.0 (javax.xml.ws) ✓
- Common Annotations (javax.annotations) ✓
- Smart Card I/O (javax.smartcardio) ✓
- Pluggable Annotation Processing (javax.lang.model) ✓
- Java Activation Framework (javax.annotation) ✓
- javac supports java.lang.SuppressWarnings annotation ✓
- New Opcode INVOKEDYNAMIC ✓
- Switch on String ✓
- Try-with ✓
- Diamond Operator ✓
- Binary Integer Literals ✓
- Underscores in numeric literals ✓
- Multi Catch ✓
- Method Handles ✓
- NIO.2 (java.nio.file) ✓
- Remove Permanent Generation ✓
- Lambda Expressions ✓
- Default Methods in Interfaces ✓
- Effectively Final Variables ✓
- Type Use Annotations ✓
- Repeating Annotations ✓
- Streams (java.util.stream) ✓
- Lambda APIs (java.util.function) ✓
- Date Time (java.time) ✓
- Module System ✓
- Private Methods in Interfaces ✓
- HTTP/2 Client ✓
- Var Handles ✓
- UTF-8 Property Resource Bundles ✓
- Compact Strings ✓
- Reactive Streams ✓
- Enhanced Deprecation ✓
- Object.finalize() deprecated ✓
- jshell ✓
- Multi-Release JAR Files ✓
- Compile for Older Platform Versions ✓
- jlink ✓
- Indify String Concatenation ✓
- All JDK features have valid Java Almanac links.
- var ✓
- switch ✓
- switch ✓
- textblocks ✓
- switch ✓
- records ✓
- textblocks ✓
- sealedtypes ✓
- textblocks ✓
- records ✓
- instanceof-patterns ✓
- records ✓
- sealedtypes ✓
- typepatterns ✓
- sealedtypes ✓
- typepatterns ✓
- recordpatterns ✓
- typepatterns ✓
- virtual-threads ✓
- recordpatterns ✓
- typepatterns ✓
- virtual-threads ✓
- stringtemplates ✓
- recordpatterns ✓
- typepatterns ✓
- jep445 ✓
- virtual-threads ✓
- stringtemplates ✓
- jep445 ✓
- gatherers ✓
- gatherers ✓
- All API diffs have valid JDK version references.
- 1.0.2 / 1.1.8_16 ✓
- 1.0.2 / 1.2.2.17 ✓
- 1.1.8_16 / 1.2.2.17 ✓
- 1.0.2 / 1.3.1.29 ✓
- 1.1.8_16 / 1.3.1.29 ✓
- 1.2.2.17 / 1.3.1.29 ✓
- 1.0.2 / 1.4.2_30 ✓
- 1.1.8_16 / 1.4.2_30 ✓
- 1.2.2.17 / 1.4.2_30 ✓
- 1.3.1.29 / 1.4.2_30 ✓
- 1.0.2 / 10.0.2 ✓
- 1.1.8_16 / 10.0.2 ✓
- 1.2.2.17 / 10.0.2 ✓
- 1.3.1.29 / 10.0.2 ✓
- 1.4.2_30 / 10.0.2 ✓
- 1.5.0_22 / 10.0.2 ✓
- 1.6.0_45 / 10.0.2 ✓
- 1.7.0_80 / 10.0.2 ✓
- 8.0.442 / 10.0.2 ✓
- 9.0.4 / 10.0.2 ✓
- 1.0.2 / 11.0.27+6 ✓
- 1.1.8_16 / 11.0.27+6 ✓
- 1.2.2.17 / 11.0.27+6 ✓
- 1.3.1.29 / 11.0.27+6 ✓
- 1.4.2_30 / 11.0.27+6 ✓
- 10.0.2 / 11.0.27+6 ✓
- 1.5.0_22 / 11.0.27+6 ✓
- 1.6.0_45 / 11.0.27+6 ✓
- 1.7.0_80 / 11.0.27+6 ✓
- 8.0.442 / 11.0.27+6 ✓
- 9.0.4 / 11.0.27+6 ✓
- 1.0.2 / 12.0.2+10 ✓
- 1.1.8_16 / 12.0.2+10 ✓
- 1.2.2.17 / 12.0.2+10 ✓
- 1.3.1.29 / 12.0.2+10 ✓
- 1.4.2_30 / 12.0.2+10 ✓
- 10.0.2 / 12.0.2+10 ✓
- 11.0.27+6 / 12.0.2+10 ✓
- 1.5.0_22 / 12.0.2+10 ✓
- 1.6.0_45 / 12.0.2+10 ✓
- 1.7.0_80 / 12.0.2+10 ✓
- 8.0.442 / 12.0.2+10 ✓
- 9.0.4 / 12.0.2+10 ✓
- 1.0.2 / 13.0.2+8 ✓
- 1.1.8_16 / 13.0.2+8 ✓
- 1.2.2.17 / 13.0.2+8 ✓
- 1.3.1.29 / 13.0.2+8 ✓
- 1.4.2_30 / 13.0.2+8 ✓
- 10.0.2 / 13.0.2+8 ✓
- 11.0.27+6 / 13.0.2+8 ✓
- 12.0.2+10 / 13.0.2+8 ✓
- 1.5.0_22 / 13.0.2+8 ✓
- 1.6.0_45 / 13.0.2+8 ✓
- 1.7.0_80 / 13.0.2+8 ✓
- 8.0.442 / 13.0.2+8 ✓
- 9.0.4 / 13.0.2+8 ✓
- 1.0.2 / 14.0.2+12 ✓
- 1.1.8_16 / 14.0.2+12 ✓
- 1.2.2.17 / 14.0.2+12 ✓
- 1.3.1.29 / 14.0.2+12 ✓
- 1.4.2_30 / 14.0.2+12 ✓
- 10.0.2 / 14.0.2+12 ✓
- 11.0.27+6 / 14.0.2+12 ✓
- 12.0.2+10 / 14.0.2+12 ✓
- 13.0.2+8 / 14.0.2+12 ✓
- 1.5.0_22 / 14.0.2+12 ✓
- 1.6.0_45 / 14.0.2+12 ✓
- 1.7.0_80 / 14.0.2+12 ✓
- 8.0.442 / 14.0.2+12 ✓
- 9.0.4 / 14.0.2+12 ✓
- 1.0.2 / 15.0.2+7 ✓
- 1.1.8_16 / 15.0.2+7 ✓
- 1.2.2.17 / 15.0.2+7 ✓
- 1.3.1.29 / 15.0.2+7 ✓
- 1.4.2_30 / 15.0.2+7 ✓
- 10.0.2 / 15.0.2+7 ✓
- 11.0.27+6 / 15.0.2+7 ✓
- 12.0.2+10 / 15.0.2+7 ✓
- 13.0.2+8 / 15.0.2+7 ✓
- 14.0.2+12 / 15.0.2+7 ✓
- 1.5.0_22 / 15.0.2+7 ✓
- 1.6.0_45 / 15.0.2+7 ✓
- 1.7.0_80 / 15.0.2+7 ✓
- 8.0.442 / 15.0.2+7 ✓
- 9.0.4 / 15.0.2+7 ✓
- 1.0.2 / 16.0.2+7 ✓
- 1.1.8_16 / 16.0.2+7 ✓
- 1.2.2.17 / 16.0.2+7 ✓
- 1.3.1.29 / 16.0.2+7 ✓
- 1.4.2_30 / 16.0.2+7 ✓
- 10.0.2 / 16.0.2+7 ✓
- 11.0.27+6 / 16.0.2+7 ✓
- 12.0.2+10 / 16.0.2+7 ✓
- 13.0.2+8 / 16.0.2+7 ✓
- 14.0.2+12 / 16.0.2+7 ✓
- 15.0.2+7 / 16.0.2+7 ✓
- 1.5.0_22 / 16.0.2+7 ✓
- 1.6.0_45 / 16.0.2+7 ✓
- 1.7.0_80 / 16.0.2+7 ✓
- 8.0.442 / 16.0.2+7 ✓
- 9.0.4 / 16.0.2+7 ✓
- 1.0.2 / 17.0.15+6 ✓
- 1.1.8_16 / 17.0.15+6 ✓
- 1.2.2.17 / 17.0.15+6 ✓
- 1.3.1.29 / 17.0.15+6 ✓
- 1.4.2_30 / 17.0.15+6 ✓
- 10.0.2 / 17.0.15+6 ✓
- 11.0.27+6 / 17.0.15+6 ✓
- 12.0.2+10 / 17.0.15+6 ✓
- 13.0.2+8 / 17.0.15+6 ✓
- 14.0.2+12 / 17.0.15+6 ✓
- 15.0.2+7 / 17.0.15+6 ✓
- 16.0.2+7 / 17.0.15+6 ✓
- 1.5.0_22 / 17.0.15+6 ✓
- 1.6.0_45 / 17.0.15+6 ✓
- 1.7.0_80 / 17.0.15+6 ✓
- 8.0.442 / 17.0.15+6 ✓
- 9.0.4 / 17.0.15+6 ✓
- 1.0.2 / 18.0.2.1+1 ✓
- 1.1.8_16 / 18.0.2.1+1 ✓
- 1.2.2.17 / 18.0.2.1+1 ✓
- 1.3.1.29 / 18.0.2.1+1 ✓
- 1.4.2_30 / 18.0.2.1+1 ✓
- 10.0.2 / 18.0.2.1+1 ✓
- 11.0.27+6 / 18.0.2.1+1 ✓
- 12.0.2+10 / 18.0.2.1+1 ✓
- 13.0.2+8 / 18.0.2.1+1 ✓
- 14.0.2+12 / 18.0.2.1+1 ✓
- 15.0.2+7 / 18.0.2.1+1 ✓
- 16.0.2+7 / 18.0.2.1+1 ✓
- 17.0.15+6 / 18.0.2.1+1 ✓
- 1.5.0_22 / 18.0.2.1+1 ✓
- 1.6.0_45 / 18.0.2.1+1 ✓
- 1.7.0_80 / 18.0.2.1+1 ✓
- 8.0.442 / 18.0.2.1+1 ✓
- 9.0.4 / 18.0.2.1+1 ✓
- 1.0.2 / 19.0.2+7 ✓
- 1.1.8_16 / 19.0.2+7 ✓
- 1.2.2.17 / 19.0.2+7 ✓
- 1.3.1.29 / 19.0.2+7 ✓
- 1.4.2_30 / 19.0.2+7 ✓
- 10.0.2 / 19.0.2+7 ✓
- 11.0.27+6 / 19.0.2+7 ✓
- 12.0.2+10 / 19.0.2+7 ✓
- 13.0.2+8 / 19.0.2+7 ✓
- 14.0.2+12 / 19.0.2+7 ✓
- 15.0.2+7 / 19.0.2+7 ✓
- 16.0.2+7 / 19.0.2+7 ✓
- 17.0.15+6 / 19.0.2+7 ✓
- 18.0.2.1+1 / 19.0.2+7 ✓
- 1.5.0_22 / 19.0.2+7 ✓
- 1.6.0_45 / 19.0.2+7 ✓
- 1.7.0_80 / 19.0.2+7 ✓
- 8.0.442 / 19.0.2+7 ✓
- 9.0.4 / 19.0.2+7 ✓
- 1.0.2 / 20.0.2+9 ✓
- 1.1.8_16 / 20.0.2+9 ✓
- 1.2.2.17 / 20.0.2+9 ✓
- 1.3.1.29 / 20.0.2+9 ✓
- 1.4.2_30 / 20.0.2+9 ✓
- 10.0.2 / 20.0.2+9 ✓
- 11.0.27+6 / 20.0.2+9 ✓
- 12.0.2+10 / 20.0.2+9 ✓
- 13.0.2+8 / 20.0.2+9 ✓
- 14.0.2+12 / 20.0.2+9 ✓
- 15.0.2+7 / 20.0.2+9 ✓
- 16.0.2+7 / 20.0.2+9 ✓
- 17.0.15+6 / 20.0.2+9 ✓
- 18.0.2.1+1 / 20.0.2+9 ✓
- 19.0.2+7 / 20.0.2+9 ✓
- 1.5.0_22 / 20.0.2+9 ✓
- 1.6.0_45 / 20.0.2+9 ✓
- 1.7.0_80 / 20.0.2+9 ✓
- 8.0.442 / 20.0.2+9 ✓
- 9.0.4 / 20.0.2+9 ✓
- 1.0.2 / 21.0.7+6-LTS ✓
- 1.1.8_16 / 21.0.7+6-LTS ✓
- 1.2.2.17 / 21.0.7+6-LTS ✓
- 1.3.1.29 / 21.0.7+6-LTS ✓
- 1.4.2_30 / 21.0.7+6-LTS ✓
- 10.0.2 / 21.0.7+6-LTS ✓
- 11.0.27+6 / 21.0.7+6-LTS ✓
- 12.0.2+10 / 21.0.7+6-LTS ✓
- 13.0.2+8 / 21.0.7+6-LTS ✓
- 14.0.2+12 / 21.0.7+6-LTS ✓
- 15.0.2+7 / 21.0.7+6-LTS ✓
- 16.0.2+7 / 21.0.7+6-LTS ✓
- 17.0.15+6 / 21.0.7+6-LTS ✓
- 18.0.2.1+1 / 21.0.7+6-LTS ✓
- 19.0.2+7 / 21.0.7+6-LTS ✓
- 20.0.2+9 / 21.0.7+6-LTS ✓
- 1.5.0_22 / 21.0.7+6-LTS ✓
- 1.6.0_45 / 21.0.7+6-LTS ✓
- 1.7.0_80 / 21.0.7+6-LTS ✓
- 8.0.442 / 21.0.7+6-LTS ✓
- 9.0.4 / 21.0.7+6-LTS ✓
- 1.0.2 / 22.0.2+9 ✓
- 1.1.8_16 / 22.0.2+9 ✓
- 1.2.2.17 / 22.0.2+9 ✓
- 1.3.1.29 / 22.0.2+9 ✓
- 1.4.2_30 / 22.0.2+9 ✓
- 10.0.2 / 22.0.2+9 ✓
- 11.0.27+6 / 22.0.2+9 ✓
- 12.0.2+10 / 22.0.2+9 ✓
- 13.0.2+8 / 22.0.2+9 ✓
- 14.0.2+12 / 22.0.2+9 ✓
- 15.0.2+7 / 22.0.2+9 ✓
- 16.0.2+7 / 22.0.2+9 ✓
- 17.0.15+6 / 22.0.2+9 ✓
- 18.0.2.1+1 / 22.0.2+9 ✓
- 19.0.2+7 / 22.0.2+9 ✓
- 20.0.2+9 / 22.0.2+9 ✓
- 21.0.7+6-LTS / 22.0.2+9 ✓
- 1.5.0_22 / 22.0.2+9 ✓
- 1.6.0_45 / 22.0.2+9 ✓
- 1.7.0_80 / 22.0.2+9 ✓
- 8.0.442 / 22.0.2+9 ✓
- 9.0.4 / 22.0.2+9 ✓
- 1.0.2 / 23.0.2+7 ✓
- 1.1.8_16 / 23.0.2+7 ✓
- 1.2.2.17 / 23.0.2+7 ✓
- 1.3.1.29 / 23.0.2+7 ✓
- 1.4.2_30 / 23.0.2+7 ✓
- 10.0.2 / 23.0.2+7 ✓
- 11.0.27+6 / 23.0.2+7 ✓
- 12.0.2+10 / 23.0.2+7 ✓
- 13.0.2+8 / 23.0.2+7 ✓
- 14.0.2+12 / 23.0.2+7 ✓
- 15.0.2+7 / 23.0.2+7 ✓
- 16.0.2+7 / 23.0.2+7 ✓
- 17.0.15+6 / 23.0.2+7 ✓
- 18.0.2.1+1 / 23.0.2+7 ✓
- 19.0.2+7 / 23.0.2+7 ✓
- 20.0.2+9 / 23.0.2+7 ✓
- 21.0.7+6-LTS / 23.0.2+7 ✓
- 22.0.2+9 / 23.0.2+7 ✓
- 1.5.0_22 / 23.0.2+7 ✓
- 1.6.0_45 / 23.0.2+7 ✓
- 1.7.0_80 / 23.0.2+7 ✓
- 8.0.442 / 23.0.2+7 ✓
- 9.0.4 / 23.0.2+7 ✓
- 1.0.2 / 24.0.1+9-30 ✓
- 1.1.8_16 / 24.0.1+9-30 ✓
- 1.2.2.17 / 24.0.1+9-30 ✓
- 1.3.1.29 / 24.0.1+9-30 ✓
- 1.4.2_30 / 24.0.1+9-30 ✓
- 10.0.2 / 24.0.1+9-30 ✓
- 11.0.27+6 / 24.0.1+9-30 ✓
- 12.0.2+10 / 24.0.1+9-30 ✓
- 13.0.2+8 / 24.0.1+9-30 ✓
- 14.0.2+12 / 24.0.1+9-30 ✓
- 15.0.2+7 / 24.0.1+9-30 ✓
- 16.0.2+7 / 24.0.1+9-30 ✓
- 17.0.15+6 / 24.0.1+9-30 ✓
- 18.0.2.1+1 / 24.0.1+9-30 ✓
- 19.0.2+7 / 24.0.1+9-30 ✓
- 20.0.2+9 / 24.0.1+9-30 ✓
- 21.0.7+6-LTS / 24.0.1+9-30 ✓
- 22.0.2+9 / 24.0.1+9-30 ✓
- 23.0.2+7 / 24.0.1+9-30 ✓
- 1.5.0_22 / 24.0.1+9-30 ✓
- 1.6.0_45 / 24.0.1+9-30 ✓
- 1.7.0_80 / 24.0.1+9-30 ✓
- 8.0.442 / 24.0.1+9-30 ✓
- 9.0.4 / 24.0.1+9-30 ✓
- 1.0.2 / 25-ea+23-2842 ✓
- 1.1.8_16 / 25-ea+23-2842 ✓
- 1.2.2.17 / 25-ea+23-2842 ✓
- 1.3.1.29 / 25-ea+23-2842 ✓
- 1.4.2_30 / 25-ea+23-2842 ✓
- 10.0.2 / 25-ea+23-2842 ✓
- 11.0.27+6 / 25-ea+23-2842 ✓
- 12.0.2+10 / 25-ea+23-2842 ✓
- 13.0.2+8 / 25-ea+23-2842 ✓
- 14.0.2+12 / 25-ea+23-2842 ✓
- 15.0.2+7 / 25-ea+23-2842 ✓
- 16.0.2+7 / 25-ea+23-2842 ✓
- 17.0.15+6 / 25-ea+23-2842 ✓
- 18.0.2.1+1 / 25-ea+23-2842 ✓
- 19.0.2+7 / 25-ea+23-2842 ✓
- 20.0.2+9 / 25-ea+23-2842 ✓
- 21.0.7+6-LTS / 25-ea+23-2842 ✓
- 22.0.2+9 / 25-ea+23-2842 ✓
- 23.0.2+7 / 25-ea+23-2842 ✓
- 24.0.1+9-30 / 25-ea+23-2842 ✓
- 1.5.0_22 / 25-ea+23-2842 ✓
- 1.6.0_45 / 25-ea+23-2842 ✓
- 1.7.0_80 / 25-ea+23-2842 ✓
- 8.0.442 / 25-ea+23-2842 ✓
- 9.0.4 / 25-ea+23-2842 ✓
- 1.0.2 / 1.5.0_22 ✓
- 1.1.8_16 / 1.5.0_22 ✓
- 1.2.2.17 / 1.5.0_22 ✓
- 1.3.1.29 / 1.5.0_22 ✓
- 1.4.2_30 / 1.5.0_22 ✓
- 1.0.2 / 1.6.0_45 ✓
- 1.1.8_16 / 1.6.0_45 ✓
- 1.2.2.17 / 1.6.0_45 ✓
- 1.3.1.29 / 1.6.0_45 ✓
- 1.4.2_30 / 1.6.0_45 ✓
- 1.5.0_22 / 1.6.0_45 ✓
- 1.0.2 / 1.7.0_80 ✓
- 1.1.8_16 / 1.7.0_80 ✓
- 1.2.2.17 / 1.7.0_80 ✓
- 1.3.1.29 / 1.7.0_80 ✓
- 1.4.2_30 / 1.7.0_80 ✓
- 1.5.0_22 / 1.7.0_80 ✓
- 1.6.0_45 / 1.7.0_80 ✓
- 1.0.2 / 8.0.442 ✓
- 1.1.8_16 / 8.0.442 ✓
- 1.2.2.17 / 8.0.442 ✓
- 1.3.1.29 / 8.0.442 ✓
- 1.4.2_30 / 8.0.442 ✓
- 1.5.0_22 / 8.0.442 ✓
- 1.6.0_45 / 8.0.442 ✓
- 1.7.0_80 / 8.0.442 ✓
- 1.0.2 / 9.0.4 ✓
- 1.1.8_16 / 9.0.4 ✓
- 1.2.2.17 / 9.0.4 ✓
- 1.3.1.29 / 9.0.4 ✓
- 1.4.2_30 / 9.0.4 ✓
- 1.5.0_22 / 9.0.4 ✓
- 1.6.0_45 / 9.0.4 ✓
- 1.7.0_80 / 9.0.4 ✓
- 8.0.442 / 9.0.4 ✓
- All bytecode opcodes have valid categories.
- aaload is array ✓
- aastore is array ✓
- aconst_null is constant ✓
- aload is load ✓
- aload_0 is load ✓
- aload_1 is load ✓
- aload_2 is load ✓
- aload_3 is load ✓
- anewarray is array ✓
- areturn is flow ✓
- arraylength is array ✓
- astore is store ✓
- astore_0 is store ✓
- astore_1 is store ✓
- astore_2 is store ✓
- astore_3 is store ✓
- athrow is flow ✓
- baload is array ✓
- bastore is array ✓
- bipush is constant ✓
- breakpoint is reserved ✓
- caload is array ✓
- castore is array ✓
- checkcast is objects ✓
- d2f is conversion ✓
- d2i is conversion ✓
- d2l is conversion ✓
- dadd is math ✓
- daload is array ✓
- dastore is array ✓
- dcmpg is comparison ✓
- dcmpl is comparison ✓
- dconst_0 is constant ✓
- dconst_1 is constant ✓
- ddiv is math ✓
- dload is load ✓
- dload_0 is load ✓
- dload_1 is load ✓
- dload_2 is load ✓
- dload_3 is load ✓
- dmul is math ✓
- dneg is math ✓
- drem is math ✓
- dreturn is flow ✓
- dstore is store ✓
- dstore_0 is store ✓
- dstore_1 is store ✓
- dstore_2 is store ✓
- dstore_3 is store ✓
- dsub is math ✓
- dup is stack ✓
- dup2 is stack ✓
- dup2_x1 is stack ✓
- dup2_x2 is stack ✓
- dup_x1 is stack ✓
- dup_x2 is stack ✓
- f2d is conversion ✓
- f2i is conversion ✓
- f2l is conversion ✓
- fadd is math ✓
- faload is array ✓
- fastore is array ✓
- fcmpg is comparison ✓
- fcmpl is comparison ✓
- fconst_0 is constant ✓
- fconst_1 is constant ✓
- fconst_2 is constant ✓
- fdiv is math ✓
- fload is load ✓
- fload_0 is load ✓
- fload_1 is load ✓
- fload_2 is load ✓
- fload_3 is load ✓
- fmul is math ✓
- fneg is math ✓
- frem is math ✓
- freturn is flow ✓
- fstore is store ✓
- fstore_0 is store ✓
- fstore_1 is store ✓
- fstore_2 is store ✓
- fstore_3 is store ✓
- fsub is math ✓
- getfield is objects ✓
- getstatic is objects ✓
- goto is flow ✓
- goto_w is flow ✓
- i2b is conversion ✓
- i2c is conversion ✓
- i2d is conversion ✓
- i2f is conversion ✓
- i2l is conversion ✓
- i2s is conversion ✓
- iadd is math ✓
- iaload is array ✓
- iand is math ✓
- iastore is array ✓
- iconst_0 is constant ✓
- iconst_1 is constant ✓
- iconst_2 is constant ✓
- iconst_3 is constant ✓
- iconst_4 is constant ✓
- iconst_5 is constant ✓
- iconst_m1 is constant ✓
- idiv is math ✓
- if_acmpeq is conditional ✓
- if_acmpne is conditional ✓
- if_icmpeq is conditional ✓
- if_icmpge is conditional ✓
- if_icmpgt is conditional ✓
- if_icmple is conditional ✓
- if_icmplt is conditional ✓
- if_icmpne is conditional ✓
- ifeq is conditional ✓
- ifge is conditional ✓
- ifgt is conditional ✓
- ifle is conditional ✓
- iflt is conditional ✓
- ifne is conditional ✓
- ifnonnull is conditional ✓
- ifnull is conditional ✓
- iinc is math ✓
- iload is load ✓
- iload_0 is load ✓
- iload_1 is load ✓
- iload_2 is load ✓
- iload_3 is load ✓
- impdep1 is reserved ✓
- impdep2 is reserved ✓
- imul is math ✓
- ineg is math ✓
- instanceof is objects ✓
- invokedynamic is objects ✓
- invokeinterface is objects ✓
- invokespecial is objects ✓
- invokestatic is objects ✓
- invokevirtual is objects ✓
- ior is math ✓
- irem is math ✓
- ireturn is flow ✓
- ishl is math ✓
- ishr is math ✓
- istore is store ✓
- istore_0 is store ✓
- istore_1 is store ✓
- istore_2 is store ✓
- istore_3 is store ✓
- isub is math ✓
- iushr is math ✓
- ixor is math ✓
- jsr is flow ✓
- jsr_w is flow ✓
- l2d is conversion ✓
- l2f is conversion ✓
- l2i is conversion ✓
- ladd is math ✓
- laload is array ✓
- land is math ✓
- lastore is array ✓
- lcmp is comparison ✓
- lconst_0 is constant ✓
- lconst_1 is constant ✓
- ldc is constant ✓
- ldc2_w is constant ✓
- ldc_w is constant ✓
- ldiv is math ✓
- lload is load ✓
- lload_0 is load ✓
- lload_1 is load ✓
- lload_2 is load ✓
- lload_3 is load ✓
- lmul is math ✓
- lneg is math ✓
- lookupswitch is conditional ✓
- lor is math ✓
- lrem is math ✓
- lreturn is flow ✓
- lshl is math ✓
- lshr is math ✓
- lstore is store ✓
- lstore_0 is store ✓
- lstore_1 is store ✓
- lstore_2 is store ✓
- lstore_3 is store ✓
- lsub is math ✓
- lushr is math ✓
- lxor is math ✓
- monitorenter is other ✓
- monitorexit is other ✓
- multianewarray is array ✓
- new is objects ✓
- newarray is array ✓
- nop is other ✓
- pop is stack ✓
- pop2 is stack ✓
- putfield is objects ✓
- putstatic is objects ✓
- ret is flow ✓
- return is flow ✓
- saload is array ✓
- sastore is array ✓
- sipush is constant ✓
- swap is stack ✓
- tableswitch is conditional ✓
- wide is other ✓