Java
springboot 中使用 redis 处理接口的幂等性
什么是接口幂等性? 数学中:在一次元运算为幂等时,其作用在任一元素两次后会和其作用一次的结果相同;在二次元运算为幂等时,自己重复运算的结果等于它自己的元素。 计算机学中:幂等指多次操作产生的影响只会跟一次执行的结果相同,通俗的说:某个行为重复的执行,最终获取的结果是相同的,不会因为重复执行对系统造成变化。 例如:用户购买商品后支付扣款成功,但是此时网络发生了异常,导致返回结果失败。因为没收到返回结
使用SpringCache失效问题
使用SpringCache失效问题 代码关系: 情景描述: 我需要调用在当前的queryPage中调用GetIndexPlayList获取IPage对象,再将该对象封装成为一个PageUtils对象,可以看到,我是用了@Cacheable注解。 运行结果: 这是调用接口执行之后的结果,可以看到@Cacheable注解并没又产生作用,查看Redis中也没有我们想要的数据。 解决方式: 通过查阅
Spring Boot -1. SpringApplication的创建
成员的初始化 构造方法的初始化 WebApplicationType 推断 ApplicationContextFactory.DEFAULT 是什么 一个 ConfigurableApplicationContext 的创建工厂,根据 application 的类型 WebApplicationType{NONE,SERVLET, REACTIVE } 来创建不同的应用,其
Redis基于Stream实现消息队列
先上效果图 需要使用redis5.0以上版本,使用了redis5.0新增的数据类型Stream,使用block表示阻塞等待,直到有新的数据添加 这里不需要再redis新增Stream和消息组 pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/PO
JUC同步锁原理源码解析二--ReentrantReadWriteLock
JUC同步锁原理源码解析二----ReentrantReadWriteLock 1.读写锁的来源 在开发场景下,对于写操作我们为了保证原子性所以需要上锁,但是对于读操作,由于其不改变数据,只是单纯对数据进行读取,但是每次都上一把互斥锁,阻塞所有请求。这个明显不符合读多写少的场景。所以将锁分为两把:读锁和写锁。 2.读写锁的底层实现 读写锁的底层实现依旧依赖于AQS。具体底层实现,请查看上一
企业数字化转型中的数字化人力资源与员工激励
目录1. 引言2. 技术原理及概念2.1. 基本概念解释3. 实现步骤与流程4. 示例与应用4.1. 实例分析5. 优化与改进6. 结论与展望 企业数字化转型是指通过技术手段和商业模式的创新,将传统业务模式向数字化、智能化、自动化方向转型升级,以实现更高效、更智能、更可持续的经营和发展方式。在这个过程中,数字化人力资源和员工激励是一个至关重要的领域,因为良好的员工管理和激励能够提升员工的工作效率、
8、Mybatis之自定义映射
8.1、环境搭建 8.1.1、创建新module 创建名为mybatis_resultMap的新module,过程参考5.1节 8.1.2、创建t_emp和t_dept表 8.1.3、创建Emp实体类 8.1.4、创建Dept实体类 8.1.5、创建Mapper接口和映射文件 ++++++++++++++++++++++++++++分割线++++++++++++++++++
Spring之SpEL表达式操作示例解析
目录1 SpEL1.1 简介1.2 简单示例2 深入示例2.1 运算2.1.1 算术运算2.1.2 逻辑运算2.1.3 比较运算2.1.4 使用字符代替符号2.1.5 使用正则表达式2.1.6 使用instanceof2.1.7 三目运算(if..else..)2.1.8 表达式模板TemplateParserContext2.2 字符串2.2.1 操作2.2.2 调用字符串方法2.3 使用roo
mysql 报错 :The table xxx is full
############################################ 现象: 原因:参数internal_tmp_mem_storage_engine是默认值TempTable,当临时表大小超过 temptable_max_ram+temptable_use_mmap=1G+1G=2GB的设置时,sql报错。 &nbs
@ControllerAdvice
前言 接口类项目开发时,为了便于后期查找问题,一般会拦截器或过滤器中记录每个接口请求的参数与响应值记录, 请求参数很容易从request中获取,但controller的返回值无法从response中获取,有一个简单的方法,在controller接口的最后将返回值保存到request域中,这种方法虽然简单,但是开发起来太麻烦,需要在每个controller的最后添加一行代码,且该功能不属于业务功能,
如何把Kotlin代码转成Java代码、把Java代码转成Kotlin代码
source: https://blog.csdn.net/Liu_yunzhao/article/details/79357689 Java转Kotlin 打开File –> Settings –> Plugins选项,输入“Kotlin”搜索插件,安装成功重启Android Studio 选中需要转换的文件或者包 Code –> Convert J
2小时解不完的数据库练习题,来挑战一下吧!
写在前面 我已经记不起来,有多久没更新文章了。 5月中旬我还在上班,中旬以后一系列发生的事情,真的远远超出了可承受范围,只能硬着头皮面对! 我是谁,我应该是谁,又能怎样,只能向前····· 数据库实例 class表 course表 score表 student表 teacher表 实际语句 1、查询所有的课程的名称以及对应的任课老师姓名 结果: 2、查询学习课程"数据结构"比课程"j
如何优雅地使用Low Code提高开发效率
2023年,低代码热度有,但是在企业内部核心场景的落地比例不高,推进进展也没有想象中快。就算是这样,低代码赛道也在“暗流涌动”。 数字化趋势下,很多企业想要以数字化的手段进行降本增效。很多企业希望以低代码的模式,搭建符合自身业务需求的应用。 现在国内企业很大程度上是这样一个格局: 经营管理制度落后,严重者现已阻碍企业正常运行和发展工作效率低下,人才流失
观察者模式:发送状态变化通知
观察者模式是一种行为设计模式,它允许对象在发生特定事件时通知其他对象。这些被通知的对象被称为观察者,而通知它们的对象称为主题或可观察对象。该模式使用了松散耦合的原则,因此主题和观察者之间没有太多的依赖关系。 示例代码: 在上面的示例代码中,我们定义了两个接口:Observer 和 Subject。Observer 定义了一个update方法,它被用于当主题通知观察者时执行操作。Subject
94 删除已存在学号 给存在的学生加一岁
对象 优化后的方法 方法 package com.fqs.demo003; import java.util.Scanner; public class StudentTest { public static void main(String[] args) { Student[]students=new Stud
针对android/ios/linux/windows等平台的多端跨平台的开发技术
有许多跨平台开发技术可以用于 Android、iOS、Linux 和 Windows 平台。以下是一些常见的跨平台开发技术: React Native:React Native 可以用 JavaScript 和 React 构建原生应用程序,可同时针对 Android 和 iOS 平台进行开发。 Flutter:Flutter 是 Google 推出的一个框架,可以用 Dart 语言构建移
随笔(十九)『org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)』
1、错误信息:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
url欺诈--HTML5无刷修改url
window.history.pushState({},0,'http://'+window.location.host+'/'+url); url--要修改的网址a标签欺诈<script>window.onclick = function(){ //触发单击事件,修改链接&nbs
Web 前端框架市场份额统计
根据 w3techs 所做的统计1,有17.8%的网站没有使用 javascript 库。在使用js库的web网站中, Jquery 占据了大部分,Bootstrap, React, Ajax, Vue, Angular 排行如下: 其他还有一些js库占据剩下的1%: 对于React, Angular, Vue 的统计比较2如下: R
Java 网络编程 —— RMI 框架
概述 RMI 是 Java 提供的一个完善的简单易用的远程方法调用框架,采用客户/服务器通信方式,在服务器上部署了提供各种服务的远程对象,客户端请求访问服务器上远程对象的方法,它要求客户端与服务器端都是 Java 程序 RMI 框架采用代理来负责客户与远程对象之间通过 Socket 进行通信的细节。RMI 框架为远程对象分别生成了客户端代理和服务器端代理。位于客户端的代理必被称为存根(Stub)
Long类型后端传前端精度丢失的优雅解决方案
前言提要:javaScript 的最大安全值:Number.MAX_SAFE_INTEGER 是一个值为 9007199254740991 的常量,如果超过这个值,那么js会出现不精确问题 解决方案(推荐级别:低等):修改字段类型为String 解决方案(推荐级别:中等):字段上添加注解 @JsonFormat(shape = JsonFormat.Shape.STRING) 解决方案(推荐级别
[网络安全] DVWA之Content Security Policy (CSP) Bypass 攻击姿势及解题详析合集
CSP概念 CSP 是 Content Security Policy(内容安全策略)的缩写,是一种用于增强 Web 应用程序安全性的安全机制。它通过允许网站管理员控制页面中加载内容的来源来减少跨站脚本攻击(XSS)等常见的安全风险。 CSP 的工作原理是通过定义一组策略规则,指定哪些来源可以被信任和允许加载到页面中。这些来源可以是同源的网址、特定的域名、安全连接(如 HTTPS)或者是内联脚本