Bahasa Java dapat dikategorikan sebagai sebuah bahasa
pemrograman berorientasi objek, pemrograman terdistribusi dan
bahasa pemrograman
multithrreaded. Objek Java
dispesifikasi dengan membentuk kelas. Untuk masing-masing kelas
Java, kompiler Java memproduksi sebuah file keluaran arsitektur
netral yang akan jalan pada berbagai implementasi dari
Java Virtual Machine (JVM).
Awalnya Java sangat digemari oleh komunitas pemrograman internet,
karena Java mendukung untuk
applets, dimana program dengan
akses sumber daya terbatas yang jalan dalam sebuah
web browser. Java juga menyediakan
dukungan level tinggi untuk
networking dan objek
terdistribusi.
Java juga dianggap sebagai sebuah bahasa yang aman.
Tampilan ini pada khususnya penting menganggap bahwa sebuah
program Java boleh mengeksekusi silang sebuah jaringan
terdistribusi.