发新话题
打印

JAVA序列化 Serializable与Externalizable的区别

JAVA序列化 Serializable与Externalizable的区别

大家都知道Serializable是一个mark interface,通知JVM这个对象可以被转换成二进制流来传输.
  但是Serializable与Externalizable的转换二进制流的过程是不一样的.
  Serializable 在我们完成这个接口的时候,我们可以使用4个公有方法来控制序列化的过程:
  我们来看一个例子:
  Java代码
  public class FooImpl implements java.io.Serializable{
  private String message;
  public String getFoo() {
  return message;
  }
  public void setMessage(String message) {
  this.message = message;
  }
  private void writeObject(java.io.ObjectOutputStream out) throws IOException {
  System.聚利时旗舰店out.println("writeObject invoked");
  out.writeObject(this.message == null ? "hohohahaha" : this.message);
  }
  private void readObject(java.io.ObjectInputStream in) throws IOException,
  ClassNotFoundException {
  System.out.println("readObject invoked");
  this.message = (String) in.readObject();
  System.out.println("got message:" + message);
  }
jiyizhen-buy.com颈椎保健枕太空记忆枕 igerl.com歌瑞尔内衣

TOP

发新话题