Was ist Externalisierung in Java? Schnittstelle, Funktionen und Beispiel

Veröffentlicht: 2021-02-04

Um zu beantworten, was Externalisierung in Java ist, können wir sagen, dass es sich um einen gemeinsamen Mechanismus handelt, der implementiert wird, um die Serialisierung anzupassen. Es wird mit dem Hauptaspekt verwendet, dass die Java-Serialisierung nicht so effizient ist, sodass ein externer Anpassungsparameter verwendet wird, wenn aufgeblähte Objekte vorhanden sind, die mehrere Eigenschaften und Attribute enthalten.

Inhaltsverzeichnis

Was sind Serialisierung und Externalisierung?

Serialisierung - Dies ist der Mechanismus, der verwendet wird, um Daten eines Objekts in einen Bytestrom zusammenzusetzen. Der Prozess wird hauptsächlich in RMI-, JMS- und JPA-Technologien implementiert. Der andere Typ besteht aus einem Mechanismus, der die Funktion und den Prozess der Serialisierung umkehrt und als Deserialisierung bezeichnet wird. Die Funktion der Serialisierung besteht, wie der Name schon sagt, darin, die in Java vorhandenen Objekte zu serialisieren.

Externalisierung – Es ist definiert als der Mechanismus, der verwendet wird, um den Serialisierungsmechanismus anzupassen. Die Bloatware ist nicht schnell und reaktionsschnell. Es erfordert einen guten Mechanismus, der effizient und reaktionsschnell genug ist, um den gesamten Prozess anzupassen.

Bei der Serialisierung reagiert die Java-Programmiermaschine auf den Prozess des Schreibens und Lesens von Objekten. Dies ist ein häufig verwendetes Szenario, da die Programmierer gezwungen werden, sich um den Serialisierungsprozess zu kümmern. In solchen Fällen beabsichtigt die standardmäßig funktionierende Serialisierung nicht, wichtige Anmeldeinformationen wie die Anmelde-ID und die Passwörter zu speichern.

Wenn die Programmierer jedoch die Notwendigkeit feststellen, dieselben Anmeldeinformationen zu sichern, beweist die Externalisierung ihren Zweck, die vollständige Kontrolle über die Handhabung der Daten des Lese- und Schreibobjekts der Daten während der Serialisierung zu geben.

Checkout: Beliebte Java-Frameworks

Die externalisierbare Schnittstelle

Die Schnittstelle wird implementiert, wenn das Lesen und Schreiben der Objekte während der Serialisierung und Deserialisierung moderiert werden muss. Daher hilft die Notwendigkeit einer Objektklasse mit der java.io.externalisable-Schnittstelle Benutzern und Programmierern, ihren benutzerdefinierten Code für die Objektzustände zu implementieren, indem sie in die Methode writeExternal() schreiben und Objekte in die Methode readExternal() lesen.

Lassen Sie uns zur besseren Vorstellung beide Methoden verstehen

readExternal() funktioniert, wenn ein Objekt die Eingabe übernimmt. Der Inhalt wird durch die Methoden der Dateneingabe in den ursprünglichen Kontext zurückversetzt , indem die Write-Object- Methode für Objekte, Strings und Arrays aufgerufen wird.

writeExternal() funktioniert, wenn ein Objekt die Eingabe übernimmt, und die Methoden der Datenausgabe speichern den Inhalt, indem sie die Methode read Object für Objekte, Strings und Arrays aufrufen.

Merkmale

Die Externalisierung hilft bei der Implementierung der Logiksteuerung für die Anwendung, indem die Methoden „Read External“ und „Write External“ umgangen werden.

Die Externalisierung erwies sich für die Programmierer als effektiver Weg, da sie in die Lage versetzt wurden, Code mit ihrem Gewissen und ihrer Logik zu erstellen, um die Variablen während der Externalisierung des Java-Objekts zu eliminieren.

Externalisierungsmethoden geben eine vollständige manuelle Kontrolle über den Implementierungsansatz, und die Objektserialisierung und die Vererbung können ebenfalls impliziert werden.

Lesen Sie auch: Java-Interviewfragen

Beispiel

// Schnittstelle

java.io.* importieren;

Klasse Auto implementiert Externalizable {

Statisches Int-Alter;

Zeichenfolgenname;

int Jahr;

öffentliches Auto ()

{

System.out.println("Standardkonstruktor aufgerufen");

}

Auto(String n, int y)

{

this.name = n;

dieses.jahr = y;

Alter = 10;

}

@Überschreiben

public void writeExternal (Objektausgabe ausgegeben)

wirft IOException

{

out.writeObject (Name);

out.writeInt (Alter);

out.writeInt (Jahr);

}

@Überschreiben

public void readExternal(ObjectInput in)

wirft IOException, ClassNotFoundException

{

name = (String)in.readObject();

Jahr = in.readInt();

Alter = in.readInt();

}

@Öffentlichen String überschreiben toString()

{

return (“Name: ” + Name + “\n”

+ "Jahr: " + Jahr + "\n"

+ „Alter: “ + Alter);

}

}

öffentliche Klasse ExternBeispiel {

public static void main(String[] args)

{

Auto Auto = neues Auto („Shiney“, 1995);

Auto neuwagen = null;

// Auto serialisieren

Versuchen {

FileOutputStream für

= neuer FileOutputStream(“gfg.txt”);

ObjectOutputStream also

= neuer ObjectOutputStream(fo);

so.writeObject (Auto);

so.flush();

}

catch (Ausnahme e) {

System.out.println(e);

}

// Auto deserialisieren

Versuchen {

FileInputStream fi

= neuer FileInputStream("gfg.txt");

ObjectInputStreamsi

= neuer ObjectInputStream(fi);

newcar = (Auto)si.readObject();

}

catch (Ausnahme e) {

System.out.println(e);

}

System.out.println("Das ursprüngliche Auto ist:\n" + Auto);

System.out.println("Das neue Auto ist:\n" + newcar);

}

}

Ausgabe:

Standardkonstruktor aufgerufen

Das Originalauto ist:

Name: Schiney

Jahr: 1995

Alter: 10

Das neue Auto ist:

Name: Schiney

Jahr: 1995

Alter: 10

Dieses Beispiel ist ein klassisches Beispiel dafür, dass bei der Neuerstellung eines externalisierbaren Objekts die Instanz mit dem öffentlichen Konstruktor ohne Argumente ausgelöst wird, wodurch die readExternal- Methode aufgerufen wird. Mit Hilfe einer externalisierbaren Schnittstelle gäbe es also die volle Kontrolle über die Java-Klassenanalogie.

Daher ist es bei der Verwendung von externalize wesentlich und wichtig, dass alle Feldzustände in der genauen Reihenfolge sind, in der sie geschrieben wurden.

Lesen Sie auch: Ideen und Themen für Java-Projekte

Lernen Sie Softwareentwicklungskurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Fazit

Auf die Frage, was Externalisierung in Java ist, können wir sagen, dass es aufgrund der benutzerdefinierten Serialisierung, die es zu bieten hat, von Bedeutung ist und die volle Kontrolle über die Anpassung der Serialisierung und auch über den Implementierungsansatz gibt. readExternal- und writeExternal-Methoden müssen von der Klasse überschrieben werden. Es bietet eine viel bessere Leistung als die Serialisierung.

Verbinden Sie sich mit upGrad, um ein besseres und tieferes Verständnis von Java über den Executive PG Program-Kurs zur Full-Stack-Entwicklung zu erlangen. Um die Lernkurve zu verbessern, können Sie mit Rs 10.000 beginnen und auf die Online-Vorlesungen zugreifen.

Was sind Schnittstellen in Java?

Eine Schnittstelle ist einer der Typen in Java, der keine Implementierung hat und nur eine Gruppe von Methodensignaturen ist. Diese Schnittstelle kann nicht erstellt werden. Der Grund dafür ist, dass diese Schnittstellen nur eine Sammlung von Methodensignaturen sind. Sobald wir eine Schnittstelle erstellt haben, können wir ihr keine neue Methode hinzufügen. Beispielsweise können wir keine Methode in der java.Aspect-Schnittstelle hinzufügen, die uns beim Ändern des Klassenverhaltens von außerhalb der Klasse hilft. Da dies gegen das objektorientierte Programmierprinzip verstößt. In Wirklichkeit sind Schnittstellen nichts anderes als Java-Anmerkungserweiterungen. Wir sollten Schnittstellen verwenden, um unseren Code leicht zu halten.

Was ist Externalisierung in Java?

Externalisierung ist die Fähigkeit eines Objekts, seinen Zustand änderbar zu machen. Die Externalisierung wird in Entwurfsmustern wie Singleton, Factory und Prototyp verwendet, um das Prinzip der Abhängigkeitsinversion und das Prinzip der Schnittstellentrennung zu implementieren. Die Externalisierung ist keine eingebaute Funktion von Java, aber es ist möglich, diese Funktion einer Klasse hinzuzufügen. Die Externalisierung ist ein Prozess zum Konvertieren eines Objekts in einen Zeichenstrom in Java. Es ist ein Mechanismus, der zum Speichern von Objekten in Dateien in einem Binärformat verwendet wird. Es wird zum Speichern von Zeichendaten in Dateien als Folge von Bytes verwendet. Die Daten können in nachfolgenden Ausführungen des Java-Programms gelesen werden.

Was sind die Funktionen der Programmiersprache Java?

Java ist eine Programmiersprache und Computerplattform, die erstmals 1995 von Sun Microsystems veröffentlicht wurde. Seitdem wurden mehrere Updates veröffentlicht, wobei die neueste Version Java 11 ist. Java sollte auf jeder Plattform laufen, die die virtuelle Java-Maschine unterstützen kann, daher ist auch eine Programmierplattform. Es kann in einer Umgebung mit nur einem Browser ausgeführt werden, wird jedoch am häufigsten mit verschiedenen Versionen der Java Virtual Machine (JVM) unter Programmgruppen verwendet, die als Anwendungsprogrammierschnittstellen oder APIs bezeichnet werden.