JAVA基础之——序列化和反序列化
1 概念
序列化,将java对象转换成字节序列的过程。
反序列化,将字节序列恢复成java对象的过程。
2 为什么要序列化?
2.1 实现数据持久化,当对象创建后,它就会一直在,但是在程序终止时,这个对象就被销毁了。如果序列化对象进行持久化了,那么该对象可以被程序加载后被重建。
2.2 网络传输,不同的环境上传输能够保证数据不变。
3 序列化几种方式
3.1 实现接口Serializable
ObjectOutputStream writeObject
ObjectInputStream readObject
3.2 实现接口Externalizable
4 扩展
4.1 对象中属性用transient修饰时,不能被序列化。
4.2 如何在idea中配置自动生成uuid
快捷键ctrl+alt+s打开settings
搜索Inspections
搜索Serializable
勾选Serializable class without ‘serialVersionUID’
点击ok按钮
在实现了Serializable接口的类名上,快捷键alt+enter,选择添加uuid字段即可
4.3 socket传输时如何处理数据
比较常用的两种方式:对象转成json字符串传输;采用java对象的序列化和反序列化
4.4 当一个父类实现了序列化,子类自动实现序列化,不需要显示实现Serializable接口
4.5 当一个对象引用其他对象,序列化该对象是,其他对象也必须实现Serializable接口
JAVA基础之——序列化和反序列化的更多相关文章
- 【Java基础】序列化与反序列化深入分析
一.前言 复习Java基础知识点的序列化与反序列化过程,整理了如下学习笔记. 二.为什么需要序列化与反序列化 程序运行时,只要需要,对象可以一直存在,并且我们可以随时访问对象的一些状态信息,如果程序终 ...
- JAVA基础之序列化与反序列化
序列化和反序列化: 把对象转化为字节序列的过程称为序列化: 把字节序列恢复为对象的过程称为对象的反序列化: 方法: Java.io.ObjectOutputStream代表对象的输出流,writeOb ...
- Java基础知识➣序列化与反序列化(四)
概述 Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据.有关对象的类型的信息和存储在对象中数据的类型. 将序列化对象写入文件之后,可以从文件 ...
- Java基础之序列化对象——反序列化对象(DeserializeObjects)
控制台程序,使用如下代码能读入包含Junk对象的文件: import java.io.*; import java.nio.file.*; class DeserializeObjects { pub ...
- Java对象的序列化和反序列化[转]
Java基础学习总结--Java对象的序列化和反序列化 一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化.把字节序列恢复为对象的过程称为对象的反序列化. 对象的序列化主要有两种用 ...
- 【Java】Java原生的序列化和反序列化
写一个Java原生的序列化和反序列化的DEMO. 需序列化的类: package com.nicchagil.nativeserialize; import java.io.Serializable; ...
- Java对象的序列化与反序列化
序列化与反序列化 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程.一般将一个对象存储至一个储存媒介,例如档案或是记亿体缓冲等.在网络传输过程中,可以是字节或是 ...
- Java对象的序列化与反序列化-Json篇
说到Java对象的序列化与反序列化,我们首先想到的应该是Java的Serializable接口,这玩意在两个系统之间的DTO对象里面可能会用到,用于系统之间的数据传输.或者在RPC(远程方法调用)时可 ...
- java中的序列化与反序列化,还包括将多个对象序列化到一个文件中
package Serialize; /** * Created by hu on 2015/11/7. */ //实现序列化必须实现的接口,这就是一个空接口,起到标识的作用 import java. ...
随机推荐
- idea IDE 导入的项目没有显示目录结构
解决方法:1.关闭 idea 2.删除该项目录下的 .idea 文件 3.重新 open 项目
- JavaScript(汇聚页)
JavaScript对象 String 对象 RegExp 对象 \W 元字符
- HTML Strip Char Filter
The html_strip character filter strips HTML elements from the text and replaces HTML entities with t ...
- 利用PHP的curl批量导出文件
场景 1.需要从网站中导出大量的文件,包括有图片格式,文档格式等附件内容. 2.分文件夹来导出不同的数据 <?php header("Content-Type:text/html;ch ...
- 利用wxpy进行微信信息发送详解(一)
利用wxpy进行微信信息自动发送,简直是骚扰神器,除非拉黑你. 那我们就来设置一个场景吧,五秒发送一次,一次发送10条 首先我们来整理一下思路: ♦1.首先我们要从网上爬去我们想要发送的内容 ♦2.登 ...
- 浅谈Android选项卡(四)
前面几篇介绍的选项的用法,基本上使用TabActivity.ViewPager.已经基本上满足开发需求了.但是这里再介绍一种小技巧,在有的时候,感觉使用前面的ViewPager和Fragment时候, ...
- 初始linux系统--ubuntu
ubuntu操作系统 1. Linux系统组成 Linux内核软件程序用于实现CPU和内存分配进程调度设备驱动等核心操作,以面向硬件为主 外围程序面向用户为主,包括分析用户指令的解释器网络服务程序图 ...
- SSAS Tabular模式中关系设置不支持直接设置多对多?
在网上文档发现一篇文章 微软BI 之SSAS 系列 - 多维数据集维度用法之一 引用维度 Referenced Dimension 有涉及到SSAS模型的关系设置 但是本人的基于表格模型的 没有关系可 ...
- Spring+SpringMVC+Mybatis整合redis
SSM整合redis redis是一种非关系型数据库,与mongoDB不同的是redis是内存数据库,所以访问速度很快.常用作缓存和发布-订阅式的消息队列. 这里用的是ssm框架+maven构建的项目 ...
- 收集vcftools所有用法
VCFtools用来处理VCF文档. 筛选特定突变 比较文件 总结突变 转化文件格式 验证并合并文件 取突变交集和差集 Get basic file statistics input可以为VCF或BC ...