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

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

一.  持久化


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

相关文章

Nginx内置变量应用场景分析

《Nginx内置变量应用场景分析》Nginx内置变量速查表,涵盖请求URI、客户端信息、服务器信息、文件路径、响应与性能等类别,这篇文章给大家介绍Nginx内置变量应用场景分析,感兴趣的朋友跟随小编一... 目录1. Nginx 内置变量速查表2. 核心变量详解与应用场景3. 实际应用举例4. 注意事项Ng

Java序列化之serialVersionUID的用法解读

《Java序列化之serialVersionUID的用法解读》Java序列化之serialVersionUID:本文介绍了Java对象的序列化和反序列化过程,强调了serialVersionUID的作... 目录JavChina编程a序列化之serialVersionUID什么是序列化为什么要序列化serialV

idea-java序列化serialversionUID自动生成方式

《idea-java序列化serialversionUID自动生成方式》Java的Serializable接口用于实现对象的序列化和反序列化,通过将对象转换为字节流来存储或传输,实现Serializa... 目录简介实现序列化serialVersionUID配置使用总结简介Java.io.Seripyth

java反序列化serialVersionUID不一致问题及解决

《java反序列化serialVersionUID不一致问题及解决》文章主要讨论了在Java中序列化和反序列化过程中遇到的问题,特别是当实体类的`serialVersionUID`发生变化或未设置时,... 目录前言一、序列化、反序列化二、解决方法总结前言serialVersionUID变化后,反序列化失

GO语言zap日志库理解和使用方法示例

《GO语言zap日志库理解和使用方法示例》Zap是一个高性能、结构化日志库,专为Go语言设计,它由Uber开源,并且在Go社区中非常受欢迎,:本文主要介绍GO语言zap日志库理解和使用方法的相关资... 目录1. zap日志库介绍2.安装zap库3.配置日志记录器3.1 Logger3.2 Sugared

深入理解Redis线程模型的原理及使用

《深入理解Redis线程模型的原理及使用》Redis的线程模型整体还是多线程的,只是后台执行指令的核心线程是单线程的,整个线程模型可以理解为还是以单线程为主,基于这种单线程为主的线程模型,不同客户端的... 目录1 Redis是单线程www.chinasem.cn还是多线程2 Redis如何保证指令原子性2.

深入理解MySQL流模式

《深入理解MySQL流模式》MySQL的Binlog流模式是一种实时读取二进制日志的技术,允许下游系统几乎无延迟地获取数据库变更事件,适用于需要极低延迟复制的场景,感兴趣的可以了解一下... 目录核心概念一句话总结1. 背景知识:什么是 Binlog?2. 传统方式 vs. 流模式传统文件方式 (非流式)流

深入理解Go之==的使用

《深入理解Go之==的使用》本文主要介绍了深入理解Go之==的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录概述类型基本类型复合类型引用类型接口类型使用type定义的类型不可比较性谈谈map总结概述相信==判等操作,大

C++中悬垂引用(Dangling Reference) 的实现

《C++中悬垂引用(DanglingReference)的实现》C++中的悬垂引用指引用绑定的对象被销毁后引用仍存在的情况,会导致访问无效内存,下面就来详细的介绍一下产生的原因以及如何避免,感兴趣... 目录悬垂引用的产生原因1. 引用绑定到局部变量,变量超出作用域后销毁2. 引用绑定到动态分配的对象,对象

深入理解Mysql OnlineDDL的算法

《深入理解MysqlOnlineDDL的算法》本文主要介绍了讲解MysqlOnlineDDL的算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小... 目录一、Online DDL 是什么?二、Online DDL 的三种主要算法2.1COPY(复制法)