자바는 위의 컴파일러와 인터프리터를 둘 다 활용해 높은 호환성을 가진다.
바로 기계어로 변환하는 C와 다르게 바이트 코드라는 중간 단계의 언어로 컴파일을 한다.
그리고 실행하게 되면 JVM(Java Virtual Machine) 상에서 인터프리터를 통해 바이트 코드를 해석하여 실행하게 된다.
따라서 자바는 아키텍처를 고려하지 않고 코드를 작성할 수 있다.