深入理解:持久化、序列化,引用变量(超值知识点,通俗易懂)

本文主要是介绍深入理解:持久化、序列化,引用变量(超值知识点,通俗易懂),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.  持久化


       最早的时候听说持久化是JDBC,数据库的连接,老师说JDBC是一个持久层的框架。当时听的一知半解。

       现在我们一起去探讨吧! 

     个人总结,凡是编程语言:大方向只有两个:输入和输出,中间的什么库啊,框架啊等都是为其服务的。(如果错误,请大神指正!)

     拿下它 ! 一定要搞懂!这是基础!!还不会!!心慌!!

     不放过一个技术积累的机会!


①  什么是持久化 ?

      将程序数据从瞬时状态装换为永久状态的机制过程或者是说装换结果的状态。

      通俗的讲,就是将内存中的程序的数据永久保存在磁盘中,或者数据库中,云盘等等,能长久保存的存储结构。

②  怎么实现持久化 ?

      就目前了解程度来看:

  1.  JDBC技术,CP30等连接池技术,将数据保存在数据库中
  2.  IO技术,将程序的数据存储在数据IO流中

③  序列化、持久化

     1. 关于序列化的相关知识     

我们在写实体类的时候,往往会添加这一行代码:

public class S implements Serializable

     这段代码完成了类S的实现序列化,将其装换为字节流,然后在网络上传送。反序列化就是从字节流回复称对象。其实在我们进行远程通信的时候,我们传输图片和文件等等,传输的过程先将传输的文件以二进制流的形式在网络上传送。反序列化就是当接收方从网上流的形式接收,再恢复成整个文件的形式,就是反序列化。

     2. 序列化和持久化之间的关系

       序列化是为了解决对象之间进行传输的问题,传输的方式可以是线程之间,进程之间,内外存之间,主机之间的正常进行。持久化包含序列化,持久化将数据永久性的保存。序列化解决了数据对象之间的传输,持久化可以是数据库方案,文件方案,对象方案等等。


二. 引用变量,可以说用引用变量操作对象.

     当我们对一个对象操作时候,真正操作的是对对象的引用。


     先看一行代码:

String s;

     相信大家对这行代码肯定很熟悉,String s; s是String类型的一个引用,什么是引用,就是在作用域有效的情况下,s的数据类型就是String,String引用了s作为自己的变量类型。因为这样创建s没有和任何事物相连,因此一个安全的做法就是将其进行初始化。

Demo demo = new Demo();

    简单的解释平时创建的对象:new Demo():创建一个Demo对象,demo是Demo的引用变量,存放在栈内存,将对象引用指向新的对象,无参构造函数初始化对象。


分享技术心得,希望和大家共同进步!有想法的伙伴们可以私信和留言!

这篇关于深入理解:持久化、序列化,引用变量(超值知识点,通俗易懂)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/728163

相关文章

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

Django序列化中SerializerMethodField的使用详解

《Django序列化中SerializerMethodField的使用详解》:本文主要介绍Django序列化中SerializerMethodField的使用,具有很好的参考价值,希望对大家有所帮... 目录SerializerMethodField的基本概念使用SerializerMethodField的

SpringCloud之consul服务注册与发现、配置管理、配置持久化方式

《SpringCloud之consul服务注册与发现、配置管理、配置持久化方式》:本文主要介绍SpringCloud之consul服务注册与发现、配置管理、配置持久化方式,具有很好的参考价值,希望... 目录前言一、consul是什么?二、安装运行consul三、使用1、服务发现2、配置管理四、数据持久化总

一文带你深入了解Python中的GeneratorExit异常处理

《一文带你深入了解Python中的GeneratorExit异常处理》GeneratorExit是Python内置的异常,当生成器或协程被强制关闭时,Python解释器会向其发送这个异常,下面我们来看... 目录GeneratorExit:协程世界的死亡通知书什么是GeneratorExit实际中的问题案例

Jackson库进行JSON 序列化时遇到了无限递归(Infinite Recursion)的问题及解决方案

《Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursion)的问题及解决方案》使用Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursi... 目录解决方案‌1. 使用 @jsonIgnore 忽略一个方向的引用2. 使用 @JsonManagedR

MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固 通俗易懂版)

《MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固通俗易懂版)》本文主要讲解了MySQL中的多表查询,包括子查询、笛卡尔积、自连接、多表查询的实现方法以及多列子查询等,通过实际例子和操... 目录复合查询1. 回顾查询基本操作group by 分组having1. 显示部门号为10的部门名,员

前端知识点之Javascript选择输入框confirm用法

《前端知识点之Javascript选择输入框confirm用法》:本文主要介绍JavaScript中的confirm方法的基本用法、功能特点、注意事项及常见用途,文中通过代码介绍的非常详细,对大家... 目录1. 基本用法2. 功能特点①阻塞行为:confirm 对话框会阻塞脚本的执行,直到用户作出选择。②

通俗易懂的Java常见限流算法具体实现

《通俗易懂的Java常见限流算法具体实现》:本文主要介绍Java常见限流算法具体实现的相关资料,包括漏桶算法、令牌桶算法、Nginx限流和Redis+Lua限流的实现原理和具体步骤,并比较了它们的... 目录一、漏桶算法1.漏桶算法的思想和原理2.具体实现二、令牌桶算法1.令牌桶算法流程:2.具体实现2.1

Java中八大包装类举例详解(通俗易懂)

《Java中八大包装类举例详解(通俗易懂)》:本文主要介绍Java中的包装类,包括它们的作用、特点、用途以及如何进行装箱和拆箱,包装类还提供了许多实用方法,如转换、获取基本类型值、比较和类型检测,... 目录一、包装类(Wrapper Class)1、简要介绍2、包装类特点3、包装类用途二、装箱和拆箱1、装

深入解析Spring TransactionTemplate 高级用法(示例代码)

《深入解析SpringTransactionTemplate高级用法(示例代码)》TransactionTemplate是Spring框架中一个强大的工具,它允许开发者以编程方式控制事务,通过... 目录1. TransactionTemplate 的核心概念2. 核心接口和类3. TransactionT