- Mesajlar
- 2,410
- En iyi cevaplar
- 98
- Beğeniler
- 2,463
- Puanları
- 10,250
- Ruh hali
Java 17 ne zaman çıkacak? Java 16 özellikleri ne olacak? Java 11 ve Java 15 artıları nedir?
Başlıkta Java 17, Java 16, Java 15, Java 11 görünce şaşırdı iseniz nedeni muhtemelen bu sürümlerin varlığından haberdar olmamanız. Bunun nedeni ise java.com üzerinde sadece Java 8 sunulması.
Bunun nedeni ise java.com'un end-user yani son kullanıcı sitesi olup sadece stabil (LTS) ve çoğu uygulamayı çalıştırabilen sürümleri yayınlıyor olması.
Peki java.com sitesi neden Java 11'de Java 8 gibi LTS olduğu halde Java 11'e geçmedi?
Çünkü Java 9 ve üst sürümler birçok uygulamayı bozabilecek değişiklikler ve lisans değişiklikleri içeriyor. (bu lisans değişikliği Java 8'in son sürümlerini de etkiliyor aslında)
Bu lisans değişikliğine göre Oracle'nin java.com veya oracle.com da sağladığı JRE/JDK sürümleri artık tamamen ücretsiz değil. Bunun yerine artık bu sürümler sadece geliştirme veya kişisel kullanım için ücretsiz.
Tabii ki bunu algılamak için bir yol yok, yine eskisi gibi sunucu makinenize yükleyip kullanabilirsiniz; sizden satın almanızı veya bir şey aktive etmenizi istemez.
Peki alternatif ne?
OpenJDK. Oracle'de kendi OracleJDK tabanlı JRE/JDK dağıtımlarını OpenJDK üzerinden yapmakta, sadece ekstra commercial (ticari) destek ve "Oracle" brandingi (markası) ekleniyor üstüne. Java 11'den eski sürümlerde Oracle JDK'nın başka Java Flight Recorder gibi avantajları olabilmekteydi fakat yeni sürümler ile aradaki fark git gide azaldı.
Java 11 veya Java 15 gibi sürümlerin Java 8'e göre artıları nedir?
Performans, hata düzeltmeleri, daha iyi varsayılanlar, yeni özellikler, diğer iyileştirmeler ve daha fazlası. Nasıl işletim sisteminizi (kernel dahil); sunucu yazılımınızı; eklentilerinizi güncel tutmanız gerekiyor ise; Java sürümünüzü de güncel tutmanız, fayda sağlayacaktır.
Fakat endişelenmeyin, Java 8'de en azından kişisel kullanım veya geliştirme amaçlı kullanım için en az Mart 2022/Mayıs 2026/Aralık 2030'a kadar kritik düzeltmeleri ileri sürümlerden backportlayan (aktaran) güncellemeler ile güncellenmeye devam edecek.
Mart 2022: "Birinci sınıf destek" bitişi, Mayıs 2026: AdoptOpenJDK ve Amazon Coretto bitişi, Aralık 2030: "Genişletilmiş destek" bitişi
Bu tarihlere kadar muhtemelen herkes Java 11'e veya Java 17'ye geçmiş olur diye düşünüyorum Paper'ın da yaptığı adım ile.
Başlıkta Java 17, Java 16, Java 15, Java 11 görünce şaşırdı iseniz nedeni muhtemelen bu sürümlerin varlığından haberdar olmamanız. Bunun nedeni ise java.com üzerinde sadece Java 8 sunulması.
Bunun nedeni ise java.com'un end-user yani son kullanıcı sitesi olup sadece stabil (LTS) ve çoğu uygulamayı çalıştırabilen sürümleri yayınlıyor olması.
Peki java.com sitesi neden Java 11'de Java 8 gibi LTS olduğu halde Java 11'e geçmedi?
Çünkü Java 9 ve üst sürümler birçok uygulamayı bozabilecek değişiklikler ve lisans değişiklikleri içeriyor. (bu lisans değişikliği Java 8'in son sürümlerini de etkiliyor aslında)
Bu lisans değişikliğine göre Oracle'nin java.com veya oracle.com da sağladığı JRE/JDK sürümleri artık tamamen ücretsiz değil. Bunun yerine artık bu sürümler sadece geliştirme veya kişisel kullanım için ücretsiz.
Tabii ki bunu algılamak için bir yol yok, yine eskisi gibi sunucu makinenize yükleyip kullanabilirsiniz; sizden satın almanızı veya bir şey aktive etmenizi istemez.
Peki alternatif ne?
OpenJDK. Oracle'de kendi OracleJDK tabanlı JRE/JDK dağıtımlarını OpenJDK üzerinden yapmakta, sadece ekstra commercial (ticari) destek ve "Oracle" brandingi (markası) ekleniyor üstüne. Java 11'den eski sürümlerde Oracle JDK'nın başka Java Flight Recorder gibi avantajları olabilmekteydi fakat yeni sürümler ile aradaki fark git gide azaldı.
Java 11 veya Java 15 gibi sürümlerin Java 8'e göre artıları nedir?
Performans, hata düzeltmeleri, daha iyi varsayılanlar, yeni özellikler, diğer iyileştirmeler ve daha fazlası. Nasıl işletim sisteminizi (kernel dahil); sunucu yazılımınızı; eklentilerinizi güncel tutmanız gerekiyor ise; Java sürümünüzü de güncel tutmanız, fayda sağlayacaktır.
Fakat endişelenmeyin, Java 8'de en azından kişisel kullanım veya geliştirme amaçlı kullanım için en az Mart 2022/Mayıs 2026/Aralık 2030'a kadar kritik düzeltmeleri ileri sürümlerden backportlayan (aktaran) güncellemeler ile güncellenmeye devam edecek.
Mart 2022: "Birinci sınıf destek" bitişi, Mayıs 2026: AdoptOpenJDK ve Amazon Coretto bitişi, Aralık 2030: "Genişletilmiş destek" bitişi
Bu tarihlere kadar muhtemelen herkes Java 11'e veya Java 17'ye geçmiş olur diye düşünüyorum Paper'ın da yaptığı adım ile.
Java 8 bilinen güncelleme tarihleri & Java 16 ve Java 17 ne zaman yayınlanacak?
(Bu konuyu 18.01.2021 tarihinde açıyorum; değerler ona göre güncellikte. Bu tarih Java 8u282 den bir gün öncesi, yani yarın Java 8 kullanıyorsanız Java sürümünüzü güncellemeyi unutmayın.)
19 Ocak 2021: Java 8u282
20 Nisan 2021: Java 8u292
16 Mart 2021: Java 16
16/17 Eylül 2021: Java 17 LTS (Kesin değil)
Kaynaklar:
Java 17 tarihi, 6 aylık güncelleme planı baz alınarak Java 16 GA tarihine 6 ay eklenilerek edinildi. Java 15 -> Java 16 tarihleri karşılaştırıldığında arada 6 ay 1 gün var, yani tam 6 ay olmayabiliyor. Bu nedenle 16/17 eylül yazıldı.
Java 17, Java 11'den bir sonraki LTS (Long Term Support) sürümü, LTS sürümleri yeni sürümlerden backport (aktarma) düzeltmeler alıp sürekli güncel tutuluyor. LTS sürümleri ve son sürüm dışında bir sürüm (örn. Java 9) kullanmanızı önermem.
Java 17'nin yaklaşmasıyla birlikte de popüler sunucu yazılımı Paper, Minecraft 1.17 ile birlikte Java 11'i zorunlu yapacak. Eğer Java 8 veya daha alt bir sürüm kullanıyorsanız Minecraft 1.16.4/1.16.5 Paper sürümlerinde artık konsola yazdırılan Java 11'e geçmenizi söyleyen büyük bir uyarı var.
Java sürümleri ne kadar arayla yayınlanıyor?
Yukarıdaki ufak notumda da belirttiğim gibi, yeni Java sürümleri 6 ayda bir yayınlanıyor. Yeni dememin amacı Java 16, 17, 18 gibi sürümler. Java 8 güncellemeleri ise genellikle 3 ayda bir yayınlanmakta.
Genellikle planlanan tarihte 1 gün gecikme olabiliyor, ek olarak tam yayınlanacakları saat dakika belli değil; timezone (zaman dilimi) farkları, vesaire olabilir. Bu nedenle bir plan, alarm vesaire ayarlayacaksanız 1-2 gün sonrasına yapmanız tavsiyem.
Java sürümlerinin işletim sistemi gereksinimleri nedir?
Şu anda çoğu sürüm aynı gereksinimlere sahip, Java 8'den 15'e bir değişiklik mevcut değil. Windows 7 dışında hepsi resmi gereksinimler, Windows 7 konusunda emin değilim. Son sürümler desteklemiyorsa da eski Java 8 sürümleri destekliyordur muhtemelen.
Bunlar tabii ki minimum değerler, son sürüm işletim sistemi kullanmanızda fayda var.
Java 8/11/15: Windows: Server 2012 R2/Windows 7 SP1 (resmi değil - EOL), macOS: 10.10, Linux: glibc 2.12/2.17, Solaris: 10.11, AIX: 7.1 TL4
En güncel Java sürümlerini nereden indirebilirim?
Java 8 kullanıyor iseniz, kişisel veya geliştirme amaçlı kullanım için hesap gerektirmeksizin java.com'dan indirebilirsiniz. (JRE, sadece Java 8)
Eğer JDK veya Java 8 üstü fakat son Java sürümü olmayan bir sürüm indirmek istiyorsanız ve bunu OpenJDK'ya geçmeden yapmak istiyorsanız Oracle hesabı açmanız gerekiyor. Açtıktan sonra aşağıdaki adresten indirebilirsiniz:
Son Java sürümü olmayan bir sürümden kasıt, örneğin şu anda bu konu açılırken son Java sürümü Java 15, bu nedenle Java 15'i yukarıdaki adresten hesap açmadan indirebiliyorsunuz, diğerleri (Java 8 ve 11 yani LTS'ler dahil) hesap gerektiriyor.
Tüm kullanım amaçları için ücretsiz ve açık kaynak kodlu olan ve hesap gerektirmeyen, JDK/JRE olarak indirebileceğiniz ve her sürümü içeren dosyaları ise aşağıdan indirebilirsiniz:
Konu açılış tarihi itibari ile son Java sürümleri
Java 5: 5u85, Java 6: 6u211, Java 7: 7u241
Java 8 (LTS): 8u271
(1-2 gün içerisinde 281 yayınlanacak)
Java 9: 9.0.4, Java 10: 10.0.2
Java 11 (LTS): 11.0.9
Java 12: 12.0.2, Java 13: 13.0.2, Java 14: 14.0.2
Java 15 (şu an ki son sürüm): 15.0.1
Bir sonraki LTS: Java 17
Konu sonu
Bu konunun da sonuna geldik. Sonraki konularda görüşmek üzere!
Son olarak "En iyi Java sürümü hangisi?" sorulu konu anketine oy vermeyi unutmayın
(Bu konuyu 18.01.2021 tarihinde açıyorum; değerler ona göre güncellikte. Bu tarih Java 8u282 den bir gün öncesi, yani yarın Java 8 kullanıyorsanız Java sürümünüzü güncellemeyi unutmayın.)
19 Ocak 2021: Java 8u282
20 Nisan 2021: Java 8u292
16 Mart 2021: Java 16
16/17 Eylül 2021: Java 17 LTS (Kesin değil)
Kaynaklar:
Main - Main - OpenJDK Wiki
wiki.openjdk.java.net
JDK 16
openjdk.java.net
Java 17 tarihi, 6 aylık güncelleme planı baz alınarak Java 16 GA tarihine 6 ay eklenilerek edinildi. Java 15 -> Java 16 tarihleri karşılaştırıldığında arada 6 ay 1 gün var, yani tam 6 ay olmayabiliyor. Bu nedenle 16/17 eylül yazıldı.
Java 17, Java 11'den bir sonraki LTS (Long Term Support) sürümü, LTS sürümleri yeni sürümlerden backport (aktarma) düzeltmeler alıp sürekli güncel tutuluyor. LTS sürümleri ve son sürüm dışında bir sürüm (örn. Java 9) kullanmanızı önermem.
Java 17'nin yaklaşmasıyla birlikte de popüler sunucu yazılımı Paper, Minecraft 1.17 ile birlikte Java 11'i zorunlu yapacak. Eğer Java 8 veya daha alt bir sürüm kullanıyorsanız Minecraft 1.16.4/1.16.5 Paper sürümlerinde artık konsola yazdırılan Java 11'e geçmenizi söyleyen büyük bir uyarı var.
Java sürümleri ne kadar arayla yayınlanıyor?
Yukarıdaki ufak notumda da belirttiğim gibi, yeni Java sürümleri 6 ayda bir yayınlanıyor. Yeni dememin amacı Java 16, 17, 18 gibi sürümler. Java 8 güncellemeleri ise genellikle 3 ayda bir yayınlanmakta.
Genellikle planlanan tarihte 1 gün gecikme olabiliyor, ek olarak tam yayınlanacakları saat dakika belli değil; timezone (zaman dilimi) farkları, vesaire olabilir. Bu nedenle bir plan, alarm vesaire ayarlayacaksanız 1-2 gün sonrasına yapmanız tavsiyem.
Java sürümlerinin işletim sistemi gereksinimleri nedir?
Şu anda çoğu sürüm aynı gereksinimlere sahip, Java 8'den 15'e bir değişiklik mevcut değil. Windows 7 dışında hepsi resmi gereksinimler, Windows 7 konusunda emin değilim. Son sürümler desteklemiyorsa da eski Java 8 sürümleri destekliyordur muhtemelen.
Bunlar tabii ki minimum değerler, son sürüm işletim sistemi kullanmanızda fayda var.
Java 8/11/15: Windows: Server 2012 R2/Windows 7 SP1 (resmi değil - EOL), macOS: 10.10, Linux: glibc 2.12/2.17, Solaris: 10.11, AIX: 7.1 TL4
En güncel Java sürümlerini nereden indirebilirim?
Java 8 kullanıyor iseniz, kişisel veya geliştirme amaçlı kullanım için hesap gerektirmeksizin java.com'dan indirebilirsiniz. (JRE, sadece Java 8)
Eğer JDK veya Java 8 üstü fakat son Java sürümü olmayan bir sürüm indirmek istiyorsanız ve bunu OpenJDK'ya geçmeden yapmak istiyorsanız Oracle hesabı açmanız gerekiyor. Açtıktan sonra aşağıdaki adresten indirebilirsiniz:
Son Java sürümü olmayan bir sürümden kasıt, örneğin şu anda bu konu açılırken son Java sürümü Java 15, bu nedenle Java 15'i yukarıdaki adresten hesap açmadan indirebiliyorsunuz, diğerleri (Java 8 ve 11 yani LTS'ler dahil) hesap gerektiriyor.
Tüm kullanım amaçları için ücretsiz ve açık kaynak kodlu olan ve hesap gerektirmeyen, JDK/JRE olarak indirebileceğiniz ve her sürümü içeren dosyaları ise aşağıdan indirebilirsiniz:
Konu açılış tarihi itibari ile son Java sürümleri
Java 5: 5u85, Java 6: 6u211, Java 7: 7u241
Java 8 (LTS): 8u271
(1-2 gün içerisinde 281 yayınlanacak)
Java 9: 9.0.4, Java 10: 10.0.2
Java 11 (LTS): 11.0.9
Java 12: 12.0.2, Java 13: 13.0.2, Java 14: 14.0.2
Java 15 (şu an ki son sürüm): 15.0.1
Bir sonraki LTS: Java 17
Konu sonu
Bu konunun da sonuna geldik. Sonraki konularda görüşmek üzere!
Son olarak "En iyi Java sürümü hangisi?" sorulu konu anketine oy vermeyi unutmayın