Kuidas rakendada Java-s markeri liidest?

See artikkel annab teile lühikese ülevaate Java-liideses Marker Interface kasutatavate liideste huvitavast aspektist ja järgib seda rakendamisega.

See artikkel annab teile ülevaate liideste huvitavast aspektist, mida nimetatakse Markeri liideseks ja järgige seda rakendamisega. Järgmisi näpunäiteid käsitletakse selles artiklis,



sas programmeerimise sissejuhatuse põhimõisted

Alustagem siis



Markeri liides on tühi liides, st see ei sisalda ühtegi meetodit ega välja. Seda nimetatakse ka märgistamisliideseks ja seda kasutatakse JVM-i näitamiseks või teavitamiseks, et seda liidest rakendaval klassil on mingi eriline käitumine. Tõhus viis koodi klassifitseerimiseks on saavutatav markerliidese abil. Sellise liidese näited on järgmised: Serialiseeritav, Kloonitav ja Kaugliides.

Selle artikliga liikumine Java-s Markeri liidese kohta



Serialiseeritav liides

Java-s serialiseerimist saab määratleda kui protsessi, mis muudab objekti oleku baidivooguks. Seda on võimalik saavutada java.io.package'is oleva jadatav liidese abil. Tuleb märkida, et kõik seriaalitava klassi alamtüübid on ise seriaalitavad.

Näide:

import java.io. * klass Põhirakendused Serialiseeritav {int j String s // A-klassi konstruktor public Main (int j, String s) {this.j = j this.s = s}} public class Test {public static void main (String [] args) viskab IOException, ClassNotFoundException {Main obj = new Main (25, 'HelloWorld') // Serializing 'obj' FileOutputStream fos = new FileOutputStream ('pqr.txt') ObjectOutputStream oos = new ObjectOutputStream (fos) oos .writeObject (obj) // objekti 'FileInputStream' sarjastamise eemaldamine fis = new FileInputStream ('pqr.txt') ObjectInputStream ois = new ObjectInputStream (fis) Main b = (Main) ois.readObject () // objekti allaviskamine System.out.println (b.j + '' + bs) // sulgemisvood oos.close () ois.close ()}}

Väljund:
25 HelloWorld



Selle artikliga liikumine Java-s Markeri liidese kohta

Kloonitav liides:

Selle liidese leiate paketist java.lang. Kloonimine on erineva nimega objekti koopia või täpse koopia genereerimise mehhanism.
Kloonitava liidese rakendab klass, et märkida meetodile object.clone (), et meetodil on seaduslik selle klassi eksemplaride välja-välja-koopia tegemine.
Kloonile visatakse CloneNotSupportedException, mis kutsub kloonimeetodit kloonitava liidese juurutamata.

Näide:

import java.lang.Cloneable klass javaClone rakendab Cloneable {int j String s // klassi konstruktori määratlemine avalik javaClone (int j, String s) {this.j = j this.s = s} // Klooni () meetodi üleandmine Kaitstud objekti klooni () alistamine viskab CloneNotSupportedException {return super.clone ()}} avaliku klassi Main {public static void main (String [] args) viskab CloneNotSupportedException {javaClone c = new javaClone (18, 'HelloWorld') // kloonimine ' c 'ja hoides // uue kloonitud objekti viidet b-s // javaClone allavalamine b = (javaClone) c.clone () System.out.println (bj) System.out.println (bs)}}

Väljund:
18
Tere, Maailm

Selle artikliga liikumine Java-s Markeri liidese kohta

Kaugliides:

Kaugobjekti saab määratleda objektina, mille meetodeid saab kutsuda erinevast JVM-ist, potentsiaalselt teisel hostil. Selle liidese leiate paketist java.rmi. Kaugobjekt peab seda meetodit rakendama otseselt või kaudselt.

RMI:

Kaugmeetodi kokkukutsumine on API, mis võimaldab objektil kutsuda meetodeid objektil, mis töötab teises JVM-is. See tagab kahe rakenduse vahel kaugsuhtluse, kasutades järgmisi objekte: tüvi ja luustik.

mis on java tõlk

Stub:

Pistikut saab defineerida kui objekti, mis asub kliendi poolel ja tähistab kaugobjekti. See loob teabeploki, mis koosneb:
α Kaugobjekti identifikaator
α Rakendatava meetodi nimi
α kaugjuhtimispuldi parameetrid

Skelett:

Luustikuobjekti põhitöö on päringutelt päringute edastamine kaugobjektile. Lisaks täidab see allpool toodud ülesandeid:
α See kutsub algsel kaugobjektil soovitud meetodi üles
α Loeb kaugobjektile määratud parameetrit

Selle artikliga liikumine Java-s Markeri liidese kohta

Kaugliidese juurutamise sammud:

Määrake kaugliides:

import java.rmi. * avalik liides AddAll laiendab kaugjuhtimist {public int add (int r, int s) viskab RemoteException}

Siin laiendatakse kaugliidest ja deklareeritakse RemoteException koos kõigi kaugliidese meetoditega.

Selle artikliga liikumine Java-s Markeri liidese kohta

Rakendage kaugliides:

Kaugliidese juurutamiseks on kaks võimalust:
α Laiendage klassi UnicastRemoteObject
α Kasutage klassi UnicastRemoteObject meetodit exportObject ()

import java.rmi. * import java.rmi.server. * avalik klass AddAllRemote laiendab UnicastRemoteObject rakendab lisaaine {AddAllRemote () viskab RemoteException {super ()} public int add (int r, int s) {return r + s}}

Looge rmici (rmi kompilaator) abil tüvi- ja skeletiobjektid.

Pistiku ja luustikuobjekte saab luua rmi kompilaatori abil. Rmi tööriist kutsub objektide loomiseks RMI kompilaatori.
rmic AddAllRemote

Käivitage registriteenus rmiregistry tööriista abil.

Registriteenust saab käivitada tööriista rmregistry abil. Vaikepordi numbrit kasutatakse juhul, kui kasutaja pole seda määranud.
rmiregistry 5000

def __init__ python

Selle artikliga liikumine Java-s Markeri liidese kohta

Looge ja käivitage kaugrakendus.

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

Kaugobjekt on ülaltoodud näites seotud nimega sak.

Selle artikliga liikumine Java-s Markeri liidese kohta

Looge ja käivitage kliendirakendus.

Toodud näites töötavad server ja kliendirakendused samas masinas. Seega kasutatakse localhostit.

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

Eri arvutist kaugobjektile juurdepääsu saamiseks tuleb kohaliku hosti nimi muuta IP-aadressiks või hosti nimeks, kus kaugobjekt asub.

Tõhus viis koodi klassifitseerimiseks on saavutatav markerliidese abil.

Seega oleme jõudnud selle artikli lõppu. Kui soovite rohkem teada saada, vaadake järgmist autor Edureka, usaldusväärne veebipõhine õppefirma. Edureka Java J2EE ja SOA koolitus- ja sertifitseerimiskursus on mõeldud selleks, et õpetada teid nii Java põhiliste kui ka edasijõudnute kontseptsioonide jaoks koos erinevate Java-raamistikega nagu Hibernate & Spring.

Kas teil on meile küsimus? Palun mainige seda selle blogi kommentaaride jaotises ja võtame teiega ühendust niipea kui võimalik.