Ako implementovať značkovacie rozhranie v Jave?



Tento článok vás oboznámi so zaujímavým aspektom rozhraní nazývaným Marker Interface In Java a nadviažeme na jeho implementáciu.

Tento článok vás oboznámi so zaujímavým aspektom rozhraní, ktorý sa nazýva Marker Interface In a nadviazať na to s implementáciou. V tomto článku sa budeme zaoberať nasledujúcimi ukazovateľmi,

Poďme teda do toho,





Rozhranie značkovača je rozhranie, ktoré je prázdne, tj. Neobsahuje žiadne metódy ani polia. Je tiež známe ako značkovacie rozhranie a používa sa na označenie alebo informovanie JVM, že trieda implementujúca toto rozhranie bude mať nejaké špeciálne správanie. Efektívny spôsob klasifikácie kódu je možné dosiahnuť pomocou značkovacieho rozhrania. Príklady takéhoto rozhrania sú: Serializovateľné, klonovateľné a vzdialené rozhranie.

Pohybom v tomto článku o Marker Interface v Jave



Serializovateľné rozhranie

Serializáciu v jave možno definovať ako proces premeny stavu objektu na bajtový prúd. To sa dá dosiahnuť použitím serializovateľného rozhrania, ktoré je obsiahnuté v java.io.package. Je potrebné poznamenať, že všetky podtypy serializovateľnej triedy sú samy o sebe serializovateľné.

Príklad:

import java.io. * class Main implements Serializable {int j String s // Konštruktor triedy public Main (int j, String s) {this.j = j this.s = s}} verejná trieda Test {public static void main (String [] args) hodí IOException, ClassNotFoundException {Main obj = new Main (25, 'HelloWorld') // Serializing 'obj' FileOutputStream fos = new FileOutputStream ('pqr.txt') ObjectOutputStream oos = new ObjectOutputStream (fos) oos .writeObject (obj) // De-serializácia objektu „obj“ FileInputStream fis = nový FileInputStream ('pqr.txt') ObjectInputStream ois = nový ObjectInputStream (fis) Hlavné b = (Hlavné) ois.readObject () // objekt down-casting System.out.println (b.j + '' + bs) // zatváranie streamov oos.close () ois.close ()}}

Výkon:
25 HelloWorld



Pohybom v tomto článku o Marker Interface v Jave

Klonovateľné rozhranie:

Toto rozhranie nájdete v balíku java.lang. Klonovanie je mechanizmus generovania repliky alebo presnej kópie objektu s iným názvom.
Cloneable Interface implementuje trieda, aby indikovala metóde object.clone (), že je legálne, aby metóda vytvorila kópiu inštancií tejto triedy pre každé pole.
Pre triedu, ktorá vyvolá metódu klonovania bez implementácie klonovateľného rozhrania, sa vyvolá CloneNotSupportedException.

Príklad:

import java.lang.Cloneable class javaClone implementuje Cloneable {int j String s // Definovanie verejného konštruktora triedy javaClone (int j, String s) {this.j = j this.s = s} // Prepísanie metódy clone () @ Prepísať chránený objekt clone () hodí CloneNotSupportedException {return super.clone ()}} verejná trieda Main {public static void main (String [] args) hodí CloneNotSupportedException {javaClone c = nový javaClone (18, 'HelloWorld') // klonovanie ' c 'a podržanie // odkaz na nový klonovaný objekt v b // down-casting javaClone b = (javaClone) c.clone () System.out.println (bj) System.out.println (bs)}}

Výkon:
18
HelloWorld

Pohybom v tomto článku o Marker Interface v Jave

Diaľkové rozhranie:

Vzdialený objekt možno definovať ako objekt, ktorého metódy je možné vyvolať z iného JVM, potenciálne na inom hostiteľovi. Toto rozhranie sa nachádza v balíku java.rmi. Vzdialený objekt musí túto metódu implementovať priamo alebo nepriamo.

RMI:

Remote Method Convocation je API, ktoré umožňuje objektu vyvolať metódy na objekte bežiacom v inom JVM. Poskytuje vzdialenú komunikáciu medzi týmito dvoma aplikáciami pomocou nasledujúcich objektov: pahýľ a kostra.

java system.exit (1)

Pahýľ:

Pahýľ je možné definovať ako objekt, ktorý sa nachádza na strane klienta a predstavuje vzdialený objekt. Vytvára informačný blok, ktorý pozostáva z:
α Identifikátor vzdialeného objektu
α Názov metódy, ktorá sa má vyvolať
α Parametre vzdialeného JVM

Kostra:

Hlavnou úlohou skeletového objektu je odovzdať požiadavky z pahýľa vzdialenému objektu. Ďalej plní nasledujúce úlohy:
α Vyvolá požadovanú metódu na pôvodnom vzdialenom objekte
α Načíta parameter zadaný pre vzdialený objekt

Pohybom v tomto článku o Marker Interface v Jave

Kroky na implementáciu vzdialeného rozhrania:

Definujte vzdialené rozhranie:

import java.rmi. * verejné rozhranie AddAll rozširuje Remote {public int add (int r, int s) vyvolá RemoteException}

Tu sa rozširuje vzdialené rozhranie a pri všetkých metódach vzdialeného rozhrania sa deklaruje RemoteException.

Pohybom v tomto článku o Marker Interface v Jave

Implementujte vzdialené rozhranie:

Existujú dva spôsoby, ako zabezpečiť implementáciu vzdialeného rozhrania:
α Rozšírte triedu UnicastRemoteObject
α Použite metódu exportObject () triedy UnicastRemoteObject

import java.rmi. * import java.rmi.server. * verejná trieda AddAllRemote rozširuje UnicastRemoteObject implementuje Adder {AddAllRemote () vyvolá RemoteException {super ()} public int add (int r, int s) {return r + s}}

Pomocou rmic (kompilátor rmi) vytvorte objekty pahýľa a kostry.

Objekty pahýľa a kostry je možné vytvoriť pomocou kompilátora rmi. Nástroj rmi vyvolá kompilátor RMI na vytvorenie objektov.
rmic AddAllRemote

Pomocou nástroja rmiregistry spustite službu registra.

Službu registra je možné spustiť pomocou nástroja rmregistry. Používa sa predvolené číslo portu, pokiaľ ho užívateľ neurčí.
rmiregistry 5000

Pohybom v tomto článku o Marker Interface v Jave

Vytvorte a spustite vzdialenú aplikáciu.

import java.rmi. * import java.rmi.registry. * public class Server {public static void main (String args []) {try {AddAll stub = new AddAllRemote () Naming.rebind ('rmi: // localhost: 5000 / sak ', stub)} catch (Výnimka e) {System.out.println (e)}}}

Vzdialený objekt je vo vyššie uvedenom príklade viazaný menom sak.

Pohybom v tomto článku o Marker Interface v Jave

Vytvorte a spustite klientsku aplikáciu.

V uvedenom príklade sú serverová a klientská aplikácia spustené na rovnakom stroji. Preto sa využíva localhost.

import java.rmi. * public class Client {public static void main (String args []) {try {AddAll stub = (AddAll) Naming.lookup ('rmi: // localhost: 5000 / sak') System.out.println (stub.add (29,18))} úlovok (Výnimka e) {}}}

Pre prístup k vzdialenému objektu z iného počítača musí byť názov lokálneho hostiteľa zmenený na IP adresu alebo názov hostiteľa, kde je vzdialený objekt umiestnený.

Efektívny spôsob klasifikácie kódu je možné dosiahnuť pomocou značkovacieho rozhrania.

Týmto sme sa dostali na koniec tohto článku. Ak sa chcete dozvedieť viac, pozrite si Edureka, dôveryhodná online vzdelávacia spoločnosť. Výcvikový a certifikačný kurz Edureka Java J2EE a SOA je navrhnutý tak, aby vás vyškolil na základné aj pokročilé koncepty Java spolu s rôznymi rámcami Java, ako je Hibernate & Spring.

Máte na nás otázku? Uveďte to prosím v sekcii komentárov tohto blogu a my sa vám ozveme čo najskôr.