对象、流、磁盘、序列化、反序列化等概念之间的关系

(1)对象—到—> 流、磁盘、内存、网络等等,称之为序列化 ;反之称之为“反序列化”

(2)磁盘 —到—>  流 ,称之为 “流化”, 然后,流—到—>对象,称之为“反序列化”

(3)对象 、流、内存、网络—到—>磁盘,通常也称之为 “持久化”

原文地址:https://www.cnblogs.com/changbaishan/p/11567320.html

时间: 2025-01-13 08:46:03

对象、流、磁盘、序列化、反序列化等概念之间的关系的相关文章

[疯狂Java]I/O:I/O流的最高境界——对象流(序列化:手动序列化、自动序列化、引用序列化、版本)

1. 什么是对象流:序列化/反序列化的概念 1) 对象流是和字节流/字符流同处于一个概念体系的: a. 这么说字节流是流动的字节序列,字符流是流动的字符序列,那么对象流就是流动的对象序列咯? b. 概念上确实可以这样理解,对象流就是专门用来传输Java对象的: c. 但是字节和字符都是非常直观的二进制码(字节本身就是,而字符是一种二进制编码),二进制码的流动是符合计算机的概念模型的,可是对象是一个抽象的东西,对象怎么能像二进制码那样流动呢? d. 其实很好理解,对象流只不过是Java的API而已

动车上的书摘-java对象流与序列化

动车上的书摘-java对象流与序列化 摘要: 摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢! 钢笔不限贵便宜,书法是来自心对手的交流.-泥沙砖瓦浆木匠 一.对象序列化 当需要存储相同类型的数据,选择固定的长度记录是好选择.但是在面向对象(OOP)程序中,对象之间很少有全部相同的类型.所以,java语言支持一种称为对象序列化(object serialization)的机制. 下面展示一个序列化例子,关于两个对象 Em

Java基础IO类之对象流与序列化

对象流的两个类: ObjectOutputStream:将Java对象的基本数据类型和图形写入OutputStream ObjectInputStream:对以前使用ObjectOutputStream写入的基本数据和对象进行反序列化 序列化一组对象: 在系列化操作中,同时序列化多个对象时,反序列化也必须按顺序操作,如果想要序列化一组对象该如何操作呢? 序列化一组对象可采用,对象数组的形式,因为对象数组可以向Object进行转型操作. 把对象序列化到文件当中,然而文件中存的是字节.我们对象里面相

(原创)c#学习笔记08--面向对象编程简介02--OOP技术04--对象之间的关系

8.2.4  对象之间的关系 继承是对象之间的一种简单关系,可以让派生类完整地获得基类的特性,而派生类也可以访问基类内部的一些工作代码(通过受保护的成员). 对象之间还有其他一些重要关系. 本节简要讨论下述关系: 包含关系:一个类包含另一个类.这类似于世承关系,但包含类可以控制对被包含类的成员的访问,甚至在使用被包含类的成员前进行其他处理. 集合关系:一个类用作另一个类的多个实例的容器.这类似于对象数组,但集合有其他功能,包括索引.排序和重新设置大小等. 1. 包含关系 用一个成员字段包含对象实

java基础入门-对象流与序列化

概念 对象序列化:将对象输入到流里面,并在之后将其读回. 注意事项 对象需要实现Serializable接口,Serializable接口没有任何方法,不需要重写 由于对象可能会重复使用,对象暂用不再是原来的内存地址,因此,序列化过程中引入序列号这个东西,如下图 序列化用途 对象通过序列化,然后在网络中传输,不同的机器负责不同的计算部分,从而实现分布式计算,提高计算的效率 版权声明:本文为博主原创文章,未经博主允许不得转载.

java对象流与序列化

Object流,直接把obj写入或读出. 前言: 比如 画图的程序,咣当画一个三角形出来,咣当画一正方形出来.然后存盘,当你下次再打开软件的时候三角形.方块还在原来的位置上.如果用面向对象的思维,三角形,方块都有自己的成员变量,x.y坐标.颜色.线的颜色.粗细等,你存盘的时候要把这些内容写到硬盘上,写到文件里,这叫存盘.比如说一个方块,你存盘的时候只要把起始点的坐标,宽度,高度颜色等等存进去,当再显示的时候再在原处把它画出来. 序列化:把一个object直接转换成字节流写到硬盘上或者写到网络上.

java io流与序列化反序列化

java的io是实现输入和输出的基础,可以方便的实现数据的输入和输出操作. 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象. 下面是一个实例,通过例子来将以上来简化学习: 1.先创建一个学生类来实现serialization: 1 package com.etc; 2 3 import java.io.Serializable; 4

CPU,内存,磁盘,指令以及它们之间的关系

众所周知计算机的组成是由控制器.运算器.存储器.输入.输出设备五部分构成,而其中CPU就是由控制器.运算器.寄存器和时钟四部分构成,磁盘和内存就属于存储设备. CPU指令主要有以下四个: 1.加载:把一个字节或一个字从内存中赋值到寄存器,覆盖原来寄存器的内容 2.存储:把一个字节或一个字从寄存器复制到内存中的某个位置,覆盖原来内存上这个位置的内容 3.操作:将两个寄存器的内容赋值到ALU,ALU对这两个字进行算术操作,将结果存储在某个寄存器中,以覆盖寄存器中原来的值 4.跳转:从指令本身抽取一个

.net 序列化反序列化

.net 序列化创建对象的深拷贝 public static object DeepClone(object original) { using (MemoryStream stream = new MemoryStream()) { //构造序列化格式化器来执行所有实习工作 BinaryFormatter formatter = new BinaryFormatter(); //流上下文 formatter.Context = new StreamingContext(StreamingCon