Java 8, Nashorn motoru ile mevcut Rhino motorunu değiştirmek için geliştirilmiş bir javascript motoru tanıtıldı. Nashorn, kodu doğrudan bellekte derlediği ve bayt kodunu JVM’ye geçirdiği için 2 ila 10 kat daha iyi performans sağlar. Nashorn, performansı geliştirmek için Java 7’de tanıtılan invoke dinamikleri özelliğini kullanıyor. Ayrıca Nashorn motoru, javascript kodlarını konsolda yürütmek için yeni bir…
Enumeration nedir ?
C / C++ gibi başka programlama dillerinde de bulunan Enumeration Java’ya 1.5 sürümünde kazandırılmıştır. Enum, enumeration(numaralandırma) olarak da adlandırılır, alanları sabit bir sabitler kümesinden oluşan java.lang.Enum dan türeyen özel sınıf türüdür. Enum’un amacı derleme zamanında(compile time) tip güvenliğini(type safety) sağlamaktır. Örneğin, haftanın günlerinin basit enum’u yapalım.
1 2 3 4 5 6 7 8 9 |
public enum EnumGun { PAZARTESI, SALI, CARSAMBA, PERSEMBE, CUMA, CUMARTESI, PAZAR } |
Enum’ların Yapısı EnumGun diye oluşturduğumuz enum derlendikten sonra…
Mutable ve Immutable nedir ?
Immutable (değişmez), nesneler bir kez oluşturulduktan sonra içeriği değiştirilemeyen sınıflardır. Tam tersi olarak, değiştirilebilen sınıflar da Mutable (değişebilir) sınıflardır. Kısacası Immutable nesneler değişmeyen nesnelerdir. Onları oluşturursun, fakat onları değiştiremezsin. Bunun yerine, değişmez bir nesneyi değiştirmek isterseniz, onu klonlamanız ve oluştururken klonu değiştirmeniz gerekir. Immutable nesneler, çok iş parçacıklı(multi-threaded) ortamlarda ve streamlerde kullanışlıdır. Değişmeyen nesnelere…
NullPointerException’dan Kaçış
Muhtemelen Java’da karşılaştığınız ilk istisnadır(exception) ve yeni başlayanlar için bir kâbus niteliğindedir kendisi. Yazdığınız kodun kalitesi yüksek olabilir ama bazen gözünüzden kaçan ufak bir kontrol canlı(production) ortamda NullPointerException fırlamasına ve sistemin kırılmasına sebep olabilir. Bu yazımda bunu en aza indirmek için bazı yöntemlerden bahsedeceğim. NullPointerException Nedir ? Bildiğiniz gibi, Java, ilkel(primitive) türlere(boolean, int, vb.) ve…
Java 8 : Optional Sınıfı
Her Java geliştiricisi NullPointerException istisnalarıyla uğraşmıştır. null değer ile karşılaşmak, ona karşı önlem almak herzaman için can sıkıcı olmuştur. Bu can sıkıcılığını ortadan kaldırmak için Java 8 ile beraber Optional sınıfı gelmiştir. Optional yapısı daha evvelden farklı dillerde bulunan bir özelliktir. Optional türünden nesneler, null olma ihtimali olan nesneleri kolay yönetmek için oluşturulmuştur. Varsayalım ki, verilen kullanıcı…