Kayıtlar

Nisan, 2018 tarihine ait yayınlar gösteriliyor

Javada Final Anahtar Kelimesi

      Final değişkenler uygulama ayağa kalktıktan sonra bir kere tanımlanan ve uygulama yeniden başlatılana kadar değişmeyen değişkenlerdir. Örneğin uygulamanızda bulunan combo boxta illeri gösteriyorsunuz illeri veri tabanından uygulama çalıştıktan sonra bir kere çekip statik bir listeye doldurup ardından uygulamanızda kullandığınızda, her seferinde veri tabanından illeri çekmek yerine bir kere çeker uygulama çalıştığı sürece bir daha çekmek zorunda kalmazsınız. Böylece hem veri tabanına boşuna gidip sunucuyu yormazsınız hemde uygulamanız illeri listelerken daha hızlı çalışmış olur.

Javada Inheritance (Kalıtım) Nedir

     Inheritance temel olarak bir clasın başka bir classtan türetilmesi işlemine denir. Yani bir classta bulunan metod ve değişkenlerin başka bir class içerisinden yeniden tanımlama yapmadan kullanılabilmesi işlemidir. Örnek verecek olursak Bir Logger classımızın olduğunu ve içinde logYaz metodu olduğunu varsayalım herhangi bir class içerisinde de hata ile karşılaşıldığında log yazmak istiyorsunuz bu classı Logger classından extend ederseniz direk olarak logger clasının logYaz metodunu kullanarak herhangi bir başka tanımlama yapmaya gerek kalmadan kullanabilirsiniz.

Java'da Garbage Collector

     Java'da JVM (Java Virtual Machine) ler hafızadan kendilerine yer temin ederler ve objeler instancelar variablelar bu memoryde tutulurlar. Biz buna heap memory deriz. Örneğin bir classtan yeni bir instance oluşturduğumuzda bu instance için heap memoryde bir alan ayarlanır ardından bu instance ı null a eşitlersek garbage collector bunu memoryden siler ve memorydeki yer tekrar kullanılmak üzere boşaltılır.Buna Nulling a Referance denir. Yine bir clastan oluşturduğumuz instance ı yine aynı clastan başka bir instance a atama işlemi yapıyorsak bu durumdada garbage collector devreye girer ve kullanılmayan instance ı memoryden siler. Buna Reassigning a Referance Variable denir. Bunların dışında Isolating Referance vardır. İstersek JVM üzerinde garbage collectoru System.gc() şeklinde kendimiz de çağırabiliriz fakat bunun çalışacağının garantisi yoktur. Sizleri uzun metinlerle sıkmadan özet olarak bilgi vermeye çalıştım umarım faydalı olur

Immutable Sınıflar

     Integer, Double, Boolean, BigDecimal, String gibi bir kez nesleri oluşturulduktan sonra nesne içeriği tekrar değiştirilemeyen değişmez (immutable) sınıflardır. Immutable sınıflarda değiştirilemzliği sağlamak adına setterlar olmaz. Ayrıca sınıf elemanları private ve final olarak tanımlanır. Bu sınıfların kendisi de final olarak tanımlanmalıdır. Bu sayede başka sınıflar tarafından extend edilmesi önlenmiş olur ve bu sınıfların alt sınıfları olamaz. Immutable sınıfların bütün değişkenleri constructor ile ilişkilendirilir. İmmutable class lar genelde thread-safe uygulamalar gelştirmek için yada uygulamada değişmesini istemediğimiz değişkenler için kullanılır.

JSF de Scope Kavramları

     JSF de Session  Scope,  View  Scope, None  Scope, Request  Scope, Application  Scope, ve Custom   Scope olamak üzere 6 adet scope bulunmaktadır. Bunlardan en popüler olanlarından bahsetmeye çalışacağım.       Session Scope      Session scope kullanıcı login olduğunda oluşturulur kullanıcı logout olana kadar kullanılabilir. Kullanıcı bilgileri tutmak ve farklı sayfalardan bu bilgilere erişmek istediğimizde session scope kullanılır. Session scope da tutulan bilgilerin yenilenebilmesi için kullanıcının loguot olması gerekldir. Session invalidate edilmeden oturum kapatma işlemi yapılmamalıdır.       Application scope     Application scope uygulama ayağa kalktığı andan itibaren oluşturulur ve uygulama çalıştığı sürece kullanılabilir. Her yerden erişilebilir. Application scope kullanımı için örnek verecek olursak ; Mesela kullanıcı bilgileri tutmak istiyoruz ve her yerden buna erişmek istiyoruz  eğer veri tabanında da tutmak istemiyorsak Application scope kullanarak işlemlerimiz

Javada Statik Metotlar

     Statik metotlar  uygulama çalıştığında bir kere oluşturulurlar ve uygulama çalıştığı sürece tanımlı oldukları için nesne oluşturmadan çağrılabilir.      Örneğin  bir classımız olsun bu class içinde bulunan kayitEkle methodu veritabanına kayıt ekleyip ardından eklenenKayitSayisi değişkenini bir artırıp ekrana yazdırsın. Burada eklenenKayitSayisi değişkenini static olarak tanımlayıp varsayılan değer olarak sıfıra eşitlediğimizi farzedelim. Classtan her instance oluşturup veri tabanına bir kayıt ekleme işleminden sonra eklenenKayitSayisi değişkeni  bir artarak bize doğru sonuç verecektir eğer eklenenKayitSayisi değişkeni static olarak tanımlanmazsa her seferinde varsayılan değerine geri dönecektir ve bize doğru sonuç vermeyecektir