Denna artikel kommer att informera dig om en intressant aspekt av gränssnitt som kallas Marker Interface In och följa upp det med implementeringen. Följande tips kommer att behandlas i den här artikeln,
- Serialiserbart gränssnitt
- Klonabelt gränssnitt
- Fjärrgränssnitt
- Steg för att implementera fjärrgränssnitt
- Definiera ett fjärrgränssnitt
- Implementera fjärrgränssnittet
- Skapa och starta fjärrprogrammet
- Skapa och starta klientapplikationen
Så låt oss komma igång då,
Markörgränssnitt är ett gränssnitt som är tomt, dvs det innehåller inga metoder eller fält. Det är också känt som ett tagggränssnitt och används för att indikera eller informera JVM om att en klass som implementerar detta gränssnitt kommer att ha något speciellt beteende. Ett effektivt sätt att klassificera kod kan uppnås med hjälp av markörgränssnittet. Exempel på ett sådant gränssnitt är: Serializable, Cloneable och Remote Interface.
Flytta med den här artikeln om Marker Interface i Java
Serialiserbart gränssnitt
Serialisering i java kan definieras som processen att konvertera ett objekts tillstånd till en byte-ström. Detta kan uppnås med hjälp av det serieiserbara gränssnittet som finns i java.io.package. Det måste noteras att alla undertyper av en serie som klassificeras kan själva serienummeras.
Exempel:
importera java.io. * klass Huvudredskap Serierbart {int j Sträng s // En klasskonstruktör offentlig Main (int j, String s) {this.j = j this.s = s}} public class Test {public static void main (String [] args) kastar IOException, ClassNotFoundException {Main obj = new Main (25, 'HelloWorld') // Serializing 'obj' FileOutputStream fos = new FileOutputStream ('pqr.txt') ObjectOutputStream oos = new ObjectOutputStream (fos) oos .writeObject (obj) // Avserialisering av 'obj' 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) // stänga strömmar oos.close () ois.close ()}}
Produktion:
25 HelloWorld
Flytta med den här artikeln om Marker Interface i Java
Klonabelt gränssnitt:
Detta gränssnitt finns i paketet java.lang. Kloning är mekanismen för att generera en replika eller en exakt kopia av ett objekt med ett annat namn.
Det klonbara gränssnittet implementeras av en klass för att indikera för objektet.clone () -metoden att det är lagligt för metoden att göra en fält-för-fält-kopia av instanser av den klassen.
En CloneNotSupportedException kastas för en klass som åberopar klonmetoden utan att implementera ett klonbart gränssnitt.
Exempel:
importera java.lang.Cloneable-klass javaClone implementerar Cloneable {int j String s // Definiera en klasskonstruktör offentlig javaClone (int j, String s) {this.j = j this.s = s} // Overriding clone () -metod @ Åsidosätta skyddad objektklon () kastar CloneNotSupportedException {returnera super.clone ()}} allmän klass Huvud {offentlig statisk ogiltig huvud (String [] args) kastar CloneNotSupportedException {javaClone c = ny javaClone (18, 'HelloWorld') // kloning ' c 'och håller // ny klonad objektreferens i b // ned-casting javaClone b = (javaClone) c.clone () System.out.println (bj) System.out.println (bs)}}
Produktion:
18
Hej världen
Flytta med den här artikeln om Marker Interface i Java
Fjärrgränssnitt:
Ett fjärrobjekt kan definieras som ett objekt vars metoder kan åberopas från en annan JVM, eventuellt på en annan värd. Detta gränssnitt finns i paketet java.rmi. Ett avlägset objekt måste implementera denna metod direkt eller indirekt.
RMI:
Remote Method Convocation är ett API som gör det möjligt för ett objekt att anropa metoder på ett objekt som körs i en annan JVM. Det ger fjärrkommunikation mellan de två applikationerna med följande objekt: stub och skelett.
Stump:
En stub kan definieras som ett objekt som finns på klientsidan och representerar fjärrobjektet. Det skapar ett informationsblock som består av:
α Identifierare för fjärrobjektet
α Namn på metoden som ska åberopas
α Parametrar till fjärr-JVM
vad är en primär nyckelbegränsning
Skelett:
Skelettobjektets huvudsakliga jobb är att skicka förfrågningarna från stubben till fjärrobjektet. Dessutom utför den de uppgifter som anges nedan:
α Den åberopar den önskade metoden på det ursprungliga fjärrobjektet
α Läser parametern som anges för fjärrobjektet
Flytta med den här artikeln om Marker Interface i Java
Steg för att implementera fjärrgränssnitt:
Definiera ett fjärrgränssnitt:
importera java.rmi. * offentligt gränssnitt AddAll förlänger Fjärr {public int add (int r, int s) kastar RemoteException}
Här utökas fjärrgränssnittet och RemoteException deklareras med alla metoder för fjärrgränssnittet.
Flytta med den här artikeln om Marker Interface i Java
Implementera fjärrgränssnittet:
Det finns två sätt att ge implementering till fjärrgränssnittet:
α Utöka klassen UnicastRemoteObject
α Använd exportObject () -metoden i UnicastRemoteObject-klassen
importera java.rmi. * importera java.rmi.server. * public class AddAllRemote utökar UnicastRemoteObject implementerar Adder {AddAllRemote () kastar RemoteException {super ()} public int add (int r, int s) {return r + s}}
Skapa stubben och skelettobjekten med hjälp av rmic (rmi-kompilator).
Stubben och skelettobjekten kan skapas med hjälp av rmi-kompilatorn. Rmi-verktyget anropar RMI-kompilatorn för att skapa objekten.
rmic AddAllRemote
Starta registertjänsten med hjälp av rmiregistry-verktyget.
Registreringstjänsten kan startas med hjälp av rmregistry-verktyget. Ett standardportnummer används om det inte anges av användaren.
rmiregistry 5000
Flytta med den här artikeln om Marker Interface i Java
Skapa och starta fjärrprogrammet.
importera java.rmi. * importera 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 (Undantag e) {System.out.println (e)}}
Det avlägsna objektet binds till namnet sak i exemplet ovan.
datatyp för datum i sql
Flytta med den här artikeln om Marker Interface i Java
Skapa och starta klientapplikationen.
I det givna exemplet körs servern och klientapplikationerna på samma maskin. Således görs användningen av localhost.
importera 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))} fångst (undantag e) {}}}
För att komma åt fjärrobjektet från en annan maskin måste det lokala värdnamnet ändras till IP-adressen eller värdnamnet där fjärrobjektet finns.
Ett effektivt sätt att klassificera kod kan uppnås med hjälp av markörgränssnittet.
Således har vi kommit till ett slut på den här artikeln. Om du vill veta mer, kolla in av Edureka, ett pålitligt inlärningsföretag online. Edurekas Java J2EE- och SOA-utbildning och certifieringskurs är utformad för att träna dig för både grundläggande och avancerade Java-koncept tillsammans med olika Java-ramverk som Hibernate & Spring.
Har du en fråga till oss? Vänligen nämna det i kommentarsektionen på den här bloggen så kommer vi tillbaka till dig så snart som möjligt.