Java'da Geçici Anahtar Kelime: Nedir ve Nasıl Çalışır?

Yayınlanan: 2022-03-06

Diğer tüm programlama dilleri gibi, Java Programlama Dili de belirli bir anlamı olan ayrılmış kelimelerin bir listesine sahiptir. Java tarafından ayrılmış bu 52 kelimelik set, anahtar kelimeler olarak bilinir. Önceden tanımlanmış bir anlamları olduğundan, programcılar sınıflarını, nesnelerini, değişkenlerini ve diğer tanımlayıcıları adlandırmak için anahtar sözcükleri kullanamazlar. Bu 52 anahtar kelimeden biri, blogumuzun odak noktası olacak olan geçici anahtar kelimedir!

İçindekiler

Java'da Geçici Anahtar Kelimeyi Anlamak

Transient, Java programlama dilinde bulunan daha kullanışlı değiştiricilerden biridir. Transient anahtar kelimenin birincil rolü, serileştirme durumlarında ortaya çıkar. Geçici değiştirici, bu belirli üyelerde serileştirmeyi kapatmak için bir sınıfın alan üyelerine uygulanabilir.

Basitçe söylemek gerekirse, Java'daki geçici anahtar sözcük, serileştirmeyi önlemek için programcı tarafından kullanılabilir. Herhangi bir veri yapısının belirli bir nesnesi programcı tarafından geçici olarak tanımlanmışsa, serileştirilmeyecektir. Sonuç olarak, JVM'ye (Java Sanal Makinesi) geçici değişkeninizin nesnenin herhangi bir kalıcı durumunun parçası olmayacağını belirtmek için transient anahtar sözcüğünü kullanabilirsiniz.

Java'da transient anahtar sözcüğünün çalışmasını çok basit bir örnek kullanarak anlamaya çalışalım. İlk olarak, bir Adres sınıfı oluşturacağız ve sınıf için üç öznitelik tanımlayacağız – streetName, areaName ve houseNumber. Üçüncü özniteliği - houseNumber'ı saklamak veya kaydetmek istemediğimiz için bunu geçici tutacağız.

sınıf Adres Serileştirilebilir uygular

{

özel Dize sokakAdı;

özel Dize alanıAdı;

özel geçici String houseNumber;

//Ayarlayıcılar ve Alıcılar

}

Şimdi Address sınıfının bir örneğini serileştirelim.

dene {

ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(“addressinfo.ser”));

Adres a = yeni Adres();

a.setstreetName(“MIG”);

a.setareaName(“Vikas Nagar”);

emp.sethouseNumber(“110”);

//nesneyi seri hale getir

oos.writeObject(a);

oos.close();

} yakalama (İstisna e)

{

System.out.println(e);

}

Kodumuz doğru çalışıyorsa, biz onu geçici olarak tanımladığımız için 'houseNumber' bilgisi kaydedilmeyecekti. Şimdi, onu orijinal nesneye geri seri hale getirmeye çalışacağız ve bilgilerin kaydedilip kaydedilmediğine bakacağız.

dene {

ObjectInputStream o = new ObjectInputStream(new FileInputStream(“addressinfo.ser”));

//Nesneyi geri oku

Adres readAddressInfo = (Adres) o.readObject();

System.out.println(readAddressInfo.getstreetName());

System.out.println(readAddressInfo.getareaName());

System.out.println(readAddressInfo.gethouseNumber());

o.kapat();

} yakalama (İstisna e)

{

System.out.println(e);

}

Yukarıdaki Java programını çalıştırırsanız, aşağıdaki çıktıyı alacaksınız:

MİG

Vikas Nagar

boş

Gördüğünüz gibi, 'houseNumber' bilgisi serileştirme nedeniyle kalıcı bir duruma kaydedilmedi ve bu nedenle çıktı olarak 'null' değerini alıyoruz. İşte tam da bu nedenle transient anahtar sözcüğü kullanılır - değerleri kalıcı değil geçici bir şekilde değişkenlerde depolamak için.

Java'da 'geçici' Anahtar Kelime için kullanım örnekleri

Artık geçici anahtar sözcüğü ve ne işe yaradığını anladığınıza göre, ortaya çıkan bir sonraki mantıklı soru şudur: geçici anahtar sözcüğü ne zaman kullanırız?

Geçici anahtar sözcükleri kullanmanın fayda sağlayacağı bazı durumları derinlemesine inceleyerek geçici anahtar sözcükle ilgili öğrendiklerimizi genişletelim.

Aklınızda bulundurmanız için yaygın olarak karşılaşılan bazı kullanım durumları şunlardır:

  • Transient anahtar sözcüğünün ilk kullanım durumu, sınıf örneğindeki diğer bazı alanlardan hesaplanan veya türetilen veri alanlarına sahip olabileceğiniz durumlardır. Sonuç olarak, bu alanların programlı olarak hesaplanması gerekir ve bunlar diğer değerlere bağlıdır. Bu nedenle, bu tür alanların kalıcı olması yerine, transient anahtar sözcüğü kullanılarak serileştirilmeyebilirler. Diğer şekillerden hesaplanan bu tür geçici değerlerin örnekleri arasında zaman damgasına dayalı değerler, yüzdelere dayalı değerler vb. yer alabilir. Tüm bu durumlarda, bir değişkenin değerini mevcut değerlere dayalı olarak hesaplıyorsunuz.
  • Başka bir önemli kullanım durumu, hiçbir durumda JVM dışına sızdırılmaması gereken herhangi bir tür güvenli bilgiyle çalışırken, bu durumda transient anahtar sözcüğü kullanılarak serileştirilmeyebilir.
  • Java Development Kit içinde "seri hale getirilebilir" olarak işaretlenmemiş alanlar, bir geçici anahtar sözcükle kullanılabilir. Burada dikkat edilmesi gereken önemli bir nokta, seri hale getirilebilir arabirimi uygulamayan tüm Java sınıflarının, herhangi bir seri hale getirilebilir sınıf içinde referans alınmadıkları için serileştirilemeyeceğidir. Sonuç olarak, bunlar ana sınıfı seri hale getirmeden önce "geçici" olarak işaretlenmemişse "Java.io.NotSerializableException" hatası verebilir.
  • Ve son olarak, bazı alanları serileştirmenin mantıklı olmadığı bazı durumlar vardır. Örneğin, kodunuza bir günlükçü referansı eklediyseniz, bu bilgiyi seri hale getirmek istemezsiniz. Bir örneğin durumunu temsil eden bilgileri seri hale getirmelisiniz. Kaydediciler ise herhangi bir durumu temsil etmez, bu nedenle onları serileştirmenin bir faydası yoktur. Bu nedenle, transient anahtar sözcüğüyle birlikte kullanılmalıdırlar.

Sonuç olarak

Yukarıda tartışılan kullanım durumları hiçbir şekilde ayrıntılı değildir. Transient anahtar sözcüğüyle denemeler yapın ve kendi kullanım durumlarınızı oluşturun. Sonuçta, anahtar kelimeler programcılar için yapılır ve anahtar kelimelerin çoğunu ancak nasıl çalıştıklarını ve ne anlama geldiklerini bildiğinizde yapabilirsiniz.

Bununla, Java'daki geçici anahtar kelimelerle ilgili bu blogun sonuna geldik. Bu, yazılım geliştirme kariyerinizde büyümek için ustalaşmaya bakmanız gereken daha giriş niteliğindeki kavramlardan biridir. Yazılım geliştirme alanı son derece dinamiktir, ancak çoraplarınızı çekmeye ve elinizden gelenin en iyisini yapmaya hazırsanız çok misafirperverdir!

upGrad'da, dünyanın dört bir yanından farklı alanlara ait öğrencilere rehberlik ettik ve onlara rehberlik ettik ve yazılım geliştirmede kariyerlerine başlamalarına yardımcı olduk. Yazılım Geliştirmedeki PGP'miz - Tam Yığın Geliştirmede Uzmanlık, yeni ve deneyimli profesyoneller için tasarlanmıştır. Uzman eğitmenlerin ve son teknoloji öğrenme materyallerinin yanı sıra, yetenekli meslektaşlar, kapsamlı yerleştirme desteği ve endüstri liderleriyle bire bir mentorluk alırsınız. O halde kurs içeriğine bir göz atın ve hemen kayıt olun!

1. Java'daki geçici anahtar kelime nedir?

Java'daki geçici anahtar sözcükler, bir nesnenin serileştirilmesini önlemek için kullanılabilir. Geçici anahtar sözcükleri kullanarak, belirli bir alan tarafından tutulan değerin kalıcı olmamasını sağlarsınız.

2. Transient anahtar sözcüğü Java'da hangi öğelerle kullanılabilir?

Bir sınıfı, değişkeni, nesneyi veya alanı serileştirmemek için Java'da transient anahtar sözcüğünü kullanabilirsiniz.

3. Geçici anahtar sözcük ve geçici anahtar sözcük Java'da nasıl farklılık gösterir?

Transient anahtar sözcüğü serileştirme işleminden kaçınmak için kullanılırken, ana bellekte depolanmaması için bir değişkenle birlikte volatile bir anahtar sözcük kullanılır.