logo

Java 8 ve Java 11

Java 11, 25 Eylül 2018'de piyasada halka arz edildi. Java SE platformu sürüm 11'in açık kaynaklı bir referans uygulamasıdır. Java 11, Java 8'in piyasaya sürülmesinden dört yıl sonra piyasaya sürüldü.

Java 11, daha fazla işlevsellik sağlamak için yeni özelliklerle birlikte gelir. Bu iki versiyon arasında geçen dört buçuk yılda eklenen özellikleri aşağıda bulabilirsiniz.

Java 8 ve Java 11

Modülerlik

Modülerlik özelliği Java 8'de mevcut değildir. Java 9'a eklenen en büyük değişikliklerden biridir. Modülerliği kullanarak programlarımızı veya uygulamalarımızı farklı modüllere ayırabiliriz. Modülerlik, uygulamamızı kolayca test etmemize ve ayrıca kodumuzun hangi bölümlerinin halka açık olduğuna erişimi yönetmemize olanak tanır. Kodumuzu, dosyayı derlemeden, adı olmayan modülün içine yerleştirerek derleyebiliriz. Java 8 derleme koduyla aynı şekilde davranır.

--serbest bırakma bayrağı

Bu çok basit bir kombinasyondur -hedef Ve -kaynak bu bize izin veriyor -önyükleme sınıfı yolu eski sürümde derlemek için. -yayın 8 Java 8 düzeyinde derlememiz gereken bir örnektir.

Çok kavanozlu sürümler

Java 11'e eklenen özelliklerden biridir. Çoklu kavanoz Java 8 istemcileri için destek ve işlevselliği korurken, kodu Java 11'in en son özellikleriyle korumanın bir yolunu sağlar.

Var anahtar kelimesi

Java 10'da, var anahtar kelime Java 11'de geliştirilen, kullanıma sunuldu. Var anahtar sözcüğü, standart kodlamayı azaltmamıza yardımcı olan, geliştirici dostu bir anahtar kelimedir. Bulaşma türü yalnızca yerel değişkenleri etkileyerek aynı metnin tekrar tekrar tekrarlanmasını engeller.

Sürüm Dizesi Şeması

Sürüm dizelerinin nasıl biçimlendirilmesi gerektiğini tanımlayan, Java 8 ile Java 11 arasındaki başka bir değişikliktir. Sürümler için yeni bir şema tanıtıldı. Şema şuna benzer:

 .. 

Kullanımdan kaldırmalar temelinde Java'nın her iki sürümü arasındaki farkı anlayalım. Bunlar Java 8 ile Java 11 arasında yapılan aşağıdaki kullanımdan kaldırma işlemleridir.

  1. Java 11'de, Java tarayıcı eklentileri desteği kaldırılmıştır ve bu nedenle Applet API'si kullanımdan kaldırılmıştır.
    Not: yalnızca amortismana tabi tutulmuştur, henüz kaldırılmamıştır.
  2. CMS, yani Eşzamanlı İşaretleme Süpürme Çöp Toplayıcı, amortismana tabi tutulmuştur ve artık desteklenmemektedir. Kaldırılmasının nedeni GCC tabanının bakım yükünü azaltmaktır.
  3. ECMAScript API'sinde yapılan hızlı değişikliklerle birlikte Nashorn JavaScript motorunun bakım yoğunluğundan dolayı kaldırılmıştır.
  4. Java 9'da sıkıştırma şeması iyileştirildi ve bu iyileştirme sonrasında Pack200 araçları ve API'leri kaldırıldı.
  5. Java EE modülü, Java EE platformu spesifikasyonuyla çakışması nedeniyle kaldırıldı.
  6. CORBA modülü Java SE'den bağımsız olarak geliştiği için kaldırılmıştır.

Java 8 ile Java 11 arasındaki fark

Java 8 ile Java 11 arasındaki aşağıdaki farklar şunlardır:

Bay Hayır. Java 8 Java 11
1. Appletviewer aracı Java 8'de mevcuttur. Appletviewer aracı Java 11'de mevcut değildir.
2. Java 8'de AWTUtilities sınıfı bulunmaktadır ve buna bağlı olarak her türlü programı bozabileceği için kullanmanızı önermedik. Java 11'de AWTUtilities sınıfı mevcut değildir.
3. Daha az dize yöntemi vardır. isBlank(),lines(),repeat(n), stripLeading(), stripTrailing() ve strip() gibi birkaç yeni String yöntemi tanıtılmıştır.
4. Lambda parametreleri için özel değişkenler kullanılmaz. Java 11, lambda ifadelerinde kullanılacak var değişkenlerini kullanmamıza olanak tanır.
5. Java Dağıtım Teknolojileri Java 8'de mevcuttur. Java Dağıtım Teknolojileri Java 11'de kaldırılmıştır.
6. JMC ve JavaFX, Oracle JDK'da mevcuttur. JMC ve JavaFX, Java 11'deki Oracle JDK'dan kaldırılmıştır.
7. Dosyayla çalışmak için uygun bir yöntem yok. Java 11'de, dosya üzerinde çeşitli işlemler yapmamıza yardımcı olan writeString(), readString() ve isSameFile() gibi çeşitli yöntemler vardır.
8. Desen tanıma mümkün değildir. Desen tanıma, asMatchPredicate() yönteminin yardımıyla mümkündür.