序列化概述| 学习笔记

简介: 快速学习序列化概述

开发者学堂课程【Hadoop 分布式计算框架 MapReduce:序列化概述】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/94/detail/1489


序列化概述


内容介绍:

2.1.1什么是序列化

2.1.2为什么要序列化

2.1.3为什么不用 Java 的序列化

 

2.1.1什么是序列化

序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储到磁盘(持久化)和网络传输。

反序列化就是将收到字节序列(或其他数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象。

 

2.1.2为什么要序列化

般来说,“活的”对象只生存在内存里,关机断电就没有了。而且“活的”对象只能由本地的进程使用,不能被发送到网络上的另外一台计算机。然而序列化可以存储“活的”对象,可以将“活的”对象发送到远程计算机。

 

2.1.3为什么不用 Java 的序列化

Java 的序列化是一个重量级序列化框架(Serializable),一个对象被序列化后,会附带很多额外的信息(各种校验信息,Header,继承体系等),不便于在网络中高效传输。

所以,Hadoop 自己开发了一套序列化机制(Writable)。

Hadoop 序列化特点:

(1)紧凑:高效使用存储空间。

(2)快速:读写数据的额外开销小。

(3)可扩展:随着通信协议的升级而可升级

(4)互操作:支持多语言的交互

相关文章
|
Java Maven
JAVA反序列化学习笔记4.Commons Collections2分析
JAVA反序列化学习笔记4.Commons Collections2分析
|
安全 Java
JAVA反序列化学习笔记3.Commons Collections5分析
JAVA反序列化学习笔记3.Commons Collections5分析
|
安全 Java
JAVA反序列化学习笔记2.Commons Collections1分析
JAVA反序列化学习笔记2.Commons Collections1分析
java202303java学习笔记第三十七天序列化流1
java202303java学习笔记第三十七天序列化流1
32 0
|
存储 缓存 分布式计算
Structured_介绍_序列化更迭 | 学习笔记
快速学习 Structured_介绍_序列化更迭
Structured_介绍_序列化更迭 | 学习笔记
|
消息中间件 JSON Java
RabbitTemplate 发送接受消息& amp 序列化机制|学习笔记
快速学习 RabbitTemplate 发送接受消息& amp 序列化机制
465 0
RabbitTemplate 发送接受消息& amp 序列化机制|学习笔记
|
JSON 网络协议 JavaScript
序列化 struct 时 tag 的使用 | 学习笔记
快速学习序列化 struct 时 tag 的使用
序列化 struct 时 tag 的使用 | 学习笔记
|
JSON 网络协议 测试技术
反序列化介绍和应用实例 | 学习笔记
快速学习反序列化介绍和应用实例
反序列化介绍和应用实例 | 学习笔记
|
XML JSON 前端开发
【Django学习笔记 - 17】:序列化和反序列化(restful接口小案例、DRF的工程搭建、序列化器与序列化、验证、保存)
【Django学习笔记 - 17】:序列化和反序列化(restful接口小案例、DRF的工程搭建、序列化器与序列化、验证、保存)
523 0
【Django学习笔记 - 17】:序列化和反序列化(restful接口小案例、DRF的工程搭建、序列化器与序列化、验证、保存)
|
存储 JSON 编解码
06、Netty学习笔记—(聊天业务优化:扩展序列化算法)
06、Netty学习笔记—(聊天业务优化:扩展序列化算法)
06、Netty学习笔记—(聊天业务优化:扩展序列化算法)