8 puan yazan baeba 2025-05-02 | Henüz yorum yok. | WhatsApp'ta paylaş

Giriş

  • JDK 25'te String::hashCode, çoğu durumda constant folding ile işlenecek şekilde iyileştirildi.
  • Değişmez Map'lerde string anahtar tabanlı erişimde performans önemli ölçüde arttı.

Ana bölüm

  • Map<String, MethodHandle> yapısında anahtar araması statik olarak optimize ediliyor.
  • Dahili olarak String.hash alanına @Stable uygulanıyor; hash değeri sabitlendiğinde JVM önbelleğe güveniyor.
  • Bunun sonucunda hash hesaplama, Map indeks hesaplama ve method handle araması tamamen derleme zamanında sabit olarak işleniyor.
  • Benchmark sonuçları, mevcut JDK 24'e kıyasla performansın 8 kata kadar arttığını gösteriyor.
  • Dezavantaj olarak, hashcode değeri 0 olduğunda constant folding uygulanmıyor ("" string'i dahil).
  • JEP 502 ile gelecekte benzer bir işlevin kullanıcı kodlarında da sunulması planlanıyor.

Sonuç

  • JDK 25'teki String optimizasyonu, statik yapı temelli kodlarda etkili.
  • @Stable şu an yalnızca dahili kullanım için olsa da ileride herkese açık bir özelliğe dönüşebilir.
  • En güncel JDK'ye geçildiğinde, string tabanlı Map işleme performansı önemli ölçüde iyileştirilebilir.

Henüz yorum yok.

Henüz yorum yok.