Kuinka toteuttaa Marker Interface Java?

Tässä artikkelissa kerrotaan mielenkiintoisesta näkökulmasta liitännöissä, joita kutsutaan Java-merkintäkäyttöliittymäksi, ja seurataan sitä toteutuksessa.

Tämä artikkeli kertoo sinulle mielenkiintoisesta näkökulmasta liitännöissä, joita kutsutaan nimellä Marker Interface In ja seuraa sitä täytäntöönpanon avulla. Seuraavat vihjeet käsitellään tässä artikkelissa,

Joten aloitetaan sitten,





Marker-käyttöliittymä on rajapinta, joka on tyhjä, ts. Se ei sisällä mitään menetelmiä tai kenttiä. Sitä kutsutaan myös taggausrajapinnaksi ja sitä käytetään ilmaisemaan tai ilmoittamaan JVM: lle, että tätä käyttöliittymää käyttävällä luokalla on erityistä käyttäytymistä. Tehokas tapa luokitella koodi voidaan saavuttaa käyttämällä markkeriliitäntää. Esimerkkejä tällaisesta käyttöliittymästä ovat: Sarjoitettava, Cloneable ja Remote Interface.

Tämän artikkelin siirtäminen Markerin käyttöliittymästä Javassa



Serialisoitava käyttöliittymä

Serialisointi jaavassa voidaan määritellä prosessiksi, jolla kohteen tila muunnetaan tavuvirraksi. Tämä voidaan saavuttaa käyttämällä sarjoitettavaa käyttöliittymää, joka on java.io.package-ohjelmassa. On huomattava, että kaikki sarjoitettavan luokan alatyypit ovat itse sarjoitettavia.

Esimerkki:

tuo java.io. * class Main -välineet Serialisoitavissa {int j String s // A-luokan rakentaja public Main (int j, String s) {this.j = j this.s = s}} public class -testi {public static void main (Merkkijono [] args) heittää IOException, ClassNotFoundException {Main obj = new Main (25, 'HelloWorld') // Serializing 'obj' FileOutputStream fos = new FileOutputStream ('pqr.txt') ObjectOutputStream oos = new ObjectOutputStream (fos) oos .writeObject (obj) // objektin sarjasarjan poistaminen FileInputStream fis = new FileInputStream ('pqr.txt') ObjectInputStream ois = new ObjectInputStream (fis) Main b = (Main) ois.readObject () // down-casting object System.out.println (b.j + '' + bs) // sulkeutuvat virrat oos.close () ois.close ()}}

Tuotos:
25 HelloWorld



Tämän artikkelin siirtäminen Markerin käyttöliittymästä Javassa

Kloonattava liitäntä:

Tämä käyttöliittymä löytyy paketista java.lang. Kloonaus on mekanismi, jolla luodaan toisinnimisen objektin kopio tai tarkka kopio.
Kloonattava käyttöliittymä toteutetaan luokan avulla osoittamaan object.clone () -menetelmälle, että menetelmä on laillista tehdä kenttä kentälle -kopio kyseisen luokan instansseista.
CloneNotSupportedException heitetään luokalle, joka kutsuu kloonimenetelmän toteuttamatta kloonattavaa käyttöliittymää.

Esimerkki:

tuo java.lang.Cloneable-luokka javaClone toteuttaa Cloneable {int j String s // Luokkakonstruktorin määrittäminen julkinen javaClone (int j, String s) {this.j = j this.s = s} // Ohittaa klooni () -menetelmän @ Suojaa suojattu objektiklooni () heittää CloneNotSupportedException {return super.clone ()}} public class Main {public static void main (String [] args) heittää CloneNotSupportedException {javaClone c = new javaClone (18, 'HelloWorld') // kloonaus ' c 'ja // uuden kloonatun objektiviitteen pitäminen b: ssä // javaClone-alasveto b = (javaClone) c.clone () System.out.println (bj) System.out.println (bs)}}

Tuotos:
18
Hei maailma

Tämän artikkelin siirtäminen Markerin käyttöliittymästä Javassa

Etäkäyttöliittymä:

Etäobjekti voidaan määritellä objektiksi, jonka menetelmiä voidaan kutsua eri JVM: stä, mahdollisesti toiselle isännälle. Tämä käyttöliittymä löytyy paketista java.rmi. Etäobjektin on toteutettava tämä menetelmä suoraan tai epäsuorasti.

RMI:

Etämenetelmäkutsu on API, jonka avulla objekti voi kutsua menetelmiä objektissa, joka toimii toisessa JVM: ssä. Se tarjoaa etäyhteyden kahden sovelluksen välillä käyttäen seuraavia esineitä: tynkä ja luuranko.

Tynkä:

Tynkä voidaan määritellä objektiksi, joka on asiakkaan puolella ja edustaa etäobjektia. Se luo tietolohkon, joka koostuu:
α Etäobjektin tunniste
α Menetelmän nimi, johon on tarkoitus vedota
α Etä-JVM: n parametrit

Luuranko:

Luuranko-objektin päätehtävä on siirtää pyynnöt tynkästä etäobjektiin. Lisäksi se suorittaa alla mainitut tehtävät:
α Se kutsuu haluttua menetelmää alkuperäiselle etäobjektille
α Lukee etäobjektille määritetyn parametrin

Tämän artikkelin siirtäminen Markerin käyttöliittymästä Javassa

Vaiheet etäkäyttöliittymän toteuttamiseksi:

Määritä etäkäyttöliittymä:

tuo java.rmi. * julkinen käyttöliittymä AddAll laajentaa etäyhteyttä {public int add (int r, int s) heittää RemoteException}

Tässä etäliitäntää laajennetaan ja RemoteException ilmoitetaan kaikilla etärajapinnan menetelmillä.

Tämän artikkelin siirtäminen Markerin käyttöliittymästä Javassa

Ota käyttöön etäkäyttöliittymä:

Etärajapinnalle voidaan toteuttaa toteutus kahdella tavalla:
α Laajenna UnicastRemoteObject-luokkaa
α Käytä UnicastRemoteObject-luokan exportObject () -menetelmää

tuo java.rmi. * tuo java.rmi.server. * julkinen luokka AddAllRemote laajentaa UnicastRemoteObject-sovellusta Lisäosa {AddAllRemote () heittää RemoteException {super ()} julkinen int lisää (int r, int s) {return r + s}}

Luo tynkä ja luuranko objektit käyttämällä rmic (rmi-kääntäjä).

Tynkä- ja luuranko-objektit voidaan luoda käyttämällä rmi-kääntäjää. Rmi-työkalu kutsuu RMI-kääntäjän luomaan objektit.
rmic AddAllRemote

Käynnistä rekisteripalvelu rmiregistry-työkalun avulla.

Rekisteripalvelu voidaan käynnistää rmregistry-työkalulla. Oletusporttinumeroa käytetään, jos käyttäjä ei ole määrittänyt sitä.
rmiregistry 5000

Tämän artikkelin siirtäminen Markerin käyttöliittymästä Javassa

Luo ja käynnistä etäsovellus.

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

Etäobjektia sitoo nimi sak yllä olevassa esimerkissä.

system.exit-menetelmä lopettaa sovelluksen.

Tämän artikkelin siirtäminen Markerin käyttöliittymästä Javassa

Luo ja käynnistä asiakassovellus.

Annetussa esimerkissä palvelinta ja asiakassovelluksia ajetaan samalla koneella. Siksi käytetään paikallista palvelinta.

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

Jos haluat käyttää etäobjektia toisella koneella, paikallinen isäntänimi on vaihdettava IP-osoitteeksi tai isäntänimeksi, jossa etäobjekti sijaitsee.

Tehokas tapa luokitella koodi voidaan saavuttaa käyttämällä markkeriliitäntää.

Siksi olemme päässeet tämän artikkelin loppuun. Jos haluat oppia lisää, tutustu Edureka, luotettava verkko-oppimisyritys. Edurekan Java J2EE- ja SOA-koulutus- ja sertifiointikurssit on suunniteltu kouluttamaan sekä ydin- että edistyneitä Java-konsepteja sekä erilaisia ​​Java-kehyksiä, kuten Hibernate & Spring.

Onko sinulla kysymys meille? Mainitse se tämän blogin kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.