OpenJDK adalah model referensi dan open source, sedangkan Oracle JDK adalah implementasi dari OpenJDK dan bukan open source. Oracle JDK lebih stabil daripada OpenJDK.
OpenJDK dirilis di bawah lisensi GPL v2 sedangkan Oracle JDK dilisensikan berdasarkan Perjanjian Lisensi Kode Biner Oracle.
OpenJDK dan Oracle JDK memiliki kode yang hampir sama, tetapi Oracle JDK memiliki lebih banyak kelas dan beberapa bug diperbaiki.
Jadi, jika Anda ingin mengembangkan perangkat lunak perusahaan/komersial, saya sarankan untuk menggunakan Oracle JDK, karena sudah teruji secara menyeluruh dan stabil.
Saya telah menghadapi banyak masalah dengan crash aplikasi menggunakan OpenJDK, yang diperbaiki hanya dengan beralih ke Oracle JDK
Perbedaan teknis adalah konsekuensi dari tujuan masing-masing (OpenJDK dimaksudkan sebagai implementasi referensi, terbuka untuk komunitas, sedangkan Oracle dimaksudkan untuk komersial)
Keduanya memiliki kode kelas yang "hampir" sama di Java API; tetapi kode untuk mesin virtual itu sendiri sebenarnya berbeda, dan dalam hal pustaka, OpenJDK cenderung menggunakan pustaka terbuka sedangkan Oracle cenderung menggunakan pustaka tertutup; misalnya, perpustakaan font.