Sådan implementeres Marker Interface i Java?

Denne artikel vil orientere dig om et interessant aspekt af grænseflader kaldet Marker Interface i Java og følge det op med implementeringen.

Denne artikel vil orientere dig om et interessant aspekt af grænseflader kaldet Marker Interface In og følge det op med implementeringen. Følgende punkter vil blive dækket i denne artikel,



Så lad os komme i gang dengang,



Markørgrænseflade er en grænseflade, der er tom, dvs. den indeholder ingen metoder eller felter. Det er også kendt som en tagging-interface og bruges til at indikere eller informere JVM om, at en klasse, der implementerer denne interface, vil have en vis speciel adfærd. En effektiv måde at klassificere kode på kan opnås ved hjælp af markørgrænsefladen. Eksempler på en sådan grænseflade er: Serialiserbar, klonbar og ekstern grænseflade.

Flytter med denne artikel om Marker Interface i Java



hvordan man finder længden af ​​en matrix i javascript

Serialiserbart interface

Serialisering i java kan defineres som processen med at konvertere et objekts tilstand til en byte-strøm. Dette kan opnås ved hjælp af den serielle interface, der findes i java.io.package. Det skal bemærkes, at alle undertyper af en serie, der kan serialiseres, i sig selv kan serialiseres.

Eksempel:

import java.io. * klasse Hovedredskaber Serialiserbar {int j String s // En klassekonstruktør offentlig Main (int j, String s) {this.j = j this.s = s}} public class Test {public static void main (String [] args) kaster IOException, ClassNotFoundException {Main obj = new Main (25, 'HelloWorld') // Serializing 'obj' FileOutputStream fos = new FileOutputStream ('pqr.txt') ObjectOutputStream oos = new ObjectOutputStream (fos) oos .writeObject (obj) // Afserialisering af 'obj' FileInputStream fis = ny FileInputStream ('pqr.txt') ObjectInputStream ois = ny ObjectInputStream (fis) Main b = (Main) ois.readObject () // ned-castende objekt System.out.println (b.j + '' + bs) // lukning af streams oos.close () ois.close ()}}

Produktion:
25 HelloWorld



Flytter med denne artikel om Marker Interface i Java

Klonabelt interface:

Denne grænseflade findes i pakken java.lang. Kloning er mekanismen til at generere en replika eller en nøjagtig kopi af et objekt med et andet navn.
Den klonbare grænseflade implementeres af en klasse for at indikere til objektet.clone () -metoden, at det er lovligt, at metoden laver en felt-til-felt-kopi af forekomster af den klasse.
En CloneNotSupportedException kastes til en klasse, der påberåber sig klonmetoden uden at implementere en klonbar grænseflade.

Eksempel:

importer java.lang.Cloneable klasse javaClone implementerer Cloneable {int j String s // Definere en klassekonstruktør offentlig javaClone (int j, String s) {this.j = j this.s = s} // Overriding clone () metode @ Tilsidesæt beskyttet objektklon () kaster CloneNotSupportedException {return super.clone ()}} offentlig klasse Main {offentlig statisk ugyldig main (String [] args) kaster CloneNotSupportedException {javaClone c = ny javaClone (18, 'HelloWorld') // kloning ' c 'og holder // ny klonet objektreference i b // nedstøbning javaClone b = (javaClone) c.clone () System.out.println (bj) System.out.println (bs)}}

Produktion:
18
Hej Verden

Flytter med denne artikel om Marker Interface i Java

Fjernbetjening:

Et fjernobjekt kan defineres som et objekt, hvis metoder kan påberåbes fra en anden JVM, potentielt på en anden vært. Denne grænseflade findes i pakken java.rmi. Et eksternt objekt skal implementere denne metode direkte eller indirekte.

RMI:

Remote Method Convocation er en API, der gør det muligt for et objekt at påberåbe sig metoder på et objekt, der kører i en anden JVM. Det giver fjernkommunikation mellem de to applikationer ved hjælp af følgende objekter: stub og skelet.

Stub:

forskel mellem klasse og interface

En stub kan defineres som et objekt, der er til stede på klientsiden og repræsenterer det fjerne objekt. Det opretter en informationsblok, der består af:
α Identifikation af det fjerne objekt
α Navn på den metode, der skal påberåbes
α Parametre til fjernbetjening JVM

Skelet:

Skeletobjektets hovedopgave er at videresende anmodningerne fra stuben til det fjerne objekt. Derudover udfører den nedenstående opgaver:
α Det påberåber den ønskede metode på det originale fjernobjekt
α Læser den parameter, der er angivet for det eksterne objekt

Flytter med denne artikel om Marker Interface i Java

Trin til implementering af fjernbetjening:

Definer en ekstern grænseflade:

import java.rmi. * offentlig grænseflade AddAll udvider Remote {public int add (int r, int s) kaster RemoteException}

Her udvides Remote interface, og RemoteException erklæres med alle metoderne i remote interface.

Flytter med denne artikel om Marker Interface i Java

Implementere den eksterne grænseflade:

Der er to måder at give implementering til den eksterne grænseflade:
α Udvid klassen UnicastRemoteObject
α Brug eksportObject () -metoden i UnicastRemoteObject-klassen

import java.rmi. * import java.rmi.server. * offentlig klasse AddAllRemote udvider UnicastRemoteObject implementerer Adder {AddAllRemote () kaster RemoteException {super ()} public int add (int r, int s) {return r + s}}

Brug rmic (rmi compiler) til at oprette stub og skelet objekter.

Stub- og skeletobjekterne kan oprettes ved hjælp af rmi-kompilatoren. Rmi-værktøjet påkalder RMI-kompilatoren for at oprette objekterne.
rmic AddAllRemote

Brug rmiregistry-værktøjet til at starte registreringsdatabasetjenesten.

Registreringstjenesten kan startes ved hjælp af rmregistry-værktøjet. Et standardportnummer bruges, hvis ikke brugeren angiver det.
rmiregistry 5000

Flytter med denne artikel om Marker Interface i Java

Opret og start fjernapplikationen.

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 (Undtagelse e) {System.out.println (e)}}

Fjernbetjeningen er bundet af navnet sak i ovenstående eksempel.

Flytter med denne artikel om Marker Interface i Java

Opret og start klientapplikationen.

I det givne eksempel køres serveren og klientapplikationerne på den samme maskine. Således sker brugen af ​​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))} fangst (Undtagelse e) {}}}

For at få adgang til det eksterne objekt fra en anden maskine skal det lokale værtsnavn ændres til IP-adressen eller det værtsnavn, hvor det eksterne objekt er placeret.

En effektiv måde at klassificere kode på kan opnås ved hjælp af markørgrænsefladen.

er atom godt for python

Således er vi nået til slutningen af ​​denne artikel. Hvis du ønsker at lære mere, skal du tjekke af Edureka, et betroet online læringsfirma. Edurekas Java J2EE- og SOA-uddannelses- og certificeringskursus er designet til at træne dig til både kerne- og avancerede Java-koncepter sammen med forskellige Java-rammer som Hibernate & Spring.

Har du et spørgsmål til os? Nævn det i kommentarsektionen på denne blog, og vi vender tilbage til dig hurtigst muligt.