当前位置: 首页 > news >正文

序列化Serializable

一、传输对象的方式

将对象从内存传输到磁盘进行保存,或者进行网络传输,有两种方式:

  • 实现Serializable接口,直接传输对象
  • 转成json字符串后,进行字符串传输
    在这里插入图片描述

二、直接传输对象

implements Serializable

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("learning_lesson")
@ApiModel(value="LearningLesson对象", description="学生课程表")
public class LearningLesson implements Serializable {private static final long serialVersionUID = 1L;@ApiModelProperty(value = "主键")@TableId(value = "id", type = IdType.ASSIGN_ID)private Long id;@ApiModelProperty(value = "学员id")private Long userId;@ApiModelProperty(value = "课程id")private Long courseId;@ApiModelProperty(value = "课程状态,0-未学习,1-学习中,2-已学完,3-已失效")private LessonStatus status;@ApiModelProperty(value = "每周学习频率,例如每周学习6小节,则频率为6")private Integer weekFreq;@ApiModelProperty(value = "学习计划状态,0-没有计划,1-计划进行中")private PlanStatus planStatus;@ApiModelProperty(value = "已学习小节数量")private Integer learnedSections;@ApiModelProperty(value = "最近一次学习的小节id")private Long latestSectionId;@ApiModelProperty(value = "最近一次学习的时间")private LocalDateTime latestLearnTime;@ApiModelProperty(value = "创建时间")private LocalDateTime createTime;@ApiModelProperty(value = "过期时间")private LocalDateTime expireTime;@ApiModelProperty(value = "更新时间")private LocalDateTime updateTime;
}

举例Redis直接传输对象
单元测试

    //使用RedisTemplate<String,Object>需要配置一个RedisTemplate<String,Object>@Autowiredprivate RedisTemplate<String,Object> redisTemplate;@Testpublic void Test1_Add(){User u = User.builder().id(1000).name("zhangsan").phone("15730000001").build();redisTemplate.opsForValue().set("user1", u);}@Testpublic void Test1_Get(){Object obj = redisTemplate.opsForValue().get("user1");// 这里不能把Object强转为User类 否则会java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.gzdemo.redisdemo.domain.UserUser user = JSONUtil.toBean(JSONUtil.toJsonStr(obj), User.class);System.out.println(user);}

如果不implements Serializable,会报错,除非RedisTemplate<String,Object>配置了各种序列化器。

相关文章:

序列化Serializable

一、传输对象的方式 将对象从内存传输到磁盘进行保存&#xff0c;或者进行网络传输&#xff0c;有两种方式&#xff1a; 实现Serializable接口&#xff0c;直接传输对象转成json字符串后&#xff0c;进行字符串传输 二、直接传输对象 implements Serializable Data Equal…...

编写静态库

一、静态库 1.制作完成整体目录结构 2.首先创建mymath.c和mymath.h 3.编写Makefile 4.创建测试的main函数 test文件夹 先把lib移到test文件夹里面 4.编译链接 gcc main.c -I ./lib/include/ -L ./lib/mymathlib/ -l mymath 5.形成可执行程序a.out 要是不想执行第四步那么麻烦…...

hive的表操作

常用的hive命令 切换数据库use test;查询表的建表信息show create table 数据库名称.表名;查看表的类型信息desc formatted 数据库名称.表名; 删除内部表 drop table 数据库名称.表名; 先启动hdfs &#xff0c;mysql &#xff0c; hiveservice2&#xff0c;beeline CREATE [EX…...

基于多视点编码光场的全景三维重建方法

欢迎关注GZH《光场视觉》 摘要&#xff1a;在基于光场的一系列应用中&#xff0c;目标的三维重建是基础且关键的任务。普通光场只能重建单一视角而无法重建全景&#xff0c;并且在纹理特征匮乏的区域也无法生成准确的三维信息。针对以上问题&#xff0c;提出一种基于多视点编码…...

Spring Boot中的分布式文件系统

Spring Boot中的分布式文件系统 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;我们将探讨如何在Spring Boot中实现分布式文件系统的搭建和应用…...

three.js地理坐标系有哪些,和屏幕坐标系的转换。

坐标系很好理解&#xff0c;就是点线面体的位置&#xff0c;一个点是一个坐标&#xff0c;一条线段2个坐标&#xff0c;一个矩形四个坐标&#xff0c;一个立方体8个坐标&#xff0c;three.js面对的是三维空间&#xff0c;屏幕则是二维的&#xff0c;这就面临着转换问题&#xf…...

聊聊C++20的三向比较运算符 `<=>`

C20标准引入了许多新特性&#xff0c;其中之一是三向比较运算符 <>&#xff0c;也被称为太空船运算符。这个新运算符为C程序员提供了一种全新的比较对象的方式&#xff0c;它能有效简化比较逻辑&#xff0c;避免编写多个比较运算符重载的情况。 为什么需要三向比较运算符…...

CVE-2024-0603 漏洞复现

CVE-2024-0603 源码&#xff1a;https://gitee.com/dazensun/zhicms 开题&#xff1a; CVE-2024-0603描述&#xff1a;ZhiCms up to 4.0版本的文件app/plug/controller/giftcontroller.php中存在一处未知漏洞。攻击者可以通过篡改参数mylike触发反序列化&#xff0c;从而远程…...

西部智慧健身小程序+华为运动健康服务

1、 应用介绍 西部智慧健身小程序为用户提供一站式全流程科学健身综合服务。用户通过登录微信小程序&#xff0c;可享用健康筛查、运动风险评估、体质检测评估、运动处方推送、个人运动数据监控与评估等公益服务。 2、 体验介绍西部智慧健身小程序华为运动健康服务核心体验如…...

Spring Boot中如何处理异步任务

Spring Boot中如何处理异步任务 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将探讨在Spring Boot应用中如何处理异步任务&#xff0c;以提升系统的性…...

数字化精益生产系统--RD研发管理系统

R&D研发管理系统是一种用于管理和监督科学研究和技术开发的软件系统&#xff0c;其设计和应用旨在提高企业研发活动的效率、质量和速度。以下是对R&D研发管理系统的功能设计&#xff1a;...

鱼眼相机 去畸变

目录 枕形畸变和去枕形畸变 去枕形畸变失败 枕形畸变和去枕形畸变 import cv2 import numpy as np import matplotlib.pyplot as plt# 创建一个带网格的原始图像 def create_grid(image_size512, grid_size20):image np.zeros((image_size, image_size, 3), dtypenp.uint8)…...

DC/AC电源模块:为智能家居设备提供恒定的电力供应

BOSHIDA DC/AC电源模块&#xff1a;为智能家居设备提供恒定的电力供应 DC/AC电源模块是一种常见的电源转换器&#xff0c;它将直流电源&#xff08;DC&#xff09;转换为交流电源&#xff08;AC&#xff09;&#xff0c;为智能家居设备提供恒定的电力供应。在智能家居系统中&a…...

小红书运营教程02

小红书大致会分享10篇左右。微博、抖音、以及视频剪辑等自媒体运营相关技能以及运营教程相关会陆续的进行分享。 上次分享涉及到的对比,母婴系列,或者可以说是服装类型,不需要自己过多的投入,对比知识类博主来说,自己将知识讲述出来,然后要以此账号进行变现就比较麻烦,…...

k8s自动清理节点服务

要在 Kubernetes 中实现当某个节点的 CPU 或内存使用超过 90% 时清理该节点上的服务&#xff0c;你可以使用以下几种方法&#xff1a; 自定义脚本和 cron job&#xff1a;编写一个脚本监控节点的资源使用情况&#xff0c;并在超过阈值时触发清理操作。使用 DaemonSet 运行监控…...

JS如何把年月日转为时间戳

在JavaScript中&#xff0c;将年月日&#xff08;通常表示为一个字符串或者分别的年、月、日数字&#xff09;转换为时间戳&#xff08;即Unix时间戳&#xff0c;是自1970年1月1日&#xff08;UTC/GMT的午夜&#xff09;开始所经过的秒数&#xff0c;不考虑闰秒&#xff09;可以…...

【YOLOv5进阶】——引入注意力机制-以SE为例

声明&#xff1a;笔记是做项目时根据B站博主视频学习时自己编写&#xff0c;请勿随意转载&#xff01; 一、站在巨人的肩膀上 SE模块即Squeeze-and-Excitation 模块&#xff0c;这是一种常用于卷积神经网络中的注意力机制&#xff01;&#xff01; 借鉴代码的代码链接如下&a…...

【C++题解】1456. 淘淘捡西瓜

问题&#xff1a;1456. 淘淘捡西瓜 类型&#xff1a;贪心 题目描述&#xff1a; 地上有一排西瓜&#xff0c;每个西瓜都有自己的重量。淘淘有一个包&#xff0c;包的容量是固定的&#xff0c;淘淘希望尽可能在包里装更多的西瓜&#xff08;当然要装整个的&#xff0c;不能切开…...

用Python读取Word文件并提取标题

前言 在日常工作中&#xff0c;我们经常需要处理Word文档&#xff0c;特别是从中提取关键信息&#xff0c;如标题、段落等。今天&#xff0c;我们将利用Python来实现这一功能&#xff0c;并为大家提供一段完整的代码示例。 准备工作 首先&#xff0c;你需要安装python-docx库…...

Windows编程上

Windows编程[上] 一、Windows API1.控制台大小设置1.1 GetStdHandle1.2 SetConsoleWindowInfo1.3 SetConsoleScreenBufferSize1.4 SetConsoleTitle1.5 封装为Innks 2.控制台字体设置以及光标调整2.1 GetConsoleCursorInfo2.2 SetConsoleCursorPosition2.3 GetCurrentConsoleFon…...

基于MATLAB的隔离型DC DC变换器系统设计:技术指标明确、包含设计报告与仿真程序的全过程解析

基于MATLAB的单端反激——隔离型DC/DC变换器系统设计 本设计包括设计报告&#xff0c;仿真程序。技术指标 输入电压、输出电压、输出功率、纹波系数、开关频率见下图凌晨三点盯着示波器的我&#xff0c;突然被显示器上的锯齿状波形逗笑了——这哪儿是DC/DC变换器啊&#xff0c;…...

PFC 2D二维直剪代码解析与源文件分享

PFC 2D 二维直剪&#xff0c;代码逐行解释&#xff0c;提供源文件。 。 嘿&#xff0c;各位岩土工程或者离散元爱好者们&#xff01;今天咱来唠唠PFC 2D里二维直剪的事儿&#xff0c;顺便把代码给大家扒一扒&#xff0c;逐行解释清楚&#xff0c;最后源文件也双手奉上&#xff…...

AHT10 vs DHT11:国产温湿度传感器性能对比与选型建议

AHT10 vs DHT11&#xff1a;国产温湿度传感器性能对比与选型建议 在物联网和智能硬件快速发展的今天&#xff0c;温湿度传感器作为环境感知的基础元件&#xff0c;其性能直接影响到整个系统的可靠性和精度。面对市场上众多的传感器选择&#xff0c;开发者常常需要在成本、精度和…...

SpringBoot项目如何动态加载用户上传的Jar包?两种热部署方案对比

SpringBoot动态加载用户Jar包实战&#xff1a;两种热部署方案深度解析 在当今快速迭代的软件开发环境中&#xff0c;插件化架构正成为提升系统扩展性的关键策略。作为Java生态中最流行的框架之一&#xff0c;SpringBoot项目常面临需要动态加载用户自定义Jar包的需求场景。本文将…...

AI智能体开发全解析:从需求到部署,打造下一代智能应用!

AI智能体&#xff08;AI Agent&#xff09;的开发流程已从传统的软件开发生命周期&#xff08;SDLC&#xff09;演进为智能体开发生命周期&#xff08;ADLC, Agentic Development Lifecycle&#xff09;。其核心逻辑不再是编写确定的逻辑代码&#xff0c;而是构建具备感知、规划…...

视频换脸功能上线!AI黑科技助力内容创作降本90%

在电商圈摸爬滚打十几年&#xff0c;从国内淘宝京东到亚马逊TikTok&#xff0c;操盘过美妆、服饰、3C多个类目的百万级店铺。这十年最深的体会就是&#xff1a;流量越来越贵&#xff0c;内容越来越卷&#xff0c;成本越来越高。 尤其是短视频赛道。一条带货视频&#xff0c;模…...

华为交换机Eth-Trunk配置实战:手工与LACP模式全解析(附排错指南)

华为交换机Eth-Trunk深度配置指南&#xff1a;从手工模式到LACP模式的技术实践 在企业网络架构中&#xff0c;带宽瓶颈和单点故障一直是困扰网络工程师的两大难题。记得去年参与某金融数据中心改造时&#xff0c;核心交换机之间的千兆链路在业务高峰时段频繁出现拥塞告警&#…...

OFA-VE模型性能详解:OFA-Large在SNLI-VE测试集SOTA指标复现与解读

OFA-VE模型性能详解&#xff1a;OFA-Large在SNLI-VE测试集SOTA指标复现与解读 1. 引言&#xff1a;理解视觉蕴含的核心价值 视觉蕴含&#xff08;Visual Entailment&#xff09;是多模态人工智能领域的一个重要研究方向&#xff0c;它要解决的核心问题是&#xff1a;机器如何…...

国产隔离器信号孤岛保卫战

国产隔离器正以绝缘屏障铸就信号孤岛——当8kV静电在光伏接线盒上炸出刺目蓝光&#xff0c;当10V/m射频噪声如潮水般淹没地铁信号回波&#xff0c;这条工业设备的生死线上&#xff0c;我们以GB/T 17626标准为矛&#xff0c;以-40℃~85℃环境适应性为盾&#xff0c;在电磁风暴与…...

CoPaw模型多轮对话效果深度评测:连贯性、逻辑性与知识准确性

CoPaw模型多轮对话效果深度评测&#xff1a;连贯性、逻辑性与知识准确性 1. 开场白&#xff1a;为什么关注多轮对话能力 最近测试了不下20个大语言模型&#xff0c;发现一个有趣现象&#xff1a;单轮问答表现都不错&#xff0c;但一到多轮对话就原形毕露。有的模型聊着聊着就…...