J2SE była przeznaczona przede wszystkim dla komputerów osobistych i stacji roboczych, J2EE dla zastosowań korporacyjnych, a J2ME dla urządzeń o ograniczonych zasobach. W 2005 roku nazwę J2ME zmieniono na Java ME, natomiast wraz z wersjami platform wydanymi na początku 2006 roku nazwy J2SE i J2EE zastąpiono odpowiednio przez Java SE i Java EE.
W 2006 roku Sun rozpoczął udostępnianie implementacji JDK jako otwartego oprogramowania, a w 2007 roku opublikowano większość kodu projektu OpenJDK na licencji GPLv2 z wyjątkiem Classpath.
W styczniu 2010 roku Oracle Corporation zakończył przejęcie Sun Microsystems i stał się zarządcą należących do tej firmy technologii Java.
Od 2018 roku kolejne główne wydania JDK ukazują się w regularnym, półrocznym cyklu.
Charakterystyka języka
Java jest językiem opartym na klasach i statycznym typowaniu. Specyfikacja języka określa go również jako język silnie typowany, co oznacza, że każda zmienna i każde wyrażenie mają określony typ, a wiele niezgodności typów jest wykrywanych podczas kompilacji.
Model obiektowy i system typów
Java rozróżnia osiem typów prostych: boolean, byte, short, int, long, char, float i double, oraz typy referencyjne, do których należą klasy, interfejsy i tablice.