文档章节

java 篇IO 之Serializable

开源大法好啊
 开源大法好啊
发布于 2017/07/23 15:56
字数 354
阅读 7
收藏 0

为什么要说这个类,我们在远程调用的时候都会用到这个类

1、串行化

首先要理解串行化是什么,串行化是讲对象状态(属性、方法、参数等)写入字节流的过程,这样我们可以把对象状态保存在内存,文件中,假如我们要用到这个对象,我们从这里反串行化还原成对象。

2、实现Serializable的接口和类可以通过串行化和反串行化,Serializable接口没有方法,只是作为一个标记(可以串行化和反串行化)

3、objectOutput 和 objectInput (讲这两个类的原因是里面有实现序列化和反序列化的方法)

objectOutput 里面有个writeObject(Object object),这个方法是用来把对象写入到流中的方法

列如:

try (ObjectOutput objectOutput = new ObjectOutputStream(new FileOutputStream("D://array.txt"));){
    SerializableEntity entity = new SerializableEntity();
    entity.setMessage("你好");
    objectOutput.writeObject(entity); //内部实现其实是保存了object状态
}catch (Exception e){
    e.printStackTrace();
}

下面是对象在文件的状态

下面我们可以通过objectInput的readObject()从文件还原对象

try (ObjectInput input = new ObjectInputStream(new FileInputStream("D://array.txt"))){
    SerializableEntity entity = (SerializableEntity) input.readObject();//取出object
    System.out.println(entity.getMessage()); //结果 “你好”
}catch (Exception e){
    e.printStackTrace();
}

所以大家知道远程调用为什么一定要用到序列化,因为你要通过网络流的方法还原远程对象,所以本地才可以调用

 

© 著作权归作者所有

共有 人打赏支持
开源大法好啊
粉丝 3
博文 42
码字总数 17798
作品 0
闵行
私信 提问
Android Serializable与Parcelable原理与区别

一、序列化、反序列化是什么? (1) 名词解释 对象的序列化 : 把Java对象转换为字节序列并存储至一个储存媒介的过程。 对象的反序列化:把字节序列恢复为Java对象的过程。 (2) 序列化详细解释 ...

KingMing
2015/04/16
0
0
关于 Java 你不知道的 10 件事

作为 Java 书呆子,比起实用技能,我们会对介绍 Java 和 JVM 的概念细节更感兴趣。因此我想推荐 Lukas Eder 在 jooq.org 发表的原创作品给大家。 你是从很早开始就一直使用 Java 吗?那你还记...

oschina
2017/04/24
4.7K
4
Couchbase Java SDK 2.0.0 Beta 2 发布

Couchbase Java SDK 2.0.0 Beta 2 发布,代号为 Armstrong。此版本是 GA 版本之前的最后一个 beta 版本,包括了两个重要的新插件,bug 修复和功能增强。此版本包括 1.0.0-beta2 和 Java SDK...

oschina
2014/09/24
1K
3
Understand The SerialVersionUID

If you have ever implemented Serializable interface, you must encounter this warning message The serializable class xxx does not declare a static final serialVersionUID field of......

neumeng
2014/03/14
0
0
JavaIO/输出输入入门

IO称之为输入输出,Java的IO是通过java.io包下的类和接口来支持,包含两大类:输入,输出. 在整个Java.io包中最重要的就是5个类和一个接口。5个类指的是File、OutputStream、InputStream、Write...

Zhao-Qian
2013/01/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Apache Sentry架构介绍

cdh版本的hadoop在对数据安全上的处理通常采用Kerberos+Sentry的结构。 kerberos主要负责平台用户的权限管理,sentry则负责数据的权限管理。 下面我们来依次了解一下: Kerberos包含一个中心...

hblt-j
16分钟前
0
0
First Bad Version(leetcode278)

You are a product manager and currently leading a team to develop a new product. Unfortunately, the latest version of your product fails the quality check. Since each version is......

woshixin
22分钟前
1
0
executor 和task 优先于线程(68)

java.util.concurrent 包里有一个Executor 框架 基于接口的任务执行工具 只需要一行代码 提交一个runnable 方法 优雅的终止(必须做到,不然虚拟机可能不会退出) 对于负载不重的服务 Execut...

Java搬砖工程师
23分钟前
1
0
一条SQL查询语句是如何执行的

123

writeademo
25分钟前
3
0
CSS中position属性( absolute | relative | static | fixed )详解

四个属性的特点 static:无特殊定位,对象遵循正常文档流。top,right,bottom,left等属性不会被应用。 relative:对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流...

简心
30分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部