Bu soruyu Özcan Hoca'dan alıntı bir cevap ile vermek çok keyifli Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Her platformda calisir; sunucu mimarisinden bagimsizdir.
Otomatik hafiza yöntemine sahiptir.
Otomatik exception handling mekanizmasina sahiptir.
Statik veri tipleri kullanilir. Bu kodun Compiler tarafindan optimize edilmesini kolaylastirir, Compile islemi esnasinda hatalarin ortaya cikmasini saglar, IDE bünyesinde auto completion yapilmasini mümkün kilar.
Hangi platform olursa olsun bir int 32 bit uzunluktadir, ön isareti (+ ya da -) vardir. Diger veri tipleri de standart degerlere sahiptir.
C'de oldugu gibi makro yazilmasina ve dis header dosyalarnin kullanilmasina izin vermez. Bu programcinin hatayini kolaylastirir.
Javadoc, Interface ve implementasyon sinifi kullanarak gerekli tüm tanimlamalari kod icinde ifade etmek mümkündür.
Birden fazla sinifin bir alt sinif tarafindan ayni zamanda extend edilmesine izin vermez. C++ bu mümkündür, ama kalitimda icinden cikilmaz sorunlar olusmasina neden olabilir.
Operatörlerin yüklenmesine (overloading) izin vermez. Örneğin Java’da a+b işleminde + operatörünün ne yaptığı bilinir. C++’da durum farklıdır.
Segmentation Fault ya da Buffer overlow gibi hatalarin olusmasina izin vermez. C/C++ dillerinde bu sorunlar programcinin günlük hayatinin bir parcasidir.
Dynamic linking ile kodu degistirmek ya da yeniden derlemek zorunda kalmadan implementasyon siniflari degistirilebilir. Örnegin C/C++ dillerinde bu mümkün degildir. Bu diller static linking mekanizmasi ile derlenir. En ufak bir degisiklik tüm siniflarin yeniden derlenmesini mecburi kilabilir.
C/C++ dil ailesinden oldugu icin kültür soku gecirmeden Java ögrenmek kolaydir.
Nesneye yönelik programlamayi destekler.
Multithreaded uygualmalar gelistirilmesini mümkün kilar.
Ögrenilmesi cok kolaydir.
Cok büyük bir ekosisteme sahiptir. Acik kaynakli projelerin büyük bir kismi Java tabanlidir.
Javacilar acik kaynakli proje gelistirme kültürüyle yetistikleri icin paylasimcidirlar.
Dünya Java Şampiyonu : EOF (End Of Fun) Özcan Acar