什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。
2016-03-09 16:10
836 查看
我们有时候将一个java对象变成字节流的形式传出去或者从一个字节流中恢复成一个java对象,例如,要将java对象存储到硬盘或者传送给网络上的其他计算机,这个过程我们可以自己写代码去把一个java对象变成某个格式的字节流再传输,但是,jre本身就提供了这种支持,我们可以调用OutputStream的writeObject方法来做,如果要让java 帮我们做,要被传输的对象必须实现serializable接口,这样,javac编译时就会进行特殊处理,编译的类才可以被writeObject方法操作,这就是所谓的序列化。需要被序列化的类必须实现Serializable接口,该接口是一个mini接口,其中没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的。 例如,在web开发中,如果对象被保存在了Session中,tomcat在重启时要把Session对象序列化到硬盘,这个对象就必须实现Serializable接口。如果对象要经过分布式系统进行网络传输或通过rmi等远程调用,这就需要在网络上传输对象,被传输的对象就必须实现Serializable接口。
相关文章推荐
- 使用JDK中JAXBContext对JavaBean和xml相互转换
- Java多线程学习(八)
- 深入浅出RxJava三--响应式的好处
- 踩坑事件:windows操作系统下的eclipse中编写SparkSQL不能从本地读取或者保存parquet文件
- 深入浅出RxJava(二:操作符)
- Java中String类的方法及说明
- org.w3c.dom(java dom)解析XML文档
- 自己学Java历程
- 深入浅出RxJava(一:基础篇)
- Java基础查漏补缺
- java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
- 【java-之路】学习反射[基础]
- Spring框架开发包和IOC示例
- Spring中的AOP(六)——定义切入点和切入点指示符
- Java动态加载一个类的几种方法以及invoke
- Java 图片压缩
- Struts2 input
- Spring4.x 不再支持JpaTemplate和JpaDapSupport类了
- java.lang.IllegalStateException: Can not perform this action after onSaveIns
- 《JAVA与模式》之适配器模式