자바는 자바 진영에서 만들어 둔 표준 스펙이 있다. 자바 컴파일러와 자바 실행 라이브러리, 자바 가상 머신(JVM)의 표준 스펙을 공지한다. 이에 따라 여러 회사에서 이 표준을 근거로 한 저마다의 실행 가능한 자바를 구현해 배포하는데, 대표적으로 Oracle OpenJDK, Adoptiu, Eclipse Temurin, Amazon Corretto가 있다. 각 자바에는 특징이 있으며 Amazon Coretto의 경우 AWS에 최적화 되어 있는 자바다.
이렇게 회사마다 다른 버전의 자바를 제작할 경우, Oracle OpenJDK를 쓰다가 Amazon Corretto로 변경할 경우 호환에서 문제가 발생할 수 있지는 않은 지에 대해 걱정이 생길 수 있지만 그러한 문제가 대부분의 경우에서 발생하지 않는다는 것이 바로 자바의 강점이다. 자바 진영에서 공지한 자바의 표준 스펙에 맞게 제작되어야 하기 때문에, 호환 문제가 거의 발생하지 않는 것. 따라서 프로젝트를 유지 보수하는 과정에서 더 적합한 자바가 있다면 버전을 변경하여 다르게 사용할 수 있다.
기본적으로 코딩을 한다는 것은 아래 과정을 거치는 것이다.
모든 프로그램은 OS 위에서 작동하게 되어 있다. 하지만 Window, Mac, Linux 모두 저마다의 명령어가 다르기 때문에 Window 프로그램은 Mac과 Linux와 호환되지 않는다.
하지만 자바는 이 문제를 해결하고 있다. 컴파일된 .class 파일을 실행하는 java가 운영체제마다 있기 때문에, Window OS에서 프로그램을 사용하고 싶다면 Window용 java를, Mac OS에서 사용하고 싶다면 Mac용 java를 다운로드 받아 사용하면 된다.
위와 같은 자바의 강점으로 인해, 개발자는 소스 코드로 .java 파일 하나만 만들어 두면, 이 소스 코드가 포함된 프로그램을 어느 운영 체제 위에서라도 사용할 수 있게 된다. 개발자가 자바 문법에만 맞게 .java 파일을 만들었다면, Window, Mac, Linux 어느 OS에서든지 해당 OS에 맞는 java를 설치하여 .java 파일을 컴파일 및 실행하면 된다.