文档章节

对象序列化与反序列化

scooplol
 scooplol
发布于 2017/08/14 10:54
字数 221
阅读 10
收藏 0
点赞 0
评论 0

第一步:定义对象

@SuppressWarnings("serial")
class Person implements Serializable{  //实现Serializable接口
	private String  name;
	private Integer age;
	private Double  height;
	public Person() {
		super();
	}
	public Person(String name, Integer age, Double height) {
		super();
		this.name = name;
		this.age = age;
		this.height = height;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	public Double getHeight() {
		return height;
	}
	public void setHeight(Double height) {
		this.height = height;
	}
	@Override
	public String toString() {
		return "Person [name=" + name + ", age=" + age + ", height=" + height + "]";
	}
	
} 

第二步:进行序列化与反序列化操作

public class Ser {
     public static void main(String[] args) throws Exception{
    	 ser(new Person("高渐离",33,18.9));
    	 dser();
     }
     public static void ser(Object obj) throws Exception{
    	 FileOutputStream os = new FileOutputStream(new File("D:"+File.separator+"Person.ser"));
    	 // 要输出一个对象,OutputStream只能是字节流,所以对象必须继承Serializable接口
    	 ObjectOutputStream oos = new ObjectOutputStream(os);
    	 oos.writeObject(obj);   // 对象序列化
    	 oos.close();
     }
     public static void dser() throws Exception{
    	 FileInputStream is = new FileInputStream(new File("D:"+File.separator+"Person.ser"));
    	 ObjectInputStream ois = new ObjectInputStream(is);
    	 System.out.println(ois.readObject()); // 对象反序列化
    	 ois.close();
     }
}  

 

© 著作权归作者所有

共有 人打赏支持
scooplol
粉丝 13
博文 68
码字总数 164262
作品 0
南充
程序员
Java序列化

什么是序列化 所谓的序列化,即把java对象以二进制形式保存到内存、文件或者进行网络传输。从二进制的形式恢复成为java对象,即反序列化。 通过序列化可以将对象持久化,或者从一个地方传输到...

德彪 ⋅ 2017/11/25 ⋅ 0

面试之Java序列化

序列化作用: 序列化将对象编码成字节流,主要用于对象的持久化,远程通信,跨进程访问等地方。 java中的序列化机制能够将一个实例对象(只序列化对象的属性值,而不会去序列化什么所谓的方法...

java开发 ⋅ 2017/12/18 ⋅ 0

Java序列化之Serializable

1.需求 1.什么是Java序列化 2.详解 1.序列化 理解为"打碎"即可 2.在书本上序列化的意思是将Java对象转为二进制 3.java平台允许我们在内存中创建对象,当JVM运行时对象才能存在,如果JVM停止,对...

村长大神 ⋅ 05/08 ⋅ 0

hadoop2.2原理: 序列化浅析

序列化是指将一个对象编码成字节流,之后从字节流中重构对象; 为什么需要序列化? 答:用序列化接口可以将对象实例从存储到本地文件或者传送到网络的另一端的节点上; 序列化过程: 序列化的...

蓝狐乐队 ⋅ 2014/04/22 ⋅ 0

Android 序列化 & 反序列化

What? 何为序列化与反序列化? *序列化:*将对象转化为二进制序列的过程 *反序列化:*将二进制序列恢复为原始对象的过程 Why? 为什么需要序列化?由于在系统底层,数据以简单的字节序列形式...

紫韵 ⋅ 2016/06/29 ⋅ 0

Serializable & Parcelable

对象序列化的简单介绍 所谓对象的序列化其实就是把JVM运行过程中生成的对象通过特殊的处理手段转换为字节形式的文件。转换之后就可以将其永久保存到磁盘中,或者以字节流进行网络传输。 在A...

吴七禁 ⋅ 2017/12/14 ⋅ 0

Python模块学习 ---- pickle, cPickle 对象序列化/反序列化

上次学习过marshal模块用于序列化和反序列化,但marshal的功能比较薄弱,只支持部分内置数据类型的序列化/反序列化,对于用户自定义的类型就无能为力,同时marshal不支持自引用(递归引用)的对...

索隆 ⋅ 2012/05/04 ⋅ 0

HashMap要自己实现writeObject和readObject方法?

现象如果你有仔细阅读过HashMap的源码,那么你一定注意过一个问题:HashMap中有两个私有方法。private void writeObject(java.io.ObjectOutputStream s) throws IOExceptionprivate void rea...

hello菜bird ⋅ 2016/09/01 ⋅ 0

Java对象的序列化与反序列化

序列化与反序列化 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。一般将一个对象存储至一个储存媒介,例如档案或是记亿体缓冲等。在网络传输过程中,可以是字...

天蚕宝衣 ⋅ 2016/03/07 ⋅ 0

Java序列化之Externalizable

1.需求 使用Externalizable实现序列化 2.Externalizable源码 public interface Externalizable extends java.io.Serializable { The object implements the writeExternal method to save it......

村长大神 ⋅ 05/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

大数据工程师需要精通算法吗,要达到一个什么程度呢?

机器学习是人工智能的一个重要分支,而机器学习下最重要的就是算法,本文讲述归纳了入门级的几个机器学习算法,加大数据学习群:716581014一起加入AI技术大本营。 1、监督学习算法 这个算法由...

董黎明 ⋅ 30分钟前 ⋅ 0

Kylin 对维度表的的要求

1.要具有数据一致性,主键值必须是唯一的;Kylin 会进行检查,如果有两行的主键值相同则会报错。 2.维度表越小越好,因为 Kylin 会将维度表加载到内存中供查询;过大的表不适合作为维度表,默...

无精疯 ⋅ 33分钟前 ⋅ 0

58到家数据库30条军规解读

军规适用场景:并发量大、数据量大的互联网业务 军规:介绍内容 解读:讲解原因,解读比军规更重要 一、基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务、行级锁、并发性能更好、CPU及...

kim_o ⋅ 36分钟前 ⋅ 0

代码注释中顺序更改 文件读写换行

`package ssh; import com.xxx.common.log.LogFactory; import com.xxx.common.log.LoggerUtil; import org.apache.commons.lang3.StringUtils; import java.io.*; public class DirErgodic ......

林伟琨 ⋅ 44分钟前 ⋅ 0

linux实用操作命令

参考 http://blog.csdn.net/qwe6112071/article/details/50806734 ls [选项] [目录名 | 列出相关目录下的所有目录和文件 -a 列出包括.a开头的隐藏文件的所有文件-A 同-a,但不列出"."和"...

简心 ⋅ 今天 ⋅ 0

preg_match处理中文符号 url编码方法

之前想过直接用符号来替换,但失败了,或者用其他方式,但有有些复杂,这个是一个新的思路,亲测可用 <?php$str='637朗逸·超速新风王(300)(白光)'; $str=iconv("UTF-8","GBK",$s...

大灰狼wow ⋅ 今天 ⋅ 0

DevOps 资讯 | PostgreSQL 的时代到来了吗 ?

PostgreSQL是对象-关系型数据库,BSD 许可证。拼读为"post-gress-Q-L"。 作者: Tony Baer 原文: Has the time finally come for PostgreSQL?(有删节) 近30年来 PostgreSQL 无疑是您从未听...

RiboseYim ⋅ 今天 ⋅ 0

github太慢

1:用浏览器访问 IPAddress.com or http://tool.chinaz.com 使用 IP Lookup 工具获得github.com和github.global.ssl.fastly.net域名的ip地址 2:/etc/hosts文件中添加如下格式(IP最好自己查一...

whoisliang ⋅ 今天 ⋅ 0

非阻塞同步之 CAS

为解决线程安全问题,互斥同步相当于以时间换空间。多线程情况下,只有一个线程可以访问同步代码。这种同步也叫阻塞同步(Blocking Synchronization). 这种同步属于一种悲观并发策略。认为只...

长安一梦 ⋅ 今天 ⋅ 0

云计算的选择悖论如何对待?

人们都希望在工作和生活中有所选择。但心理学家的调查研究表明,在多种选项中进行选择并不一定会使人们更快乐,甚至不会产生更好的决策。心理学家Barry Schwartz称之为“选择悖论”。云计算为...

linux-tao ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部