Serialización y deserialización de Java para registros de entrevistas

pregunta:

1. ¿Conoces la serialización y la deserialización? como alcanzar

2. Por qué usar la serialización

Introducción a la serialización

        La serialización es el proceso de convertir el estado de un objeto en una forma almacenable o transportable. Durante la serialización, los objetos se codifican en un formato específico que puede almacenarse en un archivo de disco, enviarse a través de una red a un sistema remoto o almacenarse en un caché en memoria. Por el contrario, el proceso de restaurar objetos codificados desde estas áreas de almacenamiento a objetos se denomina deserialización. La serialización es una tecnología importante en informática, a menudo utilizada en aplicaciones distribuidas, comunicación en red, mecanismos de almacenamiento en caché, persistencia, etc.

JSON también es un tipo de serialización.

Implementación de serialización:

        Hay dos formas principales de implementar la serialización en Java: la serialización propia de Java y la serialización proporcionada por bibliotecas de terceros.

  1. Serialización que viene con Java: Java proporciona la interfaz Serializable para implementar la serialización. Simplemente deje que la clase de objeto implemente la interfaz Serializable, el objeto se puede serializar en un flujo de bytes y se puede transmitir en la red o almacenar en un archivo.

  2. Serialización proporcionada por bibliotecas de terceros: las bibliotecas de terceros comúnmente utilizadas incluyen Protobuf de Google, Avro de Apache y Thrift de Facebook. Estas bibliotecas utilizan diferentes algoritmos de serialización para serializar objetos, lo que puede proporcionar un mejor rendimiento y un volumen de datos serializados más pequeño.

        Diferentes métodos de serialización son adecuados para diferentes escenarios. El método de serialización incorporado de Java es fácil de usar, pero los datos serializados son grandes y su rendimiento no es tan bueno como el método de serialización proporcionado por una biblioteca de terceros. El método de serialización proporcionado por la biblioteca de terceros puede elegir diferentes algoritmos según las necesidades reales para lograr un mejor rendimiento y efecto de compresión de datos.

Por qué usar la serialización:

        Sabemos que la serialización se usa para la transmisión, quien la serializará a otra clase en su propia clase. Por lo tanto, desde la perspectiva de utilizar la transmisión serializada para responder

  1. transmisión de red

    Cuando un objeto debe transmitirse a través de la red, el objeto debe serializarse en un formato binario, que puede transmitirse convenientemente a través de la red. Una vez que el receptor recibe el objeto, los datos binarios se pueden volver a convertir en un objeto mediante la deserialización.
  2. Persistencia

    Cuando los objetos deben persistir en el disco o la base de datos, los objetos pueden serializarse en formato binario y luego almacenarse en archivos o bases de datos. Cuando es necesario leer el objeto, los datos binarios se pueden volver a convertir en un objeto mediante la deserialización.
  3. transferencia entre idiomas

    Cuando es necesario transferir objetos entre diferentes lenguajes de programación, los objetos se pueden serializar en un formato estándar (como JSON o XML) y el receptor convierte los datos en su propio objeto de acuerdo con el formato estándar. De esta manera, la comunicación entre idiomas se puede realizar fácilmente.

        En resumen, la serialización puede convertir objetos en formato binario, de modo que los objetos puedan transferirse fácilmente y persistir en diferentes sistemas. Al mismo tiempo, el mecanismo de serialización en Java es un mecanismo general que puede admitir la transmisión entre idiomas.

¿Por qué necesita serializar en Java cuando tiene JSON?

        Normalmente, podemos usar el formato JSON para la serialización y deserialización de objetos. Pero en algunos casos puede ser más apropiado usar la serialización de Java:

  1. integridad de los datos

    La serialización de Java es la serialización y deserialización completa de objetos, incluido el estado interno y todos los atributos de los objetos, lo que puede garantizar la integridad y coherencia de los datos.
  2. flexibilidad de tipo de objeto

    Con la serialización de Java, la información de tipo del objeto se puede incluir durante el proceso de transmisión y se puede crear una instancia del objeto durante la deserialización para garantizar la flexibilidad del tipo de objeto.
  3. Integridad relacional de objetos

    La serialización de Java puede serializar la relación entre objetos, incluida la relación padre-hijo, la relación de membresía, etc., y puede garantizar la integridad de la relación.
  4. Escenario de aplicación

    La serialización de Java se usa generalmente para la serialización de objetos dentro de los programas de Java, mientras que JSON se usa a menudo para el intercambio y almacenamiento de datos en aplicaciones web.

Beneficios de usar la serialización:

        La serialización en Java es el proceso de convertir un objeto en un flujo de bytes para que el objeto pueda transmitirse a través de la red o guardarse en un archivo. La serialización tiene los siguientes beneficios:

  1. Transmisión de red: durante la transmisión de red, los objetos se pueden serializar en flujos de bytes para la transmisión, lo que puede reducir la cantidad de datos transmitidos a través de la red y mejorar la eficiencia de la transmisión.
  2. Compatibilidad multiplataforma: los objetos serializados se pueden deserializar en máquinas virtuales Java de diferentes plataformas para realizar la transmisión de datos multiplataforma.
  3. Almacenamiento persistente: los objetos se pueden serializar y guardar en archivos para que se puedan volver a leer cuando sea necesario para lograr un almacenamiento de datos persistente.
  4. Almacenamiento en caché: cuando los objetos deben leerse con frecuencia, los objetos serializados se pueden almacenar en caché en la memoria para una lectura rápida y un mejor rendimiento del sistema.

En general, la serialización de Java puede implementar convenientemente operaciones como transmisión de datos, almacenamiento y almacenamiento en caché, y mejorar la eficiencia y el rendimiento del sistema.

Resumir:

  • JSON también es un tipo de serialización.
  • La serialización puede lograr efectos de rendimiento y compresión de datos
  • Los objetos serializados de Java se pueden deserializar en máquinas virtuales Java en diferentes plataformas
  • La serialización de Java es la serialización y deserialización completa de objetos, incluido el estado interno del objeto, todas las propiedades, padres, etc., para garantizar la integridad y coherencia de los datos.

Supongo que te gusta

Origin blog.csdn.net/qq_37761711/article/details/130298436
Recomendado
Clasificación