Java教程

【九月打卡】第10天 实战wiki知识库系统笔记7

本文主要是介绍【九月打卡】第10天 实战wiki知识库系统笔记7,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

课程名称:Spring Boot+Vue3前后端分离,实战wiki知识库系统
课程章节:10-3 文档点赞功能开发
主讲老师:甲蛙

课程内容:

前端在文档内容的下方,增加点赞按钮,点击后 doc.vote_count+1

课程收获

在课程中有个需求是同一个ip地址一天内只能点赞一次,设置了切面类(Aspect)在请求前运行得到真实的远程IP,在保存请求的ip地址时用的线程进行赋值取值,简单理解一下就是把一个对象freeze(冷冻)住,然后进行存储,等到再次需要的时候,再将这个对象de-freeze就可以立即使用。

为什么我们要使用序列化赋值取值,它和其他方法对比有什么优点?

  • 将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。

  • 序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例

优点:

  • 当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送
  • 面对大量数据时可以把一些数据先序列化到硬盘中,等要用了,再把保存在硬盘中的对象还原到内存中
  • 线程间互不干扰;同个线程赋值取值,不需要参数传递
    图片描述
这篇关于【九月打卡】第10天 实战wiki知识库系统笔记7的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!