Estoy comenzando con la Programación Orientada a Objetos (OOP) y me gustaría saber: ¿cuál es el significado de la serialización en el lenguaje OOP?
Estoy comenzando con la Programación Orientada a Objetos (OOP) y me gustaría saber: ¿cuál es el significado de la serialización en el lenguaje OOP?
Respuestas:
La serialización es el proceso de convertir un objeto en la memoria en una secuencia de bytes para que pueda hacer cosas como almacenarlo en el disco o enviarlo a través de la red.
La deserialización es el proceso inverso: convertir una secuencia de bytes en un objeto en la memoria.
Marshal
y Unmarshal
son sinónimos de Serialize
y Deserialize
.
abc
se serializaría como 0x61 0x62 0x63
(ASCII) o 0x00 0x61 0x00 0x62 0x00 0x63
(UTF16), con o sin elementos como terminadores NUL o longitudes codificadas.
Simplemente hablando, la serialización es un proceso de convertir un objeto en una secuencia de bytes para que pueda transferirse a través de una red o almacenarse en un almacenamiento persistente.
La deserialización es exactamente lo contrario: obtenga una secuencia de bytes de la red o del almacenamiento de persistencia y conviértala nuevamente al Objeto con el mismo estado .
Lo que hay que entender es cómo se interpretan o manipulan esos flujos de bytes para que obtengamos exactamente el mismo Objeto / mismo estado. Hay varias formas de lograr eso. Algunos de ellos son -
Serializable interface
y escribiendo en Object Stream.JSON
entere desde cero, ya que no sé nada al respecto
Supongamos que estoy hablando con mi amigo por teléfono y le estoy contando sobre mi nuevo cachorro.
Aquí está mi problema: el cachorro es un mamífero vivo que respira. ¿Cómo se supone que voy a transmitir un cachorro por la línea telefónica? No puedo poner físicamente a mi cachorro en el receptor de mi teléfono.
Entonces, en cambio, tendré que transmitir una representación del cachorro por teléfono. En otras palabras, luego serializo a mi perro Rex y le envío la versión serializada de Rex a través de la línea telefónica:
{ "name":"Rex", "age":5, "favourite_food": pedigree_choice_cuts, "favourite_game": fetch_ball, "favourite_hobby": wagging_tail }
Es una representación perfecta: una serialización de mi perro.
La serialización básicamente significa transformar mi perro Rex en otra cosa, un objeto JSON, que luego puede transportarse a través de la línea telefónica como una serie de 1s y 0s. Mi amigo en Nueva York puede traducir esos 1s y 0s nuevamente en un objeto JSON, para que tenga una representación perfecta de mi perro Rex.
Mira esto, te dará una buena explicación:
http://en.wikipedia.org/wiki/Serialization
Creo que el uso más común del término serialización tiene que ver con convertir un objeto binario en una representación XML (u otra cadena) para que pueda almacenarse en una base de datos / archivo o enviarse a través de una red en una llamada de servicio web. La deserialización es el proceso inverso: convertir un XML / cadena de nuevo en un objeto.
EDITAR: Otro término con el que te puedes encontrar es ordenar / desarmar. La clasificación es básicamente el mismo concepto que la serialización, y la desorganización es lo mismo que la deserialización.
La serialización es el proceso de convertir un objeto en una secuencia de bytes para almacenar el objeto o transmitirlo a la memoria, una base de datos o un archivo. Su objetivo principal es guardar el estado de un objeto para poder recrearlo cuando sea necesario. El proceso inverso se llama deserialización.
...
Esta ilustración muestra el proceso general de serialización
...
A través de la serialización, un desarrollador puede realizar acciones como enviar el objeto a una aplicación remota a través de un servicio web, pasar un objeto de un dominio a otro, pasar un objeto a través de un firewall como una cadena XML, o mantener la seguridad o el usuario específico información entre aplicaciones
Desde https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/serialization/
(énfasis mío)
La serialización es el proceso de convertir datos no ordenados (como un objeto) en una serie de tokens que se pueden usar más tarde para reconstruir los datos originales. La forma serializada suele ser una cadena de texto, pero no tiene que ser así.
la serialización está convirtiendo un objeto en una secuencia de bits almacenable.
para que pueda guardar esta secuencia en un archivo, db o enviar a través de la red.
luego puede deserializarlo al objeto real y reutilizarlo cuando lo desee.
Web Services y AJAX es el ejemplo más común de serialización. Los objetos se serializan antes de enviar la respuesta al cliente.
la serialización no es más que transferir el objeto compatible con Java a un formulario compatible con archivos
(OR)
convertir el formulario compatible con Java en un formulario compatible con la red ... el alcance principal de la serialización no es más que transferir los datos de una capa a la otra ... solo objetos serializados que podemos enviar a través de la red ...
La serialización es el proceso de convertir un objeto compatible con Java, C # o cualquier otro (lenguajes OOP) en una forma transportable. De esta manera, se transporta a través de la red o se almacena en un disco. Para que una clase sea serializable, debe implementar una interfaz serializable.
La serialización está convirtiendo los datos en una "cadena" lineal de bytes.
Otros han dicho más o menos lo mismo, pero enfatizo que los modelos de computadora requieren que los datos encajen en la RAM direccionada unidimensionalmente o en el almacenamiento persistente.
La mayoría de las cosas que son "datos" son inherentemente serializables (incluso si debe reducir el modelo abstracto a uno lineal); no serializables son, por ejemplo, una conexión de red o una máquina complicada basada en estado como un analizador sintáctico.
la serialización tiene que ver con convertir un objeto binario en una representación XML (u otra cadena) para que pueda almacenarse en una base de datos / archivo o enviarse a través de una red en una llamada de servicio web. La deserialización es el proceso inverso: convertir un XML / cadena de nuevo en un objeto.
Al crear instancias (construir) el objeto real (la cosa) de una clase (plano) es necesario guardar el objeto (cosa) serializándolo (desglosándolo en su estructura atómica básica) en un espacio en la memoria. (Algo así como Star Treks Transporter). Se divide la cosa en un flujo de información que puede transportarse a algún lugar y almacenarse. Luego, cuando desee reconstruir la cosa, simplemente vuelva a colocar la instancia almacenada atómicamente en el objeto. Diferente de la instaniación.
La serialización es el proceso de convertir un objeto en una secuencia de datos binarios para que pueda almacenarse en un archivo o enviarse a través de una red donde pueda resucitar al mismo objeto.
Este documento debería ayudarlo a comprender la serialización de Java en detalle.
La serialización es cuando el objeto (un trozo de memoria) se traduce en un formulario cuando el estado del objeto podría guardarse en un archivo (como ejemplo).
Simplemente trátelo como hacer galletas (el objeto es una masa, la galleta) es una masa serializada.
Entonces, al "serializar" puede enviar cookies a su amigo.
Algo como eso :-)