Java'da Dışsallaştırma Nedir? Arayüz, Özellikler ve Örnek

Yayınlanan: 2021-02-04

Dışsallaştırmanın ne olduğunu cevaplamak için Java'da serileştirmeyi özelleştirmek için uygulanan yaygın bir mekanizma olduğunu söyleyebiliriz. Java serileştirmesinin o kadar verimli olmadığı ana yönü ile kullanılır, bu nedenle birden fazla özellik ve öznitelik içeren şişirilmiş nesneler olduğunda harici bir özelleştirme parametresi kullanılır.

İçindekiler

Serileştirme ve Dışsallaştırma nedir?

Serileştirme- Bir nesnenin verilerini bir bayt akışında oluşturmak için kullanılan mekanizmadır, süreç esas olarak RMI, JMS, JPA tipi teknolojilerde uygulanır. Diğer tip, serileştirmenin işlevini ve sürecini tersine çeviren ve seri durumdan çıkarma olarak adlandırılan bir mekanizmadan oluşur. Adından da anlaşılacağı gibi serileştirmenin işlevi, Java'da bulunan nesneleri seri hale getirmektir.

Dışsallaştırma- Serileştirme mekanizmasını özelleştirmek için kullanılan mekanizma olarak tanımlanır. Bloatware hızlı ve duyarlı değil. Tüm süreci özelleştirmek için yeterince verimli ve duyarlı olan iyi bir mekanizmaya olan ihtiyacı doğurur.

Serileştirmede, Java programlama makinesi nesneleri yazma ve okuma işlemine yanıt verir. Bu, programcılar serileştirme süreci hakkında endişelenme ihtiyacından kurtuldukları için çok kullanılan bir senaryodur. Bu gibi durumlarda, varsayılan çalışan serileştirme, oturum açma kimliği ve parolalar gibi önemli kimlik bilgilerini kaydetmeyi amaçlamaz.

Ancak, programcılar aynı kimlik bilgilerini güvence altına alma ihtiyacını bulurlarsa, dışsallaştırma, serileştirme sırasında verilerin okuma ve yazma nesnesinin verilerinin işlenmesi üzerinde tam kontrol sağlama amacını kanıtlar.

Ödeme: Popüler Java Çerçeveleri

Haricileştirilebilir Arayüz

Arayüz, seri hale getirme ve seri durumdan çıkarma sırasında nesnelerin okunması ve yazılması için bir gereklilik olduğunda uygulanır. Böylece, Java.io.externalisable arabirimi ile bir nesne sınıfına duyulan ihtiyaç, kullanıcıların ve programcıların, writeExternal() yönteminde yazarak nesne durumları üzerinde özelleştirilmiş kodlarını uygulamalarına ve readExternal() yönteminde nesneleri okumalarına yardımcı olur.

Daha iyi fikir için her iki yöntemi de anlamamıza izin verin

readExternal() , bir nesne girdiyi aldığında çalışır. İçerikler, nesneler, dizeler ve diziler için Write Object yöntemi çağrılarak data Input yöntemleriyle orijinal bağlama geri yüklenir .

writeExternal() , bir nesne girişi aldığında çalışır ve veri çıkışı yöntemleri, nesneler, dizeler ve diziler için read Object yöntemini çağırarak içeriği kaydeder.

Özellikler

Haricileştirme, harici okuma ve harici yazma yöntemlerini atlayarak mantık kontrolünü uygulamaya uygulamaya yardımcı olur .

Dışsallaştırma, Java nesnesinin dışsallaştırılması sırasında değişkenleri ortadan kaldırmak için vicdan ve mantıklarıyla kod oluşturma olanağına sahip olduklarından programcılar için etkili bir yol olduğunu kanıtladı.

Dışsallaştırma yöntemleri, uygulama yaklaşımı üzerinde tam manuel kontrol sağlar ve nesne serileştirme ve devralma da ima edilebilir.

Ayrıca Okuyun: Java Mülakat Soruları

Örnek vermek

// arayüz

java.io'yu içe aktar*;

class Car, Externalizable {

statik int yaş;

dize adı;

int yıl;

halka açık Araba()

{

System.out.println(“Varsayılan Oluşturucu çağrıldı”);

}

Araba(Dize n, int y)

{

this.name = n;

bu.yıl = y;

yaş = 10;

}

@Geçersiz kıl

public void writeExternal(ObjectOutput out)

IOException'ı atar

{

out.writeObject(isim);

out.writeInt(yaş);

out.writeInt(yıl);

}

@Geçersiz kıl

public void readExternal(ObjectInput in)

IOException, ClassNotFoundException'ı atar

{

isim = (String)in.readObject();

yıl = in.readInt();

yaş = in.readInt();

}

@Genel dizeyi geçersiz kıl toString()

{

dönüş (“Ad: ” + ad + “\n”

+ “Yıl: ” + yıl + “\n”

+ “Yaş: ” + yaş);

}

}

genel sınıf ExternExample {

public static void main(String[] args)

{

Araba araba = yeni Araba(“Shiney”, 1995);

Araba yeni araba = boş;

// Arabayı seri hale getir

denemek {

için FileOutputStream

= new FileOutputStream(“gfg.txt”);

ObjectOutputStream yani

= yeni ObjectOutputStream(fo);

so.writeObject(araba);

so.flush();

}

yakalamak (İstisna e) {

System.out.println(e);

}

// Arabayı seri durumdan çıkar

denemek {

FileInputStream fi

= new FileInputStream(“gfg.txt”);

ObjectInputStream ve

= yeni ObjectInputStream(fi);

newcar = (Araba)si.readObject();

}

yakalamak (İstisna e) {

System.out.println(e);

}

System.out.println(“Orijinal araba:\n” + araba);

System.out.println(“Yeni araba:\n” + yeni araba);

}

}

Çıktı:

Varsayılan Yapıcı çağrıldı

Orijinal araba şudur:

isim: Shiney

Yıl: 1995

Yaş: 10

Yeni araba:

isim: Shiney

Yıl: 1995

Yaş: 10

Bu örnek, haricileştirilebilir bir nesne yeniden oluşturulduğunda, örneğin genel bağımsız değişkensiz oluşturucu ile tetiklendiğini gösteren klasik bir örnektir, bu, readExternal yöntemini çağırma eğilimindedir. Böylece, haricileştirilebilir bir arayüz yardımıyla, Java sınıfı analojisi üzerinde tam kontrol olacaktır.

Bu nedenle, dışsallaştırmayı kullanırken, tüm alan durumlarının yazıldığı gibi tam sırada olması elzem ve önemlidir.

Ayrıca Okuyun: Java Projesi Fikirleri ve Konuları

Dünyanın En İyi Üniversitelerinden Online Yazılım Geliştirme Kursları öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Çözüm

Bu nedenle , Java'da dışsallaştırmanın ne olduğu sorulduğunda , sunduğu özel serileştirme nedeniyle önem taşıdığını ve serileştirmeyi özelleştirmek ve ayrıca uygulama yaklaşımı üzerinde tam kontrol sağladığını söyleyebiliriz. readExternal ve writeExternal yöntemlerinin sınıf tarafından üzerine yazılması gerekir. Serileştirmeden çok daha iyi performans sunar.

Tam yığın geliştirme üzerine Executive PG Programı kursu aracılığıyla Java'yı daha iyi ve daha derinden anlamak için upGrad ile bağlantı kurun, 10.000 Rs ile başlayabileceğiniz öğrenme eğrisini geliştirmek ve çevrimiçi derslere erişin.

Java'da arayüzler nelerdir?

Arayüz, Java'da herhangi bir uygulaması olmayan türlerden biridir ve sadece bir grup yöntem imzasıdır. Bu arayüz oluşturulamaz. Bu gerçeğin arkasındaki neden, bu arayüzlerin sadece bir yöntem imzaları koleksiyonu olmasıdır. Bir arayüz oluşturduğumuzda, ona yeni metod eklemeye devam edemeyiz. Örneğin, java.Aspect arabirimine sınıf davranışını sınıf dışından değiştirmemize yardımcı olacak bir yöntem ekleyemiyoruz. Bu, nesne yönelimli programlama ilkesine aykırı olduğu için. Gerçekte arayüzler, Java ek açıklama uzantısından başka bir şey değildir. Kodumuzu hafif tutmak için arayüzler kullanmalıyız.

Java'da dışsallaştırma nedir?

Dışsallaştırma, bir nesnenin durumunu değiştirilebilir hale getirme yeteneğidir. Dışsallaştırma, bağımlılık ters çevirme ilkesini ve Arayüz Ayrıştırma İlkesini uygulamak için Singleton, Factory ve Prototype gibi tasarım modellerinde kullanılır. Dışsallaştırma, Java'nın yerleşik bir özelliği değildir, ancak bu özelliği bir sınıfa eklemek mümkündür. Dışsallaştırma, bir nesneyi Java'da bir karakter akışına dönüştürme işlemidir. Dosyalardaki nesneleri ikili biçimde depolamak için kullanılan bir mekanizmadır. Dosyalardaki karakter verilerinin bir bayt dizisi olarak depolanması için kullanılır. Veriler, Java programının sonraki yürütmelerinde okunabilir.

Java programlama dilinin özellikleri nelerdir?

Java, ilk olarak 1995 yılında Sun Microsystems tarafından piyasaya sürülen bir programlama dili ve bilgi işlem platformudur. O zamandan beri, en son sürüm Java 11 olmak üzere birçok güncelleme yayınlandı. Java, Java sanal makinesini destekleyebilen herhangi bir platformda çalışmak üzere tasarlandı, dolayısıyla aynı zamanda bir programlama platformudur. Yalnızca bir tarayıcı içeren bir ortamda çalışabilir, ancak en yaygın olarak Java Sanal Makinesi'nin (JVM) çeşitli sürümleriyle, uygulama programlama arabirimleri veya API'ler adı verilen program kümeleri altında kullanılır.