java序列化

 
     java序列化是指java对象转为二进制流;对应的还有反序列化,是把二进制流转为对象。java中序列化,要么是为了对象持久化,要么是为了网络传输。java对象序列化技术,在现在的应用开发中,越来越重要,特别是现在的分布式异构系统中,系统与系统中对象的网络传输,rpc调用。
 
     看看java自带的序列化框架。
   
  序列化:
         
ObjectOutputStream out = new ObjectOutputStream(//输出流,文件或者网络);
out.writeObject(obj);  
 
 
    反序列化:
        
ObjectInputStream in = new ObjectInputStream(// 输入流,文件或者网络);
Object obj1 = in.readObject();
  使用简单,jdk自带方案。但是在实际的项目应用中,还存在几点不足:
 
1 序列化,反序列化效率不高
2 序列化后,二进制流比较大,不够最优
3 不支持多语言化
 
当然,还有其他的序列化方案,效率会高很多,支持多重语言。如facebook thrift , google protobuf , Hessian等。
 
         


原文地址:https://www.cnblogs.com/sten/p/5656321.html