Merhaba değerli Java dostaları,

Bu ve bundan sonraki birkaç yazımda OpenJDK ile beraber tanııtılan ve ilerleyen JDK sürümlerinde canlıya alınacak olan özelliklere ve projelere fazla detaya girmeden fikir edinecek kadar değinmek istiyorum. İlk projemiz Valhalla. Valhalla projesi 2014 tarihinden itibaren geliştirilen ve JDK 10+ sürümleri için planlanan bir özellik. Malumunuz Java’ da genel anlamıyla iki tip vardır. Birisi primitive tipler, diğeri ise reference tipler. Reference tipleri direkt olarak obje olarak düşünebiliriz. Hafıza yönetimi sırasında erişim ve performans farkı işleyiş farklarından kaynaklanmaktadır. Valhalla ile beraber hayatımıza value type kavramı giriyor. Ne olduğunu direkt yetkili ağızların ifadesi ile yazıyorum.

“Codes like class, works like an int”

Yani artık reference yerine artık direkt olarak primitive tipler gibi değerlere ulaşıyoruz.

Project Valhalla

Project Valhalla

 

Peki avantajları nelerdir?

  • Pointer yapısının harcadığı ek memory yükünden kurtuluyoruz.
  • Yine pointer yapısına bağlı olan ek yönlendirme süresi ortadan kalkmış oluyor.
  • Memory üzerinde ardışık yerleştirme olacağından performans artısı var.
  • Identity tanımı artık değişmiş oluyor.

Peki dezavantajı yok mu?

  • Geriye dönük uyumluluk sorunları çıkabilir.
  • Operatörler konusunda problem yaşanabilir.
  • Sürüm geçişi ve uyumluluk garantisi için development anlamında maliyeti olacaktır.

Ayrıca bunların yanı sıra akla gelen bazı sorular

  • Value types, bir interface implemente edebilir mi?
  • Inheritance ve composition uygulanabilir mi?

Bazı faydalı olabilecek linkleri de paylaşmak istiyorum.

 

https://openjdk.java.net/projects/valhalla/

https://wiki.openjdk.java.net/display/valhalla/Main

http://cr.openjdk.java.net/~jrose/values/values-0.html

http://cr.openjdk.java.net/~jrose/values/shady-values.html

 

Project Valhalla OpenJDK içerisindeki önemli projelerden birisi. Şimdilik bahsedeceklerim bu kadar. Bir sonraki yazımda görüşmek üzere.

Bol Java’ lı günler dileğiyle… 😀

Categories:

No responses yet

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir