Birincil amacı Java programlama Dil oluşturmanın amacı onu taşınabilir, basit ve güvenli bir programlama dili haline getirmekti. Bunun dışında bu dilin popülaritesinde önemli rol oynayan bazı mükemmel özellikler de vardır. Java'nın özellikleri aynı zamanda Java'nın moda sözcükleri olarak da bilinir.
Aşağıda Java dilinin en önemli özelliklerinin bir listesi verilmiştir.
- Basit
- Nesne odaklı
- Taşınabilir
- Platform bağımsız
- Güvenli
- güçlü
- Mimari nötr
- Yorumlandı
- Yüksek performans
- Çok iş parçacıklı
- Dağıtılmış
- Dinamik
Basit
Java'nın öğrenilmesi çok kolaydır ve sözdizimi basit, temiz ve anlaşılması kolaydır. Sun Microsystem'e göre Java dili basit bir programlama dilidir çünkü:
- Java sözdizimi C++ tabanlıdır (programcıların bunu C++'dan sonra öğrenmesi çok daha kolaydır).
- Java, açık işaretçiler, operatörün aşırı yüklenmesi vb. gibi pek çok karmaşık ve nadiren kullanılan özelliği kaldırmıştır.
- Java'da Otomatik Çöp Toplama özelliği olduğundan referans verilmeyen nesnelerin kaldırılmasına gerek yoktur.
Nesne odaklı
Java bir nesne odaklı Programlama dili. Java'da her şey bir nesnedir. Nesne yönelimli, yazılımımızı hem verileri hem de davranışı birleştiren farklı türdeki nesnelerin bir kombinasyonu olarak organize ettiğimiz anlamına gelir.
Nesne yönelimli programlama (OOP), bazı kurallar sağlayarak yazılım geliştirmeyi ve bakımını kolaylaştıran bir metodolojidir.
OOP'lerin temel kavramları şunlardır:
- Nesne
- Sınıf
- Miras
- Polimorfizm
- Soyutlama
- Kapsülleme
Platform bağımsız
Java platformdan bağımsızdır çünkü diğer dillerden farklıdır. C , C++ vb. platforma özgü makinelerde derlenirken Java bir kez yazılan, her yerde çalıştırılan bir dildir. Platform, bir programın çalıştığı donanım veya yazılım ortamıdır.
Yazılım tabanlı ve donanım tabanlı olmak üzere iki tür platform vardır. Java, yazılım tabanlı bir platform sağlar.
Java platformu, diğer donanım tabanlı platformların üzerinde çalışan yazılım tabanlı bir platform olması açısından diğer birçok platformdan farklıdır. İki bileşeni vardır:
- Çalışma Zamanı Ortamı
- API (Uygulama Programlama Arayüzü)
Java kodu, Windows, Linux, Sun Solaris, Mac/OS vb. gibi birden fazla platformda çalıştırılabilir. Java kodu, derleyici tarafından derlenir ve bayt koduna dönüştürülür. Bu bayt kodu platformdan bağımsız bir koddur çünkü birden fazla platformda (Bir Kez Yaz ve Her Yerde Çalıştır (WORA) gibi) çalıştırılabilir.
Güvenli
Java en çok güvenliğiyle tanınır. Java ile virüssüz sistemler geliştirebiliriz. Java şu nedenlerle güvenlidir:
Java dili bu güvenlikleri varsayılan olarak sağlar. Bir miktar güvenlik, bir uygulama geliştiricisi tarafından açıkça SSL, JAAS, Şifreleme vb. aracılığıyla da sağlanabilir.
güçlü
Robust'un İngiliz madenciliği güçlüdür. Java sağlamdır çünkü:
- Güçlü hafıza yönetimi kullanır.
- Güvenlik sorunlarını önleyen işaretçilerin eksikliği var.
- Java, artık bir Java uygulaması tarafından kullanılmayan nesnelerden kurtulmak için Java Sanal Makinesi üzerinde çalışan otomatik çöp toplama olanağı sağlar.
- Java'da istisna yönetimi ve tür kontrol mekanizması vardır. Tüm bu noktalar Java'yı sağlam kılar.
Mimariden bağımsız
Java mimari açısından tarafsızdır çünkü uygulamaya bağlı özellikler yoktur, örneğin ilkel türlerin boyutu sabittir.
C programlamada int veri türü, 32 bit mimari için 2 bayt, 64 bit mimari için 4 bayt bellek kaplar. Ancak Java'da hem 32 hem de 64 bit mimariler için 4 byte bellek kaplar.
Taşınabilir
Java taşınabilirdir çünkü Java bayt kodunu herhangi bir platforma taşımanızı kolaylaştırır. Herhangi bir uygulama gerektirmez.
Yüksek performans
Java, diğer geleneksel yorumlanmış programlama dillerinden daha hızlıdır çünkü Java bayt kodu yerel koda 'yakındır'. Hala derlenmiş bir dilden (örneğin C++) biraz daha yavaştır. Java yorumlanmış bir dildir, bu nedenle derlenmiş dillerden (örneğin C, C++ vb.) daha yavaştır.
Dağıtılmış
Java, kullanıcıların Java'da dağıtılmış uygulamalar oluşturmasını kolaylaştırdığı için dağıtılır. RMI ve EJB, dağıtılmış uygulamalar oluşturmak için kullanılır. Java'nın bu özelliği, internetteki herhangi bir makineden yöntemleri çağırarak dosyalara erişmemizi sağlar.
Çok iş parçacıklı
Bir iş parçacığı aynı anda yürütülen ayrı bir program gibidir. Birden fazla iş parçacığı tanımlayarak aynı anda birçok görevi gerçekleştiren Java programları yazabiliriz. Çoklu iş parçacığının temel avantajı, her iş parçacığı için bellekte yer kaplamamasıdır. Ortak bir hafıza alanını paylaşıyor. Konular multimedya, Web uygulamaları vb. için önemlidir.
Dinamik
Java dinamik bir dildir. Sınıfların dinamik yüklenmesini destekler. Bu, sınıfların isteğe bağlı olarak yüklendiği anlamına gelir. Ayrıca kendi ana dillerindeki (C ve C++) işlevleri de destekler.
Java, dinamik derlemeyi ve otomatik bellek yönetimini (çöp toplama) destekler.