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

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

一.  持久化


       最早的时候听说持久化是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

相关文章

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

一文全面详解Python变量作用域

《一文全面详解Python变量作用域》变量作用域是Python中非常重要的概念,它决定了在哪里可以访问变量,下面我将用通俗易懂的方式,结合代码示例和图表,带你全面了解Python变量作用域,需要的朋友... 目录一、什么是变量作用域?二、python的四种作用域作用域查找顺序图示三、各作用域详解1. 局部作

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Java中JSON格式反序列化为Map且保证存取顺序一致的问题

《Java中JSON格式反序列化为Map且保证存取顺序一致的问题》:本文主要介绍Java中JSON格式反序列化为Map且保证存取顺序一致的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录背景问题解决方法总结背景做项目涉及两个微服务之间传数据时,需要提供方将Map类型的数据序列化为co

深入解析 Java Future 类及代码示例

《深入解析JavaFuture类及代码示例》JavaFuture是java.util.concurrent包中用于表示异步计算结果的核心接口,下面给大家介绍JavaFuture类及实例代码,感兴... 目录一、Future 类概述二、核心工作机制代码示例执行流程2. 状态机模型3. 核心方法解析行为总结:三

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

SpringBoot实现Kafka动态反序列化的完整代码

《SpringBoot实现Kafka动态反序列化的完整代码》在分布式系统中,Kafka作为高吞吐量的消息队列,常常需要处理来自不同主题(Topic)的异构数据,不同的业务场景可能要求对同一消费者组内的... 目录引言一、问题背景1.1 动态反序列化的需求1.2 常见问题二、动态反序列化的核心方案2.1 ht

SpringBoot项目中Redis存储Session对象序列化处理

《SpringBoot项目中Redis存储Session对象序列化处理》在SpringBoot项目中使用Redis存储Session时,对象的序列化和反序列化是关键步骤,下面我们就来讲讲如何在Spri... 目录一、为什么需要序列化处理二、Spring Boot 集成 Redis 存储 Session2.1

java变量内存中存储的使用方式

《java变量内存中存储的使用方式》:本文主要介绍java变量内存中存储的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、变量的定义3、 变量的类型4、 变量的作用域5、 内存中的存储方式总结1、介绍在 Java 中,变量是用于存储程序中数据

Java资源管理和引用体系的使用详解

《Java资源管理和引用体系的使用详解》:本文主要介绍Java资源管理和引用体系的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Java的引用体系1、强引用 (Strong Reference)2、软引用 (Soft Reference)3、弱引用 (W