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
- Serialiseeritav liides
- Kloonitav liides
- Kaugliides
- Kaugliidese juurutamise sammud
- Määrake kaugliides
- Rakendage kaugliides
- Looge ja käivitage rakendus Remote
- Looge ja käivitage kliendirakendus
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.