SlideShare una empresa de Scribd logo
1 de 7
PROGRAMACION III
Latacunga Jorge
Ruiz Verónica
SERIALIZACION
La serialización de un objeto consiste en obtener
una secuencia de bytes que represente el estado
de dicho objeto. Esta secuencia puede utilizarse
de varias maneras (puede enviarse a través de la
red, guardarse en un fichero para su uso
posterior, utilizarse para recomponer el objeto
original, etc.).
En Java, esta capacidad de serialización, es
decir, de guardar información sobre un objeto
para luego recuperarla, se llama persistencia.
OBJETOS SERIALIZABLES
La serialización consiste en convertir un objeto en una secuencia de
bytes para guardarlo en un archivo o enviarlo por la red, y luego
reconstruirlo, con los valores que tenía al ser serializado, para su
posterior utilización. La serialización es muy utilizada en las bases de
datos relacionales, pero tiene también otras aplicaciones.
Para que un objeto sea serializable, debe implementar la interfaz
java.io.Serializable. Esta interfaz no define ningún método.
Simplemente se usa para 'marcar' aquellas clases cuyas instancias
pueden ser convertidas a secuencias de bytes (y posteriormente
reconstruidas). Objetos tan comunes como String, Vector o ArrayList
implementan Serializable, de modo que pueden ser serializados y
reconstruidos más tarde.
ESTADO DE UN OBJETO
El estado de un objeto viene dado, básicamente, por el
estado de sus campos. Así, serializar un objeto consiste,
básicamente, en guardar el estado de sus campos. Si el
objeto a serializar tiene campos que a su vez son objetos,
habrá que serializarlos primero. Éste es un proceso
recursivo que implica la serialización de todo un grafo (en
realidad, un árbol) de objetos.
Además, también se almacena información relativa a
dicho árbol, para poder llevar a cabo la reconstrucción del
objeto serializado.
Almacenamiento de Objetos
Es posible utilizar los mecanismos de serialización disponibles para serializar
un objeto guardándolo en un fichero y para realizar el proceso inverso,
recuperándolo desde el fichero.
Envió de objetos por la red
También es posible enviar un objeto serializado a través de la red. La
diferencia consiste en que ahora se utilizan streams de distinto tipo.
Serialización
Para que un objeto sea serializable basta con que la clase a la que
pertenezca, o una superclase de ésta, implemente la interfaz
Serializable o su subinterfaz Externalizable, ambas en el paquete
java.io.
Ahora bien, para utilizar correctamente Serializable, sin liarla, hay
que tener en cuenta algunos detalles.
 Primero, lo que estamos serializando son objetos y sus campos, así
que las variables marcadas como static, es decir, que pertenecen a la
clase y no al objeto, no pueden ser serializadas.
    Segundo, supongamos que queremos serializar un objeto que
contiene una referencia a una instancia de una clase que no es
serializable. Esto produciría la ya conocida NotSerializableException.
Para evitarlo, debemos marcar esa instancia como transient.

Más contenido relacionado

La actualidad más candente

Java persistence
Java persistenceJava persistence
Java persistencecabraval
 
Serializacion de objetos
Serializacion de objetosSerializacion de objetos
Serializacion de objetosPaul Cevallos
 
Maria taipe..presentaciones
Maria taipe..presentacionesMaria taipe..presentaciones
Maria taipe..presentacionesmary taipe
 
Doc.construccion del conocimiento.
Doc.construccion del conocimiento.Doc.construccion del conocimiento.
Doc.construccion del conocimiento.Darcks Emoxs
 
Persistencia en Java - Serialización
Persistencia en Java - SerializaciónPersistencia en Java - Serialización
Persistencia en Java - SerializaciónCarlos Hernando
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1Rokr02
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetosvilma pilco
 
Subir texturas al servidor opensim
Subir texturas al servidor opensimSubir texturas al servidor opensim
Subir texturas al servidor opensimKate Jimenez
 
Encapsulación
EncapsulaciónEncapsulación
Encapsulaciónhedamajo
 

La actualidad más candente (12)

Java persistence
Java persistenceJava persistence
Java persistence
 
Serializacion de objetos
Serializacion de objetosSerializacion de objetos
Serializacion de objetos
 
Maria taipe..presentaciones
Maria taipe..presentacionesMaria taipe..presentaciones
Maria taipe..presentaciones
 
Doc.construccion del conocimiento.
Doc.construccion del conocimiento.Doc.construccion del conocimiento.
Doc.construccion del conocimiento.
 
Persistencia en Java - Serialización
Persistencia en Java - SerializaciónPersistencia en Java - Serialización
Persistencia en Java - Serialización
 
Objetos en c
Objetos en cObjetos en c
Objetos en c
 
Act10byme
Act10bymeAct10byme
Act10byme
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetos
 
Subir texturas al servidor opensim
Subir texturas al servidor opensimSubir texturas al servidor opensim
Subir texturas al servidor opensim
 
Diagrama shidori
Diagrama shidoriDiagrama shidori
Diagrama shidori
 
Encapsulación
EncapsulaciónEncapsulación
Encapsulación
 

Similar a Serialización de objetos en Java

Similar a Serialización de objetos en Java (20)

Serialización
 Serialización Serialización
Serialización
 
Serializacion
SerializacionSerializacion
Serializacion
 
Serializacion
SerializacionSerializacion
Serializacion
 
Serializacion
SerializacionSerializacion
Serializacion
 
Serializacion de objetos en java
Serializacion de objetos en javaSerializacion de objetos en java
Serializacion de objetos en java
 
Serializacion de objetos en java
Serializacion de objetos en javaSerializacion de objetos en java
Serializacion de objetos en java
 
Serializacion en java
Serializacion en javaSerializacion en java
Serializacion en java
 
Serializacion
SerializacionSerializacion
Serializacion
 
Java 5 se (presentación3)
Java 5 se (presentación3)Java 5 se (presentación3)
Java 5 se (presentación3)
 
Serializacion Java
Serializacion JavaSerializacion Java
Serializacion Java
 
Expo guardar objetos en ficheros serializable (2)
Expo guardar objetos en ficheros  serializable (2)Expo guardar objetos en ficheros  serializable (2)
Expo guardar objetos en ficheros serializable (2)
 
Informe Poo
Informe PooInforme Poo
Informe Poo
 
Colecciones
ColeccionesColecciones
Colecciones
 
Arquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NETArquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NET
 
colecciones en java
colecciones en javacolecciones en java
colecciones en java
 
Poo Java
Poo JavaPoo Java
Poo Java
 
Trabajo de diceño y realizacion
Trabajo de diceño y realizacionTrabajo de diceño y realizacion
Trabajo de diceño y realizacion
 
Persistence
PersistencePersistence
Persistence
 
Colecciones en java
Colecciones en javaColecciones en java
Colecciones en java
 
Suarez l 2001 el paquete java io
Suarez l 2001 el paquete java ioSuarez l 2001 el paquete java io
Suarez l 2001 el paquete java io
 

Serialización de objetos en Java

  • 2. SERIALIZACION La serialización de un objeto consiste en obtener una secuencia de bytes que represente el estado de dicho objeto. Esta secuencia puede utilizarse de varias maneras (puede enviarse a través de la red, guardarse en un fichero para su uso posterior, utilizarse para recomponer el objeto original, etc.). En Java, esta capacidad de serialización, es decir, de guardar información sobre un objeto para luego recuperarla, se llama persistencia.
  • 3. OBJETOS SERIALIZABLES La serialización consiste en convertir un objeto en una secuencia de bytes para guardarlo en un archivo o enviarlo por la red, y luego reconstruirlo, con los valores que tenía al ser serializado, para su posterior utilización. La serialización es muy utilizada en las bases de datos relacionales, pero tiene también otras aplicaciones. Para que un objeto sea serializable, debe implementar la interfaz java.io.Serializable. Esta interfaz no define ningún método. Simplemente se usa para 'marcar' aquellas clases cuyas instancias pueden ser convertidas a secuencias de bytes (y posteriormente reconstruidas). Objetos tan comunes como String, Vector o ArrayList implementan Serializable, de modo que pueden ser serializados y reconstruidos más tarde.
  • 4. ESTADO DE UN OBJETO El estado de un objeto viene dado, básicamente, por el estado de sus campos. Así, serializar un objeto consiste, básicamente, en guardar el estado de sus campos. Si el objeto a serializar tiene campos que a su vez son objetos, habrá que serializarlos primero. Éste es un proceso recursivo que implica la serialización de todo un grafo (en realidad, un árbol) de objetos. Además, también se almacena información relativa a dicho árbol, para poder llevar a cabo la reconstrucción del objeto serializado.
  • 5. Almacenamiento de Objetos Es posible utilizar los mecanismos de serialización disponibles para serializar un objeto guardándolo en un fichero y para realizar el proceso inverso, recuperándolo desde el fichero.
  • 6. Envió de objetos por la red También es posible enviar un objeto serializado a través de la red. La diferencia consiste en que ahora se utilizan streams de distinto tipo.
  • 7. Serialización Para que un objeto sea serializable basta con que la clase a la que pertenezca, o una superclase de ésta, implemente la interfaz Serializable o su subinterfaz Externalizable, ambas en el paquete java.io. Ahora bien, para utilizar correctamente Serializable, sin liarla, hay que tener en cuenta algunos detalles. Primero, lo que estamos serializando son objetos y sus campos, así que las variables marcadas como static, es decir, que pertenecen a la clase y no al objeto, no pueden ser serializadas. Segundo, supongamos que queremos serializar un objeto que contiene una referencia a una instancia de una clase que no es serializable. Esto produciría la ya conocida NotSerializableException. Para evitarlo, debemos marcar esa instancia como transient.