java'da volatile, synchronized, final, static, transient anahtar kelimeleri nedir?

java
  • Turgay Can
  • Tarih

    18 Mar, 2013
  • Yorum

    0
  • Görüntüleme

    3989
  • İndirme

    0

java'da volatile, synchronized, final, static, transient anahtar kelimeleri nedir?

Merhaba,

Bugün zamanla kullanmaya kullanmaya unuttuğumuz java anahtar kelimelerini araştırdığım ve edindiğim tecrübelere dayalı açıklamaya çalışacağım.

volatile : Nesne'nin bir kopyasını barındırır yani kendisni ve bu birden çok kopyanın aynı türetilmiş instance'ı kullanmasıdır. Herhangi bir güncellemede bir tek kopya nesnenin güncellenmesi ile diğer nesnelerinde güncellenmesine olanak sağlar.
MultiThread uygulamalarda , Singleton pattern'de çokça kullanılır.
Değişken tipi Object(obje) yada primitve(ilkel/primitif)'tir. Null'lanabilir, bloklanamaz, JDK 5 'ile birlikte cache değişkenlerinin erişimine olanak sağlar. Okunup, yazılabilir fakat atmoic(büyük ölçekte) operasyonlar için kullanmak pek makul değildir.

synchronized : Metod yada nesne değişkeni üzerinde işlem yapılırken yapılan işlemleri sıraya koyması diğer bir deyişle aynı anda tek bir işlem yapması ve işlem yaptığı nesne/metodu kitlemesi ve diğer iş parçacıklarını sıraya koymasıdır. İşlem bitince kilidi kaldırır ve sıradaki işlem parçacığını işleme alır.
Değişken tipi Object(obje)'dir, Null değer alamaz, bloklanabilir, cache değişkenlerinin erişimine olanak sağlar. Okuma, yazma ve güncelleme işlemleri yapılabilir.

MultiThread uygulamalarda ve Singleton pattern'de çokca kullanılır özellikle veritabanı bağlantı sınıflarının yapısında.

final : Bir kere değer tanımlaması yapılır ve daha sonra aynı sınıfa erişildiğinde sınıf atama yapmaz, konstrüktör ile okunur. Metodları ise alt sınıflarca override(ezme) edilemezler, sınıfları ise alt sınıflarca genişletilemezler.

static : Java programlama dilinde bir metod ya da değişkenin belli bir objeye degil de bir sınıfın tamamına ait olduğunu belirten bir kelimedir. Metodu statik yapar ve dışarıdan çağrılırken sınıftan bir instance yaratılmaz. Aynı sınıf içinde statik olmayan bir metod tarafından çağırılamaz.

transient : Serileştirilmesi istenmeyen sınıf özellikleri/değişkenleri için kullanılan java anahtar terimidir.

http://tr.wikipedia.org/wiki/Static
http://en.wikipedia.org/wiki/Java_keyword

0 Yorum..

Yorum yapmak için "Giriş yapın" yada "Misafir üye" olarak yorum yapabilirsiniz.

Yorum Yap