Ce este externalizarea în Java? Interfață, caracteristici și exemplu

Publicat: 2021-02-04

Pentru a răspunde ce este externalizarea În java , putem spune că este un mecanism comun care este implementat pentru a personaliza serializarea. Este folosit cu aspectul principal că serializarea java nu este atât de eficientă, așa că un parametru de personalizare extern este utilizat atunci când există obiecte umflate care dețin mai multe proprietăți și atribute.

Cuprins

Ce sunt serializarea și externalizarea?

Serializare - Este mecanismul folosit pentru a compune datele unui obiect într-un flux de octeți, procesul este implementat în principal în tehnologii de tip RMI, JMS, JPA. Celălalt tip constă într-un mecanism care inversează funcția și procesul de serializare și denumit deserializare. Funcția serializării, așa cum o descrie numele, este de a serializa obiectele prezente în java.

Externalizarea - este definită ca mecanismul utilizat pentru a personaliza mecanismul de serializare. bloatware-ul nu este rapid și receptiv. Acesta generează nevoia unui mecanism bun care să fie suficient de eficient și de receptiv pentru a personaliza întregul proces.

În serializare, mașina de programare java răspunde la procesul de scriere și citire a obiectelor. Acesta este un scenariu de caz foarte folosit, deoarece programatorii sunt acuzați de nevoia de a-și face griji cu privire la procesul de serializare. În astfel de cazuri, serializarea implicită de lucru nu intenționează să salveze acreditări importante, cum ar fi ID-ul de conectare și parolele.

Dar, dacă programatorii găsesc nevoia de a securiza aceleași acreditări, externalizarea își dovedește scopul de a oferi controlul deplin asupra manipulării datelor obiectului de citire și scriere a datelor în timpul serializării.

Checkout: Framework Java populare

Interfața externabilă

Interfața este implementată atunci când există o cerință de a modera citirea și scrierea obiectelor în timpul serializării și deserializării. Astfel, nevoia unei clase de obiecte cu interfața java.io.externalizabilă ajută utilizatorii și programatorii să-și implementeze codul personalizat pe stările obiectelor prin scrierea în writeExternal() și citirea obiectelor în metoda readExternal() .

Pentru o idee mai bună, să înțelegem ambele metode

readExternal() funcționează când un obiect preia intrarea. Conținutul este restaurat în contextul original prin metodele de intrare de date prin apelarea metodei write Object pentru obiecte, șiruri și matrice.

writeExternal() funcționează atunci când un obiect preia intrarea, iar metodele de ieșire a datelor salvează conținutul apelând metoda read Object pentru obiecte, șiruri și matrice.

Caracteristici

Externalizarea ajută la implementarea controlului logic în aplicație prin ocolirea metodelor de citire externă și scriere externă.

Externalizarea sa dovedit o modalitate eficientă pentru programatori, deoarece li s-a permis să creeze cod cu conștiința și logica lor pentru a elimina variabilele în timpul externalizării obiectului java.

Metodele de externalizare oferă un control manual complet asupra abordării implementării, iar serializarea obiectului și moștenirea pot fi, de asemenea, implicate.

Citiți și: Întrebări de interviu Java

Exemplu

// interfață

import java.io.*;

Class Instrumente auto Externalizabile {

static int vârsta;

Nume șir;

int an;

masina publica()

{

System.out.println(„Constructorul implicit numit”);

}

Car (Șir n, int y)

{

aceasta.nume = n;

acest.an = y;

vârsta = 10;

}

@Trece peste

public void writeExternal (ObjectOutput out)

aruncă IOException

{

out.writeObject(nume);

out.writeInt(varsta);

out.writeInt(an);

}

@Trece peste

public void readExternal(ObjectInput in)

aruncă IOException, ClassNotFoundException

{

nume = (Șir) în.readObject();

an = in.readInt();

varsta = in.readInt();

}

@Override public String toString()

{

return („Nume: ” + nume + „\n”

+ „Anul: ” + an + „\n”

+ „Vârsta: ” + vârstă);

}

}

clasă publică ExternExample {

public static void main(String[] args)

{

Mașină = mașină nouă(„Shiney”, 1995);

Car newcar = null;

// Serializează mașina

încerca {

FileOutputStream fo

= nou FileOutputStream(“gfg.txt”);

ObjectOutputStream deci

= nou ObjectOutputStream(fo);

deci.writeObject(masina);

deci.flush();

}

prinde (Excepția e) {

System.out.println(e);

}

// Deserializează mașina

încerca {

FileInputStream fi

= nou FileInputStream(„gfg.txt”);

ObjectInputStream si

= nou ObjectInputStream(fi);

newcar = (Car)si.readObject();

}

prinde (Excepția e) {

System.out.println(e);

}

System.out.println(„Mașina originală este:\n” + mașină);

System.out.println(„Mașina nouă este:\n” + mașină nouă);

}

}

Ieșire:

Constructor implicit apelat

Mașina originală este:

Nume: Shiney

Anul: 1995

Varsta: 10

Noua masina este:

Nume: Shiney

Anul: 1995

Varsta: 10

Acest exemplu este un exemplu clasic pentru a descrie că atunci când un obiect externalizabil este recreat, instanța este declanșată cu constructorul public fără argument, acesta tinde să invoce metoda readExternal. Deci, cu ajutorul unei interfețe externalizabile, ar exista control deplin asupra analogiei clasei java.

Astfel, atunci când utilizați externalize, este esențial și important ca toate stările câmpului să fie în ordinea exactă în care au fost scrise.

Citiți și: Idei și subiecte de proiecte Java

Învață cursuri de dezvoltare software online de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Concluzie

Prin urmare, fiind întrebați despre ce este externalizarea în java , putem spune că are importanță datorită serializării personalizate pe care o are de oferit și oferă control deplin pentru personalizarea serializării și, de asemenea, asupra abordării implementării. Metodele readExternal și writeExternal trebuie să fie suprascrise de clasă. Oferă performanțe mult mai bune decât serializarea.

Conectați-vă cu upGrad pentru a avea o înțelegere mai bună și mai profundă a java prin intermediul cursului Executive PG Program privind dezvoltarea full stack, pentru a îmbunătăți curba de învățare, puteți începe cu Rs 10.000 și puteți accesa prelegerile online.

Ce sunt interfețele în Java?

O interfață este unul dintre tipurile din Java care nu are nicio implementare și este doar un grup de semnătură de metodă. Această interfață nu poate fi creată. Motivul din spatele acestui fapt este că aceste interfețe sunt doar o colecție de semnături de metodă. Odată ce creăm o interfață, nu putem continua să adăugăm o nouă metodă în ea. De exemplu, nu putem adăuga o metodă în interfața java.Aspect care ne va ajuta să modificăm comportamentul clasei din afara clasei. Deoarece acest lucru este împotriva principiului de programare orientată pe obiecte. În realitate, interfețele nu sunt altceva decât extensii de adnotări Java. Ar trebui să folosim interfețe pentru a ne menține codul luminos.

Ce este externalizarea în Java?

Externalizarea este capacitatea unui obiect de a-și face starea mutabilă. Externalizarea este utilizată în modele de proiectare precum Singleton, Factory și Prototype pentru a implementa principiul inversării dependenței și principiul segregației interfeței. Externalizarea nu este o caracteristică încorporată a Java, dar este posibil să adăugați această caracteristică la o clasă. Externalizarea este un proces de conversie a unui obiect într-un flux de caractere în Java. Este un mecanism care este utilizat pentru stocarea obiectelor în fișiere într-un format binar. Este folosit pentru stocarea datelor de caractere în fișiere ca o secvență de octeți. Datele pot fi citite în execuțiile ulterioare ale programului Java.

Care sunt caracteristicile limbajului de programare java?

Java este un limbaj de programare și o platformă de calcul lansată pentru prima dată de Sun Microsystems în 1995. De atunci au fost lansate mai multe actualizări, cea mai recentă versiune fiind Java 11. Java a fost destinat să ruleze pe orice platformă care poate suporta mașina virtuală Java, prin urmare este, de asemenea, o platformă de programare. Poate rula într-un mediu cu doar un browser, dar este cel mai frecvent utilizat cu diferite versiuni ale Java Virtual Machine (JVM) sub seturi de programe numite interfețe de programare a aplicațiilor sau API-uri.