¿Cómo implementar la interfaz de marcador en Java?



Este artículo le informará sobre un aspecto interesante de las interfaces llamado Interfaz de marcador en Java y lo seguirá con la implementación.

Este artículo le informará sobre un aspecto interesante de las interfaces denominado Interfaz de marcador en y darle seguimiento con la implementación. En este artículo se cubrirán los siguientes consejos,

Así que comencemos entonces





La interfaz de marcador es una interfaz que está vacía, es decir, no contiene ningún método o campo. También se conoce como interfaz de etiquetado y se utiliza para indicar o informar a la JVM que una clase que implemente esta interfaz tendrá algún comportamiento especial. Se puede lograr una forma eficiente de clasificar el código utilizando la interfaz de marcador. Ejemplos de una interfaz de este tipo son: Interfaz serializable, clonable y remota.

Avanzando con este artículo sobre la interfaz de marcador en Java



Interfaz serializable

La serialización en Java se puede definir como el proceso de convertir el estado de un objeto en un flujo de bytes. Esto se puede lograr utilizando la interfaz serializable que está presente en java.io.package. Cabe señalar que todos los subtipos de una clase serializable son ellos mismos serializables.

Ejemplo:

import java.io. * class Main implementa Serializable {int j String s // Un constructor de clase public Main (int j, String s) {this.j = j this.s = s}} public class Test {public static void main (String [] args) lanza IOException, ClassNotFoundException {Main obj = new Main (25, 'HelloWorld') // Serializando 'obj' FileOutputStream fos = new FileOutputStream ('pqr.txt') ObjectOutputStream oos = new ObjectOutputStream (fos) oos .writeObject (obj) // Desserializando 'obj' FileInputStream fis = new FileInputStream ('pqr.txt') ObjectInputStream ois = new ObjectInputStream (fis) Main b = (Main) ois.readObject () // objeto de conversión descendente System.out.println (b.j + '' + bs) // cerrando secuencias oos.close () ois.close ()}}

Salida:
25 HolaMundo



Avanzando con este artículo sobre la interfaz de marcador en Java

Interfaz clonable:

Esta interfaz se puede encontrar en el paquete java.lang. La clonación es el mecanismo de generar una réplica o una copia exacta de un objeto con un nombre diferente.
La interfaz clonable es implementada por una clase para indicar al método object.clone () que es legal que el método haga una copia campo por campo de las instancias de esa clase.
Se lanza una CloneNotSupportedException para una clase que invoca el método clon sin implementar una interfaz clonable.

Ejemplo:

import java.lang.Cloneable class javaClone implementa Cloneable {int j String s // Definiendo un constructor de clase public javaClone (int j, String s) {this.j = j this.s = s} // Anulación del método clone () @ Anular objeto protegido clone () lanza CloneNotSupportedException {return super.clone ()}} public class Main {public static void main (String [] args) throws CloneNotSupportedException {javaClone c = new javaClone (18, 'HelloWorld') // clonación ' c 'y manteniendo // nueva referencia de objeto clonado en b // down-casting javaClone b = (javaClone) c.clone () System.out.println (bj) System.out.println (bs)}}

Salida:
18
Hola Mundo

Avanzando con este artículo sobre la interfaz de marcador en Java

Interfaz remota:

Un objeto remoto se puede definir como un objeto cuyos métodos se pueden invocar desde una JVM diferente, potencialmente en otro host. Esta interfaz se encuentra en el paquete java.rmi. Un objeto remoto debe implementar este método directa o indirectamente.

RMI:

La Convocación de método remoto es una API que permite a un objeto invocar métodos en un objeto que se ejecuta en una JVM diferente. Proporciona comunicación remota entre las dos aplicaciones utilizando los siguientes objetos: stub y skeleton.

Talón:

Un stub se puede definir como un objeto que está presente en el lado del cliente y representa el objeto remoto. Crea un bloque de información que consta de:
α Identificador del objeto remoto
α Nombre del método que se va a invocar
α Parámetros para la JVM remota

Esqueleto:

El trabajo principal del objeto esqueleto es pasar las solicitudes del código auxiliar al objeto remoto. Además, realiza las tareas que se detallan a continuación:
α Invoca el método deseado en el objeto remoto original
α Lee el parámetro especificado para el objeto remoto

Avanzando con este artículo sobre la interfaz de marcador en Java

Java convertir de doble a int

Pasos para implementar la interfaz remota:

Defina una interfaz remota:

import java.rmi. * interfaz pública AddAll extiende Remote {public int add (int r, int s) throws RemoteException}

Aquí, la interfaz remota se extiende y RemoteException se declara con todos los métodos de la interfaz remota.

Avanzando con este artículo sobre la interfaz de marcador en Java

Implementar la interfaz remota:

Hay dos formas de proporcionar implementación a la interfaz remota:
α Amplíe la clase UnicastRemoteObject
α Usa el método exportObject () de la clase UnicastRemoteObject

import java.rmi. * import java.rmi.server. * public class AddAllRemote extiende UnicastRemoteObject implementa Adder {AddAllRemote () throws RemoteException {super ()} public int add (int r, int s) {return r + s}}

Usando rmic (compilador rmi), cree los objetos stub y skeleton.

Los objetos stub y skeleton se pueden crear usando el compilador rmi. La herramienta rmi invoca al compilador RMI para crear los objetos.
rmic AddAllRemote

Con la herramienta rmiregistry, inicie el servicio de registro.

El servicio de registro se puede iniciar mediante la herramienta rmregistry. Se utiliza un número de puerto predeterminado si no lo especifica el usuario.
rmiregistry 5000

Avanzando con este artículo sobre la interfaz de marcador en Java

Cree e inicie la aplicación remota.

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

El objeto remoto está vinculado por el nombre sak en el ejemplo anterior.

Avanzando con este artículo sobre la interfaz de marcador en Java

Cree e inicie la aplicación cliente.

En el ejemplo dado, el servidor y las aplicaciones cliente se ejecutan en la misma máquina. Por lo tanto, se está haciendo el uso de localhost.

import java.rmi. * public class Cliente {public static void main (String args []) {try {AddAll stub = (AddAll) Naming.lookup ('rmi: // localhost: 5000 / sak') System.out.println (stub.add (29,18))} captura (Excepción e) {}}}

Para acceder al objeto remoto desde una máquina diferente, el nombre del host local debe cambiarse a la dirección IP o al nombre del host donde se encuentra el objeto remoto.

Se puede lograr una forma eficiente de clasificar el código utilizando la interfaz de marcador.

Así hemos llegado al final de este artículo. Si desea obtener más información, consulte el por Edureka, una empresa de aprendizaje en línea de confianza. El curso de capacitación y certificación Java J2EE y SOA de Edureka está diseñado para capacitarlo en conceptos básicos y avanzados de Java junto con varios marcos de Java como Hibernate y Spring.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este blog y nos pondremos en contacto con usted lo antes posible.