C++ JAVA Di desain untuk pemograman infrastuktur Di desain untuk pemograman berorientasi objek Pada C++ pemrograman melakukan sendiri Pada Java, manajemen memori alokasi dan dealokasi memori dinamis dan pointer dilakukan secara otomatis C++ adalah bahasa OOP hybrid Java adalah bahasa OOP murni Dijalankan dengan fasilitas sistem Dijalankan dengan mesin virtual keamanan yang rendah yang aman (terlindungi) Mendukung aritmatik yang tak terdaftar Tidak mendukung aritmatik yang tak terdaftar Tidak ada batasan standard atau ukuran Diberlakukan pembatasan stardard untuk semua jenis tipe data numerik. Hanya dan ukuran untuk semua jenis data diberikan ukuran relatif
Parameter yang digunakan dapat dengan Parameter yang digunakan selalu
value, pointer atau reference dengan value, walaupun objek diakses melalui references akan diubah ke value terlebih dulu, tidak langsung dari objek tersebut Pengaturan memory melalui pihak ketiga Pengumpulan sampah secara yang menyediakan pengumpulan sampah otomatis, walaupun demikikan (garbage collection) secara manual dapat diatur oleh programmer Standard Library C++ mempunyai lebih Standard Library Java berkembang banyak pengaturan dan fungsi dari standard sesuai masing-masing release/versi library pada Java Pewarisan majemuk Pewarisan tunggal, bila dibutuhkan pewarisan majemuk hanya dapat melalui interface.