Como implementar a interface do marcador em Java?



Este artigo irá informá-lo sobre um aspecto interessante das interfaces chamado Marker Interface em Java e o acompanhará com a implementação.

Este artigo irá informá-lo sobre um aspecto interessante das interfaces chamado Marker Interface In e acompanhar a implementação. As dicas a seguir serão abordadas neste artigo,

Então, vamos começar,





A interface do marcador é uma interface vazia, ou seja, não contém nenhum método ou campo. Também é conhecida como interface de marcação e é usada para indicar ou informar à JVM que uma classe que implementa essa interface terá algum comportamento especial. Uma maneira eficiente de classificar o código pode ser obtida usando a interface do marcador. Exemplos de tal interface são: Interface serializável, clonável e remota.

Continuando com este artigo sobre Marker Interface em Java



Interface serializável

A serialização em java pode ser definida como o processo de conversão do estado de um objeto em um fluxo de bytes. Isso pode ser obtido usando a interface serializável que está presente em java.io.package. Deve-se observar que todos os subtipos de uma classe serializável são eles próprios serializáveis.

Exemplo:

import java.io. * class Main implementa Serializable {int j String s // Um ​​construtor de classe public Main (int j, String s) {this.j = j this.s = s}} public class Test {public static void main (String [] args) throws IOException, ClassNotFoundException {Main obj = new Main (25, 'HelloWorld') // Serializing 'obj' FileOutputStream fos = new FileOutputStream ('pqr.txt') ObjectOutputStream oos = new ObjectOutputStream (fos) oos .writeObject (obj) // Des-serializando 'obj' FileInputStream fis = new FileInputStream ('pqr.txt') ObjectInputStream ois = new ObjectInputStream (fis) Main b = (Main) ois.readObject () // baixando o objeto System.out.println (b.j + '' + bs) // fechando fluxos oos.close () ois.close ()}}

Resultado:
25 HelloWorld



Continuando com este artigo sobre Marker Interface em Java

Interface clonável:

Essa interface pode ser encontrada no pacote java.lang. Clonagem é o mecanismo de geração de uma réplica ou cópia exata de um objeto com um nome diferente.
A interface clonável é implementada por uma classe para indicar ao método object.clone () que é legal para o método fazer uma cópia campo a campo de instâncias dessa classe.
Uma CloneNotSupportedException é lançada para uma classe que invoca o método clone sem implementar uma interface clonável.

Exemplo:

import java.lang.Cloneable class javaClone implementa Cloneable {int j String s // Definindo um construtor de classe public javaClone (int j, String s) {this.j = j this.s = s} // Substituindo método clone () @ Substituir objeto protegido clone () lança CloneNotSupportedException {return super.clone ()}} public class Main {public static void main (String [] args) throws CloneNotSupportedException {javaClone c = new javaClone (18, 'HelloWorld') // clonagem ' c 'e mantendo // nova referência de objeto clonado em b // downcast javaClone b = (javaClone) c.clone () System.out.println (bj) System.out.println (bs)}}

Resultado:
18
Olá Mundo

Continuando com este artigo sobre Marker Interface em Java

Interface remota:

Um objeto remoto pode ser definido como um objeto cujos métodos podem ser chamados de uma JVM diferente, potencialmente em outro host. Essa interface é encontrada no pacote java.rmi. Um objeto remoto deve implementar este método direta ou indiretamente.

RMI:

Convocação de método remoto é uma API que permite a um objeto invocar métodos em um objeto em execução em uma JVM diferente. Ele fornece comunicação remota entre os dois aplicativos usando os seguintes objetos: stub e esqueleto.

Stub:

Um stub pode ser definido como um objeto que está presente no lado do cliente e representa o objeto remoto. Ele cria um bloco de informações que consiste em:
α Identificador do objeto remoto
α Nome do método que deve ser invocado
Parâmetros α para o JVM remoto

Esqueleto:

A principal tarefa do objeto esqueleto é passar as solicitações do stub para o objeto remoto. Além disso, ele executa as tarefas abaixo:
α Invoca o método desejado no objeto remoto original
α Lê o parâmetro especificado para o objeto remoto

Continuando com este artigo sobre Marker Interface em Java

Etapas para implementar a interface remota:

Defina uma interface remota:

import java.rmi. * public interface AddAll extends Remote {public int add (int r, int s) throws RemoteException}

Aqui, a interface remota é estendida e RemoteException é declarada com todos os métodos da interface remota.

Continuando com este artigo sobre Marker Interface em Java

Implemente a interface remota:

Existem duas maneiras de fornecer implementação para a interface remota:
α Estenda a classe UnicastRemoteObject
α Use o método exportObject () da classe UnicastRemoteObject

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

Usando o rmic (compilador rmi), crie os objetos stub e esqueleto.

Os objetos stub e esqueleto podem ser criados usando o compilador rmi. A ferramenta rmi invoca o compilador RMI para criar os objetos.
rmic AddAllRemote

Usando a ferramenta rmiregistry, inicie o serviço de registro.

O serviço de registro pode ser iniciado usando a ferramenta rmregistry. Um número de porta padrão é usado se não for especificado pelo usuário.
rmiregistry 5000

Continuando com este artigo sobre Marker Interface em Java

Crie e inicie o aplicativo remoto.

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 (Exceção e) {System.out.println (e)}}}

O objeto remoto está sendo vinculado pelo nome sak no exemplo acima.

Continuando com este artigo sobre Marker Interface em Java

Crie e inicie o aplicativo cliente.

No exemplo dado, o servidor e os aplicativos cliente estão sendo executados na mesma máquina. Assim, o uso de localhost está sendo feito.

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))} catch (Exceção e) {}}}

Para acessar o objeto remoto de uma máquina diferente, o nome do host local deve ser alterado para o endereço IP ou o nome do host onde o objeto remoto está localizado.

Uma maneira eficiente de classificar o código pode ser obtida usando a interface do marcador.

Assim, chegamos ao final deste artigo. Se você deseja saber mais, confira o pela Edureka, uma empresa de aprendizagem online confiável. O curso de certificação e treinamento em Java J2EE e SOA da Edureka foi projetado para treiná-lo tanto para conceitos básicos quanto avançados de Java, juntamente com várias estruturas Java como Hibernate e Spring.

implementar fila de prioridade c ++

Tem alguma questão para nós? Mencione isso na seção de comentários deste blog e entraremos em contato com você o mais breve possível.