Distributionseasy0-2 years

A colleague wants to switch a production service from Temurin to Corretto to save on a support contract, and says "it doesn't matter, they're both just OpenJDK." What part of that claim is solid, and what still needs to be checked before shipping the switch?

The solid part: nearly every JDK distribution — Temurin, Corretto, Zulu, Oracle's own — is a build of the same OpenJDK source, and each has to pass a large conformance test suite (the TCK) before it may call itself "Java SE compatible." So the language behaving as specified and the standard library returning what it's documented to return is genuinely guaranteed to match between them. What is not guaranteed: default garbage collector tuning, startup time, which diagnostic tools ship in the box, and each vendor's own support calendar. Those are real differences a switch can hit even between two certified builds, so "it's just OpenJDK" is true for correctness and not a substitute for actually testing the switch under the service's real load.

The lesson behind it →