Hogyan lehet a Marker Interface-t Java-ban megvalósítani?



Ez a cikk ismerteti a Java Marker Interface-nek nevezett interfészek érdekes aspektusát, és nyomon követi a megvalósítással.

Ez a cikk ismerteti a Marker Interface In néven ismert interfészek érdekes szempontját és kövesse nyomon a megvalósítással. A következő hivatkozásokkal foglalkozunk ebben a cikkben,

Tehát kezdjük el akkor,





A Marker felület egy olyan felület, amely üres, vagyis nem tartalmaz semmilyen módszert vagy mezőt. Címkézési felületnek is nevezik, és arra használják, hogy jelezzék vagy tájékoztassák a JVM-et arról, hogy az ezt a felületet megvalósító osztálynak különleges viselkedése lesz. A kód osztályozásának hatékony módja érhető el a marker interfész használatával. Ilyen interfész például: Serializálható, Klónozható és Távoli interfész.

Ezzel a cikkel továbbhaladva a Java Marker Interface-en



Serializálható felület

A java szerinti szerializálás meghatározható az objektum állapotának bájtfolyammá alakításának folyamataként. Ezt a java.io.package fájlban található sorosítható felület használatával érhetjük el. Meg kell jegyezni, hogy a szerializálható osztály összes altípusa maga is sorosítható.

mi az elsődleges kulcskorlát

Példa:

import java.io. * class Main implementációk Serializálható {int j String s // A osztály konstruktor public Main (int j, String s) {this.j = j this.s = s}} public class Test {public static void main (A [String [] args) az IOException, a ClassNotFoundException {Main obj = new Main (25, 'HelloWorld') // objektum 'FileOutputStream fos = new FileOutputStream (' pqr.txt ') ObjectOutputStream oos = new ObjectOutputStream (fos) oos sorozatot adja .writeObject (obj) // 'obj' sorosítatlan törlése FileInputStream fis = new FileInputStream ('pqr.txt') ObjectInputStream ois = new ObjectInputStream (fis) Main b = (Main) ois.readObject () // objektum leselejtezése System.out.println (b.j + '' + bs) // záró folyamok oos.close () ois.close ()}}

Kimenet:
25 HelloWorld



Ezzel a cikkel továbbhaladva a Java Marker Interface-en

Klónozható interfész:

Ez a felület megtalálható a java.lang csomagban. A klónozás egy más névvel rendelkező objektum másolatának vagy pontos másolatának előállítása.
A klónozható felületet egy osztály hajtja végre, hogy jelezze az object.clone () metódusnak, hogy a metódus számára legális a mező-mező másolatot készíteni az adott osztály példányaiból.
A CloneNotSupportedException dob egy osztályhoz, amely a klónozási módszert klónozható felület megvalósítása nélkül hívja meg.

Példa:

import java.lang.Cloneable osztály A javaClone megvalósítja a Cloneable {int j String s // Osztályszerkesztő definiálása nyilvános javaClone (int j, String s) {this.j = j this.s = s} // Clone () metódus felülírása @ A védett objektumklón () felülbírálása eldobja a CloneNotSupportedException {return super.clone ()}} public class Main {public static void main (String [] args) dob CloneNotSupportedException {javaClone c = new javaClone (18, 'HelloWorld') // klónozás ' c 'és // új klónozott objektum hivatkozás a b fájlban // javaClone leszedése b = (javaClone) c.clone () System.out.println (bj) System.out.println (bs)}}

Kimenet:
18.
Helló Világ

Ezzel a cikkel továbbhaladva a Java Marker Interface-en

Távoli interfész:

A távoli objektum meghatározható olyan objektumként, amelynek metódusai meghívhatók egy másik JVM-ből, potenciálisan egy másik gazdagépen. Ez a felület a java.rmi csomagban található. Egy távoli objektumnak közvetlenül vagy közvetve kell megvalósítania ezt a módszert.

RMI:

A Távoli módszer-összehívás egy olyan API, amely lehetővé teszi az objektum számára, hogy metódusokat hívjon elő egy másik JVM-ben futó objektumon. Távoli kommunikációt biztosít a két alkalmazás között a következő objektumok használatával: csonk és csontváz.

Csonk:

A csonk meghatározható olyan objektumként, amely az ügyfél oldalon van, és a távoli objektumot képviseli. Információs blokkot hoz létre, amely a következőkből áll:
α A távoli objektum azonosítója
α A meghívandó módszer neve
α Paraméterek a távoli JVM-hez

Csontváz:

A csontvázobjektum fő feladata a csonktól érkező kérések átadása a távoli objektumnak. Ezenkívül elvégzi az alább megadott feladatokat:
α Meghívja a kívánt módszert az eredeti távoli objektumon
α Beolvassa a távoli objektumhoz megadott paramétert

Ezzel a cikkel továbbhaladva a Java Marker Interface-en

A távoli interfész megvalósításának lépései:

Távoli interfész meghatározása:

importáld a java.rmi. * nyilvános felületet az AddAll kiterjeszti a Remote {public int add (int r, int s) dobja a RemoteException}

Itt a távoli interfész kibővül, és a RemoteException deklarálásra kerül a távoli interfész összes módszerével.

Ezzel a cikkel továbbhaladva a Java Marker Interface-en

A távoli interfész megvalósítása:

A távoli interfész megvalósításának kétféle módja van:
α Bővítse az UnicastRemoteObject osztályt
α Használja az UnicastRemoteObject osztály exportObject () metódusát

import java.rmi. * import java.rmi.server. * public class AddAllRemote kiterjeszti az UnicastRemoteObject-t megvalósítja az Adder {AddAllRemote () dobja a RemoteException {super ()} public int add (int r, int s) {return r + s}}

Az rmic (rmi fordító) segítségével hozza létre a csonk és a csontváz tárgyakat.

A csonk és a csontváz objektumok az rmi fordító segítségével hozhatók létre. Az rmi eszköz meghívja az RMI fordítót az objektumok létrehozására.
rmic AddAllRemote

Indítsa el a rendszerleíró adatbázis-szolgáltatást a rmiregistry eszközzel.

A rendszerleíró adatbázis szolgáltatás elindítható az rmregistry eszköz használatával. Alapértelmezett portszámot használ, ha a felhasználó nem adja meg.
rmiregistry 5000

Ezzel a cikkel továbbhaladva a Java Marker Interface-en

Hozza létre és indítsa el a távoli alkalmazást.

import java.rmi. * import java.rmi.registry. * public class Server {public static void main (String args []) {próbálkozzon {addAll stub = new AddAllRemote () Naming.rebind ('rmi: // localhost: 5000 / sak ', stub)} catch (e kivétel) {System.out.println (e)}}}

A távoli objektumot a fenti név a sak névvel köti össze.

Ezzel a cikkel továbbhaladva a Java Marker Interface-en

Hozza létre és indítsa el az ügyfélalkalmazást.

A megadott példában a kiszolgáló és az ügyfélalkalmazások ugyanazon a gépen futnak. Így a localhost használata történik.

import java.rmi. * public class Client {public static void main (String args []) {próbálkozzon {AddAll stub = (AddAll) Naming.lookup ('rmi: // localhost: 5000 / sak') System.out.println (stub.add (29,18))} catch (e kivétel) {}}}

Ha a távoli objektumot egy másik számítógépről szeretné elérni, akkor a helyi gazdagép nevét meg kell változtatni IP-címre vagy annak a hosztnévnek, ahol a távoli objektum található.

A kód osztályozásának hatékony módja érhető el a marker interfész használatával.

Így a cikk végéhez értünk. Ha többet szeretne megtudni, nézze meg a Edureka, egy megbízható online tanulási társaság. Az Edureka Java J2EE és SOA képzési és tanúsítási tanfolyamát arra tervezték, hogy mind az alapvető, mind a fejlett Java koncepciókra kiképezzen különféle Java keretrendszereket, például a Hibernate & Spring.

Van egy kérdésünk? Kérjük, említse meg a blog megjegyzés rovatában, és a lehető leghamarabb kapcsolatba lépünk Önnel.