- 20
- 0
- 约 10页
- 2016-08-06 发布于贵州
- 举报
大数据培训之 haoop序列化详解(最新版)
北京尚学堂提供
初学java的人肯定对java序列化记忆犹新。最开始很多人并不会一下子理解序列化的意义所在。这样子是因为很多人还是对java最底层的特性不是特别理解,当你经验丰富,对java理解更加深刻之后,你就会发现序列化这种东西的精髓。
谈hadoop序列化之前,我们再来回顾一下java的序列化,也是最底层的序列化:
在面向对象程序设计中,类是个很重要的概念。所谓“类”,可以将它想像成建筑图纸,而对象就是根据图纸盖的大楼。类,规定了对象的一切。根据建筑图纸造房子,盖出来的就是大楼,等同于将类进行实例化,得到的就是对象。
? ?
?一开始,在源代码里,类的定义是明确的,但对象的行为有些地方是明确的,有些地方是不明确的。对象里不明确地方,是因为对象在运行的时候,需要处理无法预测的事情,诸如用户点了下屏幕,用户点了下按钮,输入点东西,或者需要从网络发送接收数据之类的。后来,引入了泛型的概念之后,类也开始不明确了,如果使用了泛型,直到程序运行的时候,才知道究竟是哪种对象需要处理。
对象可以很复杂,也可以跟时序相关。一般来说,“活的”对象只生存在内存里,关机断电就没有了。一般来说,“活的”对象只能由本地的进程使用,不能被发送到网络上的另外一台计算机。想象一下,对象怎么出现的,一般是new出来的,new出来的对象在内存里面,另外的计算机怎么可能使用我这台机器上的对象呢?如果要的话,序列化就是你必须要使用的东西。
?序列化,可以存储“活的”对象,可以将“活的”对象发送到远程计算机。
?把“活的”对象序列化,就是把“活的”对象转化成一串字节,而“反序列化”,就是从一串字节里解析出“活的”对象。于是,如果想把“活的”对象存储到文件,存储这串字节即可,如果想把“活的”对象发送到远程主机,发送这串字节即可,需要对象的时候,做一下反序列化,就能将对象“复活”了。
有例子为证:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
3
393
44
45
46
47
48 public?class?Person?implements?Serializable?{
?
????private?String?name?=?null;
?
????private?Integer?age?=?null;
?
????private?Gender?gender?=?null;
?
????public?Person()?{
????????System.out.println(none-arg?constructor);
????}
?
????public?Person(String?name,?Integer?age,?Gender?gender)?{
????????System.out.println(arg?constructor);
?????????=?name;
????????this.age?=?age;
????????this.gender?=?gender;
????}
?
????public?String?getName()?{
????????return?name;
????}
?
????public?void?setName(String?name)?{
?????????=?name;
????}
?
????public?Integer?getAge()?{
????????return?age;
????}
?
????public?void?setAge(Integer?age)?{
????????this.age?=?age;
????}
?
????public?Gender?getGender()?{
????????return?gender;
????}
?
????public?void?setGender(Gender?gender)?{
????????this.gender?=?gender;
????}
?
????@Override
????public?String?toString()?{
????????return?[?+?name?+?,??+?age?+?,??+?gender?+?];
????}
} ??SimpleSerial,是一个简单的序列化程序,它先将一个Person对象保存到文件person.out中,然后再从该文件中读出被存储的Person对象,并打印该对象。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public?class?SimpleSerial?{
?
????public?static?void?main
您可能关注的文档
- 大型移动APP开发服务器端MQ技术选型.doc
- 大型自动紫外线晒版和真空晒版机价格.docx
- 大型金属激光切割机金属丝切割机价格.docx
- 大型钢结构件制作和复工艺研发及产品开发.doc
- 大型铁路客运枢纽的客内部流线与建筑空间组合形式.doc
- 大埔县中医医院医务等级评审材料准备清单.docx
- 大型龙门机床滑枕的维结构设计及有限元分析【含全套CAD图纸和WORD说明书】.doc
- 大学《程序设计语言Java)》课程实验报告.doc
- 大学三, 四年级开有偿性双向选择式体育选修课的探讨.doc
- 大学专业介绍之机械1(机械设计制造及其自动化、材料成型及控制工程、工业设计).doc
- 浙江省温州市2024-2025学年七年级上学期语文期末考查卷.docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(原卷版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(解析版).docx
- 精品解析:北京市海淀区2025-2026学年九年级上学期期末语文试题(解析版).docx
- 精品解析:北京市东城区汇文中学2025-2026学年八年级上学期期中语文试题(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(原卷版).docx
- 精品解析:2024-2025学年广东省广州市从化区街口镇中心小学人教版五年级上册期中测试数学试卷(解析版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(解析版).docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(解析版).docx
最近下载
- 完整版04融创物业秩序服务可视化标准.ppt
- 统编人教部编版小学语文一年级下册语文标点符号练习+答案 .pdf VIP
- EPS系统参数及整车性能的匹配.pdf VIP
- 湖北省武汉市江岸区2023-2024学年六年级上学期语文期末试卷(含答案)2.docx VIP
- 2025年中国水性粘结剂行业市场全景调研及前景战略研判报告.docx
- EPS系统对车辆操纵稳定性影响的仿真的分析研究.pdf VIP
- 幼儿园年度工作总结卫生保健.pptx
- 职业健康管理:电力行业职业健康课件.pptx VIP
- 2026.01.01施行《招标人主体责任履行指引》PPT课件.pptx VIP
- 湖北省武汉市2022-2023学年六年级上学期语文期末试卷(含答案).pdf VIP
原创力文档

文档评论(0)