składniowe podobieństwo do C/C++ automatyczne odśmiecanie (ang. Garbage collector) brak arytmetyki wskaźnikowej, zamiast wskaźników referencje ścisła kontrola typów obsługa wyjątków
wbudowane elementy współbieżności
(tworzenie i synchronizacja wątków)
obiektowość
brak przeciążania operatorów
przenośność “Write Once, Run Anywhere” (złośliwi
mówią “Write Once, Debug Everywhere”)