ARREGLOS Y SERIALIZACION DE OBJETOS

3 comentarios
 


Persistencia - Serialización de Objetos
  • Un objeto se dice persistente cuando es almacenado en un archivo u otro medio permanente. Un programa puede grabar objetos persistentes y luego recuperarlos en un tiempo posterior.
  • Serialización en general es el proceso de convertir un objeto en una secuencia de bytes. Entonces al serializar un objeto podre hacerlo persistente.
  • Para que un objeto se pueda convertir a una secuencia de bytes, este debe ser serializable
  • En java para que un objeto sea serializable basta con que implemente la interfaz Serializable.



Interfaz Serializable (java.io)
  • Convierte un objeto que implemente el interfaz Serializable en una secuencia de bytes que puede restablecerse completamente en el objeto original INDEPENDIENTEMENTE de la plataforma donde se haya creado.
  • Útil para implementar “persistencia” de objetos.
  •  El interfaz no tiene métodos sirve sólo para identificar la semántica de que es serializable.
  • Cualquier subclase de una clase serializable también lo es.
  • Este proceso no solo salva una imagen del objeto sino que también, de manera recursiva, guarda todas las referencias que contiene dicho objeto.


Para serializar un objeto
  • Crear algún objeto de clase OutputStream y encapsularlo en un objeto ObjectOutputStream invocando a writeObject()el objeto se serializa y se envía al OutputStream
  • Si la clase no implementa la interfaz Serializable se lanza la excepción NotSerializableException.
  • Marcar con transient los atributos que no se serializan.


Para des-serializar un objeto
  • Encapsula un objeto InputStream y encapsularlo en un objeto ObjectInputStream invocando a readObject()el objeto se des-serializa y se devuelve una referencia al objeto recuperado.

Esta pequeña aplicación implementa un ArrayList donde almacenaremos nuestros objetos, luego después de validarse que no sean repetidos se procederán a serializar y ser guardados en un archivo .bin, ademas permitira odenar el Arreglo entre otras cosas.

Imágenes de la aplicación:


Link de la aplicación: http://adf.ly/YOITa

3 comentarios:

  1. Mmmmm java es un buen lenguaje thank

    ResponderEliminar
  2. Saludos. Actualmente hago inserciones a la base de datos desde un aplicativo java y no tengo necesidad de colocar a mi entidades ".. implements Serializable". Quisiera saber porque. Gracias.

    ResponderEliminar
    Respuestas
    1. En este ejemplo no estoy usando base de datos, si no un archivo serializable de extension .bin....que a diferencia de un txt, esta como encriptado

      Eliminar

 
© 2012. Design by Main-Blogger - Blogger Template and Blogging Stuff