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?
java
oop
serialization
marshalling
Comunidad
fuente
fuente
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.
fuente
Marshal
yUnmarshal
son sinónimos deSerialize
yDeserialize
.abc
se serializaría como0x61 0x62 0x63
(ASCII) o0x00 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.fuente
JSON
entere desde cero, ya que no sé nada al respectoExplicación simple a través de la imagen:
Explicación por analogía:
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.
Resumen:
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.
fuente
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.
fuente
Desde https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/serialization/
(énfasis mío)
fuente
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í.
fuente
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.
fuente
la serialización no es más que transferir el objeto compatible con Java a un formulario compatible con archivos
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 ...
fuente
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.
fuente
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.
fuente
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.
fuente
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.
fuente
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.
fuente
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 :-)
fuente