OpenJDK Terminology

Technology Compatibility Kit

September 10, 2020

The TCK (Technology Compatibility Kit) is the official Java SE test suite, originally developed and licensed by Sun Microsystems, used to test compatibility as well as performance of the JRE/JDK against the Java SE specifications.

The TCK suite contains more than 100.000 individual tests (~126K for Java 8, ~139K for Java 11) and running the complete test suite on a single computer requires several days. To achieve manageable execution times on embedded platforms the TCK suite can be partitioned.

The TCK test suite contains tests for a wide range of areas, including, but not limited to testing the following:

  • Java SE APIs
  • Runtime performance of the JIT compiled Java code
  • Performance of API implementations
  • Correctness of the JIT compilers
  • Correctness of the Byte Code interpreter
  • Correctness of the Byte Coder parsers, verifiers
  • Correctness of the javac compiler
  • The correct implementation of the Java memory model in the JVM (memory layout, memory barriers, thread synchronization, atomic access)
  • The garbage collectors

TCK Compliance

Any JRE/JDK individual binary must pass the TCK to be allowed to be labelled “Java SE compatible”. It is insufficient to test a “representative binary” or to declare other binaries compiled from the same source as compatible.

Below are some popular OpenJDK distros and the status of their TCK compliance.

Distro TCK Compliant?
Adoptium Temurin builds of OpenJDK
Amazon Corretto builds of OpenJDK
Azul Platform Prime
Azul Zulu builds of OpenJDK
BellSoft Liberica builds of OpenJDK
Oracle builds of OpenJDK
Oracle Java
Red Hat builds of OpenJDK

TCK License and Access

The TCK is Oracle Intellectual Property, licensed by Oracle to certain third parties. It is not open source. Further TCK related information:

Subscribe to foojay updates:

https://foojay.io/feed/
Copied to the clipboard