对象串行化

  • ObjectInputStream类

  • readObject()

  • ObjectOutputStream类

  • writeObject()

  • Serializable接口

对象的寿命通常随着生成该对象的程序的终止而终止。有时候,可能需要将对象的状态保存下来,在需要时再将对象恢复。我们把对象的这种能记录自己的状态以便将来再生的能力。叫作对象的持续性(persistence)。
对象通过写出描述自己状态的数值来记录自己,这个过程叫对象的串行化(Serialization)。也就是说能够将对象进行存档。
串行化的主要任务是写出对象实例变量的数值。如果变量是另一对象的引用,则引用的对象也要串行化。
串行化可以使得对象成为永久性,对象在创建它的程序外仍能够存在和起作用,被存储的对象中包含了可在程序中恢复的信息。

package SerializableDemo;

import java.io.Serializable;

public class serializableDemo {

    public static void main(String[] args) {

    }

}

class Hero implements Serializable{
/**
* 这是一个可串行化的对象
*/ //是自动生成的唯一标识
private static final long serialVersionUID = 1L; //对象属性
private String nickName;
private transient String password;//该变量为暂存变量,不被串行化。
int level; //构造函数
public Hero(){ }
public Hero(String nickName,String password,int level){
this.nickName = nickName;
this.password = password;
this.level=level;
} //setter和getter
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
}

Java 进阶P-8.15的更多相关文章

  1. Java进阶(三)多线程开发关键技术

    原创文章,同步发自作者个人博客,转载请务必以超链接形式在文章开头处注明出处http://www.jasongj.com/java/multi_thread/. sleep和wait到底什么区别 其实这 ...

  2. 从ConcurrentHashMap的演进看Java多线程核心技术 Java进阶(六)

    本文分析了HashMap的实现原理,以及resize可能引起死循环和Fast-fail等线程不安全行为.同时结合源码从数据结构,寻址方式,同步方式,计算size等角度分析了JDK 1.7和JDK 1. ...

  3. Java进阶(七)正确理解Thread Local的原理与适用场景

    原创文章,始自发作者个人博客,转载请务必将下面这段话置于文章开头处(保留超链接). 本文转发自技术世界,原文链接 http://www.jasongj.com/java/threadlocal/ Th ...

  4. JAVA进阶之旅(一)——增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法

    JAVA进阶之旅(一)--增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法 学完我们的java之旅,其实收获还是很多的,但是依然还有很 ...

  5. Java进阶(三十二) HttpClient使用详解

    Java进阶(三十二) HttpClient使用详解 Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们 ...

  6. Java进阶(五十三)屡试不爽之正则表达式

    Java进阶(五十三)屡试不爽之正则表达式 在线测试网址: http://tool.oschina.net/regex/# 上面的在线测试网址,含有正则表达式的生成,非常实用.大家共勉之! 匹配中文: ...

  7. Java进阶(五十二)利用LOG4J生成服务日志

    Java进阶(五十二)利用LOG4J生成服务日志 前言 由于论文写作需求,需要进行流程挖掘.前提是需要有真实的事件日志数据.真实的事件日志数据可以用来发现.监控和提升业务流程. 为了获得真实的事件日志 ...

  8. Java进阶之路

    Java进阶之路——从初级程序员到架构师,从小工到专家. 怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序 ...

  9. java进阶视频分享

    更多资源和教程请关注公众号:非科班的科班. 如果觉得我写的还可以请给个赞,谢谢大家,你的鼓励是我创作的动力 课程目录介绍 01.开班仪式02.并发编程专题之多线程基础03.并发编程专题之Java内存模 ...

  10. Java 进阶 hello world! - 中级程序员之路

    Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...

随机推荐

  1. Django系列---开发一

    参考 杜赛: https://www.dusaiphoto.com/article/2/ 官方文档: https://docs.djangoproject.com/en/3.2/ 开发环境 # 基本 ...

  2. 【Azure 事件中心】 org.slf4j.Logger 收集 Event Hub SDK(Java) 输出日志并以文件形式保存

    问题描述 在使用Azure Event Hub的SDK时候,常规情况下,发现示例代码中并没有SDK内部的日志输出.因为在Java项目中,没有添加 SLF4J 依赖,已致于在启动时候有如下提示: SLF ...

  3. Redis管理及监控工具推荐

    推荐一款Redis管理软件.[官网 http://www.redisant.cn/] 功能描述: 1. 键和字段CRUD和glob. 2. 适用于字符串.列表.散列.集合.有序集合. 通过漂亮的用户界 ...

  4. Java-ArrayList常用方法

    数组的长度不可以发生改变. 但是ArrayList集合的长度是可以随意改变的. 对于ArrayList来说,有一个尖括号代表泛型. 泛型:也就是装在集合当中的所有元素,全都是统一的什么类型. 注意:泛 ...

  5. 你听说过OTA吗?

    以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「englyf」https://mp.weixin.qq.com/s/M660Sc4ey1SxCpRT6vcM9g what? 不知有多少 ...

  6. 2022csp普及组真题:解密(decode)

    2022csp普及组真题:解密(decode) 题目 [题目描述] 给定一个正整数 k,有 k 次询问,每次给定三个正整数 ni , ei , di,求两个正整数 pi , qi, 使 ni = pi ...

  7. laravel框架 forelse和foreach

    1. @forelse($data as $v) 循环数据内容..... @empty 数据为空提示... @endforelse 2. @foreach($data as $v) 循环数据内容... ...

  8. 【JVM故障问题排查心得】「内存诊断系列」JVM内存与Kubernetes中pod的内存、容器的内存不一致所引发的OOMKilled问题总结(上)

    背景介绍 在我们日常的工作当中,通常应用都会采用Kubernetes进行容器化部署,但是总是会出现一些问题,例如,JVM堆小于Docker容器中设置的内存大小和Kubernetes的内存大小,但是还是 ...

  9. 零基础入门数据挖掘——二手车交易价格预测:baseline

    零基础入门数据挖掘 - 二手车交易价格预测 赛题理解 比赛要求参赛选手根据给定的数据集,建立模型,二手汽车的交易价格. 赛题以预测二手车的交易价格为任务,数据集报名后可见并可下载,该数据来自某交易平台 ...

  10. 单一接口优化过程全记录(主要涉及Redis)

    接口优化过程记录 问题背景 某个接口耗时长(247ms),但里面逻辑不算复杂,只进行了简单的对象引用以及操作了多次Redis 步骤1:链路追踪,确定业务耗时点 接口里通过链路追踪以及日志查询发现主要是 ...