Java8

1. Lambda İfadeleri (closures) : Lambda ifadeleri davranışları veri şeklinde göstermeye yarayan basit ifadelerdir. Listeleri (collections) işlemek çok daha kolay ve etkili hale gelecektir. Örneğin 8 şarkıdan daha az şarkı barındıran albümlere sahip olan sanatçıları sorgulamak istiyoruz. Lambda ifadelerinden önce bunu standart for döngüsüyle geliştirebiliyorken Java 8′den itibaren tek bir satırda geliştirebileceğiz

2. Nashorn ve Javascript : Nashorn Java 8 ile birlikte gelen ve JVM’in bir parçası olarak çalışan modern bir Javascript kütüphanesidir. JDK’nın içerisinde javax.script paketi içerisinde bulunur. Bu sayede geliştiriciler Java kodlarının içerisine Javascript bileşenleri ekleyebileceklerdir. Aynı zamanda içerisinde Nashorn’u script dili olarak komut satırından çalıştırabilmek için jjs komutu da bulunmaktadır.
3. Compact Profiller : Bu profiller Java Standard Edition ile Java Mobile Edition’ı birbirine yakınlaştıran 3 adet temel Java API gruplarıdır. Yıllardır gömülü yazılım geliştiriciler küçük cihazlara küçük Java binary’ler yükleyebilmek istiyorlardı. Compact profiller sayesinde tüm platformu yüklemeden sadece ilgili binary’yi küçük cihazlara yükleyebilme olanağı sağlandı. Bu sayede kısıtlı kaynağı olan cihazlara da küçük JVM’ler yüklenebilecek.
4. Date ve Time Kütüphaneleri : Yeni java.time kütüphaneleri sayesinde geliştirilmesi ve okunması daha kolay uluslararası zaman standartları kullanılabilir. Bu paketteki her bir Java sınıfı ilgili işe özgü sınıflardır ve aynı zamanda aynı anda erişim (concurrency) problemlerini çözmek için değeri değiştirilemeyen (immutable) sınıflar olacaklar.
5. Java FX 8 : Java FX’in 8. sürümü Lambda ifadelerini destekleyen bileşenleri içerisinde barındırıyor. Bu sayede kullanıcı davranışlarını yakalama (event handling) gibi kodlar çok daha kısa hale geliyor. Aynı zamanda dışarıdan (3rd party) bileşen kullanımı kolaylaşıyor. Performans tarafında da birçok geliştirme yapılmış bu sayede Raspberry Pi gibi cihazlarda gömülü JavaFX kullanılabilir.
6. Topluluğun İyileştirilmesi : Java 8 ile birlikte Java geliştiren topluluğun yapısında ve süreçlerde iyileştirme yapıldı. JUG (Java User Groups) toplulukları Java topluluğunun öğrenim ve katılım konularında birleştirici yerel merkezler oldu. Dünyanın her yerindeki bu Java grupları Java’nın geliştirilmesinde ve öneriler toplamada yeni bir anlayış getirdi. “Adopt a JSR” programı sayesinde yeni katılımcılar ve organizasyonlar Java’nın gelişmesinde katkıda bulundular. 26′dan fazla JUG JAva 8′in gelişiminde pay sahibi oldu.
7. Java ME 8 (Java Micro Edition) : Java ME 8 ile birlikte Java SE ve Java ME birbirine yaklaşmış oldu. Bu sayede aynı yetkinliğe sahip yazılımcılar hem büyük ölçekli kurumsal uygulamalarda hem de küçük gömülü sistemlerde uygulama geliştirebilecekler.
8. Java SE 8 (Java Standart Edition)  ve JVM : Java SE 8 ile birlikte çöp toplayıcı (garbage collection) altyapısı iyileştirildi. Yeni geliştirmelerle birlikte kullanıcılar bir GC (garbage collection) türünden diğerine kolaylıkla atlayabilecek. Aynı zamanda Java SE 8 ile birlikte yazılımcıların PermGEN alanını iyileştirmelerine (tuning) ihtiyaç kalmadı. PermGEN bölümündeki sınıfların meta verileri kuyruğa (heap) taşındı. Bu sayede yazılımcıların bu alanın boyutunun ne olması gerektiği konusunda fikir sahibi olmalarına ihtiyaç kalmadı. Son olarak Java ME 8 güncellenerek Java SE 8′deki kütüphanelerin bir kısmını kullanabilmesi sağlandı.
Sonuç olarak Java 8 yazılımcılara aynı yetkinlikleri kullanarak küçük cihazlara gömülü yazılımlardan bulut bilişim (cloud) üzerinde çalışan büyük ölçekli kurumsal uygulamalara kadar geniş bir oyun alanı sunuyor. Lambda ifadeleriyle de kodun satır sayısını azaltıp fonksiyonel programlama dillerinin avantajlarını kullanarak yazılımcıların verimliliğini arttırmayı hedefliyor.