知识大全 JavaIO 6—对象的序列化
Posted 知
篇首语:真正有光的人,压的时间越久,深度越深,绽放的光芒才可以灿烂.本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JavaIO 6—对象的序列化相关的知识,希望对你有一定的参考价值。
JavaIO 6—对象的序列化 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
对于对象的序列化可能很多初学者不熟悉 希望通过这篇文章你对对象的序列化有一个大概的了解
对象序列化指的是将对象转换为字节流保存起来 并在日后还原这个对象
可能我们认为这个有什么用处啊 这个可以将我们的对象保存在存储设备上 并且可以永久的保存 另外我们有时候需要在网络上传输一个对象 这个也是将对象序列化之后通过网络发送出去 然后再通过反序列化 还原成为原来的对象
一个对象要想能够实现序列化 必须实现Serializable接口或Externalizable接口
Serializable我们可以通过查看Java API发现这个接口没有任何方法 所以这个接口就是一个标识接口 实现这个接口就是为了告诉jvm这个类的对象可以序列化
我们可以利用Java给我们提供ObjectOutputStream和ObjectInputStream这两个类实现对象的序列化和反序列化 下面看一个例子
//aaaa
bbbb
上面的程序中我们定义了一个带参数的方法 那么我们就会想在对象反序列化的时候 会去调用构造方法 构建对象吗?答案是不会去调用对象的构造方法 而是根据序列化的数据直接生成对象
不是对象的所有的东西都可以序列化的
当一个对象被序列化时 只保存对象的非静态成员变量 不能保存任何的成员方法和静态的成员变量 如果一个对象的成员变量是一个对象 那么这个对象的数据成员也会被保存 如果一个可序列化的对象包含对某个不可序列化的对象的引用 那么整个序列化操作将会失败 并且会抛出一个NotSerializableException 我们可以将这个引用标记为transient 那么对象仍然可以序列化
我们仔细看刚才的代码我们在我们创建的线程前面加上了transient说明线程对象是不序列化的
有时候我们需要对一些数据进行加密然后再序列化 然后反序列化的时候在调用相应的方法解密 这时候我们可以调用两个方法writeObject和readObject 这两个方法可以按照我们的自己需要的方法和顺序 去序列化对象 然后再反序列化 下面的例子是修改了上面的例子中的一点东西 看完了你就知道这两个方法怎么用了
//Write Object
Write Object
Read Object
aaaa
Read Object
bbbb 从结果中我们可以看出在我们序列化和反序列化的时候调用了我们自己写的方法
cha138/Article/program/Java/hx/201311/25513相关参考
Java中的强大武器--对象的序列化 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 所谓对象序列
浅谈Java对象的序列化和反序列化 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 当两个进程在进
Java深度历险:Java对象序列化与RMI 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 对于
cha138/Article/program/yd/201404/30432
通过XML模板替换实现对象的灵活序列化 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前阵子在写
使用JID来进行Java对象的高性能序列化 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! JID
【序列化的概念】 序列化是将对象状态转换为可保持或可传输的格式的过程与序列化相对的是反序列化它将流转换为对象这两个过程结合起来可以轻松地存储和传输数据 将对象的状态信息转换为可以存储或传输的窗
提到为了传递数据需要把作为载体的实体类序列化好好的找了一些序列化方面的介绍感觉下面的这个介绍比较容易介绍! 什么是序列化 序列化是将对象状态转换为可保持或传输的格式的过程在序列化过程中对象的公
用.NET框架实现序列化 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 序列化是将一个对象保存到
为了真实比较这三种算法的优劣设置一个数组sz[][]用来存放所有出栈序列的结果每求出一种结果不立即输出而是保存在数组sz中要求n≤l当入栈元素个数为 n时求出所有出栈序列所用时间如表所示(实