- 博客(10)
- 收藏
- 关注
原创 jwt优缺点 如何使用jwt
在生成JWT令牌时,我们使用了一个密钥来签名令牌,并设置了令牌的过期时间为1小时。在验证JWT令牌时,我们使用相同的密钥来验证令牌的真实性,并获取令牌中的信息。而JWT是无状态的,不需要在服务器上存储任何信息,因此可以减轻服务器的负担。1. 令牌过期问题:JWT的令牌过期时间是固定的,无法在令牌生成后更改。2. 令牌大小问题:JWT令牌的大小通常比Session令牌大,因为它包含了更多的信息。本文将介绍JWT的优缺点以及为什么使用JWT而不是Session,并提供使用JWT的示例代码。
2023-05-06 16:21:30 2717
原创 SpringBoot项目
VO值对象, 从数据库中的某个表查询数据,有多种场景,有的需要查全部,而有的查询只需要查一部分数据,如果只查一部分数据查询回来的数据直接用Entity接收封装的话,则Entity中会存在大量的null值, 这些null值传输给客户端也会占用流量,浪费资源,使用VO则可以解决此问题。mapper接口中 //insert into product values(null,'',100,30),(null,'',100,30),(null,'',100,30)
2023-04-07 18:00:34 121
原创 国4加密和解密
true 传换成小写格式 , false 传换成大写格式。* @param toLowerCase true 传换成小写格式 , false
2023-04-04 17:37:19 202
转载 获取雪花id
支持的最大机器id,结果是31 (这个移位算法可以很快的计算出几位二进制数所能表示的最大十进制数)* 生成序列的掩码,这里为4095 (0b111111111111=0xfff=4095)//如果当前时间小于上一次ID生成的时间戳,说明系统时钟回退过这个时候应当抛出异常。* @param workerId 工作ID (0~31)//阻塞到下一个毫秒,获得新的时间戳。//如果是同一时间生成的,则进行毫秒内序列。* 获得下一个ID (该方法是线程安全的)* 阻塞到下一个毫秒,直到获得新的时间戳。
2023-04-04 17:34:42 168
原创 mysql数据库基础
# 主要的学习目标:# SQL:Structured Query Language# 学习SQL语句。# SQL语句是我们操作数据库的语言,通过执行SQL可以完成对数据的相关操作。# 连接数据库的形式:# 1:控制台(命令行)的客户端# 2:第三方图形界面的软件# 3:IDEA这样的集成开发环境中也带有连接数据库的操作# 4:使用JDBC连接数据库
2023-03-05 20:06:51 938
原创 定位方式
作用: 控制元素显示位置相关的内容- 包括: - 1)静态定位 (文档流定位)- 格式: position:static; 元素默认的定位方式- 特点: 元素以左上为基准, 块级元素从上往下依次排列, 行内元素从左向右依次排列,默认情况下无法实现元素层叠的效果- 如何控制元素显示的位置? - 通过外边距控制元素显示位置- 2)相对定位- 格式: position: relative- 特点: 元素不脱离文档流(元素不管显示到什么位置,都
2022-10-29 19:22:09 41
原创 css三大特性
继承性: 元素可以继承上级元素文本和字体相关的样式, 部分标签自带的效果不受继承影响- 层叠性:多个选择器有可能选择到同一个元素, 如果添加的样式不同则样式全部层叠生效,如果作用的样式相同 由选择器的优先级决定哪个生效.- 优先级: 指选择器的优先级, 作用范围越小优先级越高, !important>id>类选择器>标签名>继承(优先级比较低,因为属于间接选中)
2022-10-29 19:20:18 52 1
原创 线程API
线程API:线程:一个顺序的单一的程序执行流程就是一个线程~代码一句一句先后顺序执行多线程(并发):多个单一的顺序执行的流程并发运行~感官上就是肉眼可以造成同时运行的效果并发---其实就是多个线程走走停停 由线程调度将cpu的运行时间划分若干时间片段 只能说是尽可能均分给每个线程(线程优先级默认为5 线程名.setPriority 去设置)用途:1)一个线程可以运行 但多个线程可以更快是可以用多线程2)多个代码片段执行顺序有冲突 希望他们各干各的应放在不同线程“同时”运行
2022-09-25 13:06:19 173
原创 与数据库交互信息
与数据库交互信息Statement 会将每一次SQL语句发送给数据库 数据库每次都要解析SQL并生成执行计划(解析相当耗时)PreparedStatement (主要用)则会在创建前就把SQL预编译 解析一次 生成执行计划计划中的“参数”用“?”代替第二点:Statement 存在SQL注入攻击因为执行SQL语句时 是拼接SQL来完成PreparedStatement 不存在这个问题因为预编译了SQL直接发给数据库开始执行计划所以输入的数据都当做参数 就算
2022-09-25 13:04:32 194 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人