Java (programlama dili)

Java, Sun Microsystems tarafından oluşturulan bir programlama dilinin adıdır. Bu şirket, onu güncel tutmaya devam eden Oracle Corporation tarafından satın alınmıştır. En son sürüm, Mart 2020'de piyasaya sürülen Java 14'tür. Buna ek olarak, desteklenen tek sürüm, 25 Eylül 2018'de yayınlanan en son Uzun Süreli Destek (LTS) sürümü Java 11'dir; ve Oracle, "eski" Java 8 LTS için son ücretsiz "genel güncellemeyi" yayınladı. Bir sonraki planlanan LTS sürümü, Eylül 2021 için planlanan Java 17 (LTS)'dir.

Henüz geliştirilme aşamasındayken Oak olarak adlandırılan Java, nesne yönelimlidir, yani programların işlerini yapmaları için birlikte çalışan nesnelere dayanır. Java kodu C, C++ veya C# gibi görünür, ancak bu dillerde yazılmış kodlar çoğu durumda değiştirilmeden Java'da çalışmaz.

Java, dünyanın en popüler mobil işletim sistemi olan Android de dahil olmak üzere birçok farklı işletim sisteminde çalışır (Java, Android'de kullanılmaya devam ederken, üreticisi Google tarafından bile artık Java'yı tercih etmiyorlar; şimdi tercih ettikleri dil Kotlin, tüm Java kodlarıyla da kullanılabiliyor). Bu da Java'yı platform bağımsız hale getirmektedir. Bunu, Java derleyicisinin kodu makine kodu yerine Java bytecode'una dönüştürmesini sağlayarak yapar. Bu, program çalıştırıldığında Java Sanal Makinesinin bayt kodunu yorumladığı ve makine koduna çevirdiği anlamına gelir.

Java kavramları

Java beş ana hedefe ulaşmak için geliştirilmiştir. Bunlar

  • Java öğrenmesi kolay, nesne yönelimli ve dağıtık olmalıdır.
  • Java güvenli ve güçlü olmalıdır.
  • Java herhangi bir bilgisayar mimarisine veya platforma bağlı olmamalıdır.
  • Java iyi çalışmalıdır.
  • Java, kendisi için yazılmış bir yorumlayıcıya sahip olabilmeli, paralelliği desteklemeli ve dinamik tipleme kullanabilmelidir.

 

Java platformu

Java platformu, Sun Microsystems'in bir grup yazılım ürününü ifade eder. Platform, Java programlarını geliştirmek ve çalıştırmak için kullanılır. Platform, Java programlarının farklı bilgisayar sistemlerinde aynı şeyi yapmasını sağlayan yürütme motorunu (Java Sanal Makinesi olarak adlandırılır) içerir.

Bir platformda yazılım geliştirebilme ve bunu diğer platformlarda çalıştırabilme kabiliyetine "çapraz platform kabiliyeti" denir.

Java program örneği

Örnek bir "Merhaba Dünya" Java programı:

/** * Bu Java'da yazılmış basit bir programdır.   * Ekranda "Merhaba Dünya!" yazısını gösterir.   */ class HelloWorld { public static void main(String[] args) { System. out. println("Hello World!"); } }

Java programlarının türleri

Farklı şekilde çalışan birçok Java programı türü vardır:

  • Java Applet - Java ile yazılmış ve bir web sitesinden indirilerek istemci bilgisayardaki bir web tarayıcısında çalıştırılan küçük program.
  • Uygulama - bir istemci bilgisayarda yürütülür. Çevrimiçi ise, çalıştırılmadan önce indirilmesi gerekir.
  • JAR dosyası (Java arşivi) - Java dosyalarını tek bir dosyada bir araya getirmek için kullanılır (.zip dosyası gibi).
  • Servlet - bir web sunucusunda çalışır ve web sayfalarının oluşturulmasına yardımcı olur.
  • Swing uygulaması - GUI'ye (pencereler, düğmeler, menüler, vb.) sahip bir uygulama oluşturmak için kullanılır.
  • EJB - bir web sunucusu üzerinde çalışır ve büyük, karmaşık web siteleri geliştirmek için kullanılır.

Avantajlar

Java genellikle öğrencilere ilk dil olarak programlamayı öğretmek için kullanılır, ancak hala profesyoneller tarafından da kullanılmaktadır.

  • Java, her değişkenin başlatılmasını gerektirir. C gibi bazı eski diller, değişkenlerin başlatılmamasına izin verir ve bu da gizemli hatalarla rastgele arızalara neden olabilir.
  • Java, her yöntemin bir dönüş türü bildirmesini gerektirir; dönüş türünün void olması dışında, yöntem her zaman bir değer döndürmelidir. Bu aynı zamanda hataları da önler.
  • Java, "sıfırdan" çok fazla kod geliştirmek zorunda kalmadan kullanılabilecek geniş bir sınıf ve yöntem seti olan Java API ile birlikte gelir.
  • C'den farklı olarak, int gibi Java ilkel türleri bit sayısı olarak her zaman aynı boyuttadır ve bu da platformlar arası uyumluluğun sağlanmasına yardımcı olur.
  • Java'nın eskiden C'den daha yavaş olduğu düşünülürdü, ancak son yıllarda bilgisayarlar daha hızlı olduğu için bu daha az önemli hale geldi.
  • Java, programcının Giriş/Çıkış hataları gibi hata durumlarını ele almasını gerektiren istisna işleme özelliğine sahiptir.
  • Bir Java platformunda derlenen kod, kaynak kodunda veya bayt kodunda değişiklik yapılmadan Java'yı destekleyen diğer platformlarda çalıştırılabilir. Bu, bir kişinin Windows bilgisayar için bir Java programı hazırlayabileceği ve bu programı Linux bilgisayarda veya Mac bilgisayarda çalıştırabileceği anlamına gelir.

Eleştiri

Java da eleştirilmiştir. Eleştirilerden bazıları şunlardır:

  • Java'ya jenerikler, mevcut kodun çalışmaya devam etmesini sağlayacak şekilde eklenmiştir. Bu, tip silme kullanılarak yapıldı. Bu, derleme sırasında bir jenerik argümanın gerçek türünün kaldırıldığı anlamına gelir. Bu, Java yorumlayıcısının zaman zaman beklenmedik şekillerde davranmasına yol açabilir.
  • Java, C gibi dillerin yoğun olarak kullandığı işaretsiz tamsayı türlerine sahip değildir. Bu aynı zamanda C ve Java programları arasında doğrudan sayısal veri alışverişi yapmanın imkansız olduğu anlamına gelir. Kriptografi de bir dereceye kadar bu türlere dayanır; bu, Java'da kriptografi kullanan uygulamalar yazmayı daha zor hale getirir.
  • IEEE, kayan noktalı aritmetik için bir standart tanımlamıştır, IEE 754. Java bu standardın özelliklerinin sadece bir kısmını desteklemektedir.

Sorular ve Yanıtlar

S: Sun Microsystems tarafından oluşturulan programlama dilinin adı nedir?


C: Sun Microsystems tarafından oluşturulan programlama dilinin adı Java'dır.

S: Java'yı şu anda kim destekliyor ve güncel tutuyor?


C: Oracle Corporation şu anda Java'yı desteklemekte ve güncel tutmaktadır.

S: Java'nın mevcut uzun vadeli destek (LTS) sürümleri nelerdir?


C: Java'nın mevcut uzun vadeli destek (LTS) sürümleri sürüm 17, 11 ve 8'dir.

S: Java'nın en son sürümü ne zaman yayınlandı?


C: Java'nın en son sürümü olan sürüm 19, Eylül 2022'de yayımlanmıştır.

S: Oracle dışında Java'yı destekleyen başka bir şirket var mı?


C: Evet, Eclipse Adoptium da Java'yı sürüm 8 için en az Mayıs 2026'ya ve sürüm 17 için en az Eylül 2027'ye kadar desteklemektedir.

S: Java ne tür bir kod kullanır?


C: Java nesne yönelimli kod kullanır, yani programların işlerini yapmalarını sağlamak için birlikte çalışan nesnelere dayanır. C, C++ veya C#'a benzer ancak bu dillerde yazılmış kodlar çoğu durumda değiştirilmeden çalışmayacaktır.

S: Java kendisini platformdan nasıl bağımsız hale getirir?


C: Java, derleyicinin kodu makine kodu yerine bytecode adı verilen özel bir biçime dönüştürmesini sağlayarak kendini platformdan bağımsız hale getirir. Bu, program çalıştırıldığında bytecode'un sanal makine adı verilen özel bir program tarafından yorumlanarak makine koduna çevrilebileceği ve böylece Android gibi farklı işletim sistemlerinde çalışabileceği anlamına gelir.

AlegsaOnline.com - 2020 / 2023 - License CC3