java的序列化
来源:互联网 发布:linux while循环 停止 编辑:程序博客网 时间:2024/04/30 06:58
1.序列化是干什么的?
序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。
2.序列化的使用范围
1)套接字在网络上传送对象的时候
2)通过RMI传输对象的时候
3)想把内存中的对象状态保存到一个文件中或者数据库中的时候
3.序列化具体序列的是什么
序列化其实是把对象中的实体变量保存起来,以用来传递,而对于方法则没有进行序列化。
4.序列化的具体过程
其实想要序列化一个类是比较简单的,只要实现Serializable接口就可以了。其他的只是跟普通的类一样。
下面给个例子。
import java.io.Serializable;public class MsgDao implements Serializable {private static final long serialVersionUID = 1L;public MsgDao() {}public MsgDao(String name, String age) {this.name = name;this.age = age;}public String name;public String age;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}}
上面的代码就是对MsgDao这个类进行了序列化操作。
5.序列化的应用
这里就要提到数据流,ObjectInputStream,ObjectOutputStream。用到这两个数据流必须要经过序列化处理才可以。
当然在网络通信中也是非常有用的,比如说socket通讯中用object传递数据就需要用到序列化,在socket通讯中在定义object数据流的时候顺序是非常重要的,要不然会阻塞掉,没有任何反应。
在socket的server端定义object数据流的时候的顺序为
ObjectInputStream ois = new ObjectInputStream(is);ObjectOutputStream oos = new ObjectOutputStream(os);
在client端定义object数据流的时候的顺序为
ObjectOutputStream oos = new ObjectOutputStream(os);ObjectInputStream ois = new ObjectInputStream(is);
0 0
- java的序列化
- Java的序列化
- java的序列化
- java的序列化
- Java的序列化
- java的序列化
- java的序列化
- Java的序列化
- java的序列化
- java的序列化
- java的序列化
- java 的序列化
- java的序列化
- Java的序列化
- JAVA的序列化
- JAVA的对象序列化
- JAVA的对象序列化
- java序列化的作用
- IOS国际化
- 【Java】HashCode
- HDU 迷宫城堡
- adb的相关命令
- Mac OS X 10.8 启用 Web 服务器
- java的序列化
- grep用法详解:grep与正则表达式
- 难道已停止更新?百度分享疑似无人维护
- 权重轮询调度算法 java版本
- github in ubuntu
- 網頁時間顯示
- spark scala code demo for def class etc.
- 阅读源代码的经验
- 有用的链接