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等。
松下问童子,言师采药去。
只言此山中,云深不知处。