- 博客(218)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 基于Redisson 实现 Redis 分布式锁
其实还可以使用,创建一个定时任务,每10s 检查这个主线程的锁是否过期,如果快过期了,任务还没有结束,在延长30s.引入 Redission 依赖。
2024-07-12 15:52:09
319
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Vue-element 组件dialog右上角点击 X 清空表单校验信息
Vue-element 组件dialog右上角点击 X 清空表单校验信息
2024-07-01 17:37:34
260
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 使用 image-combiner 开源项目实现对海报图片的生成
image-combiner: ImageCombiner是一个专门用于Java服务端图片合成的工具,没有很复杂的功能,简单实用,从实际业务场景出发,提供简单的接口,几行代码即可实现图片拼合(当然用于合成水印也可以),素材上支持图片、文本、矩形三种,支持定位、缩放、旋转、圆角、透明度、颜色、字体、字号、删除线、居中绘制、文本自动换行等特性,足够覆盖图片合成的日常需求。
2024-06-07 11:16:42
586
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 springboot 打成jar部署到Linux环境后读取resources下面的文件
【代码】springboot 打成jar部署到Linux环境后读取resources下面的文件。
2024-06-04 10:09:12
389
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 SpringBoot 实现对提供的接口进行 AES (加密,解密)
最近工作中,领导要求给别的项目组的小伙伴提供几个接口,要求对接口的参数进行解密操作,然后对返回的数据进行加密操作。通过传入的appId然后去数据库中查询到对应的 唯一密钥。然后根据唯一密钥进行解析密文。然后转成将密文转成 我们需要的参数对象。AES 是对称加密算法,优点:加密速度快;缺点:如果秘钥丢失,就容易解密密文,安全性相对比较差。
2024-05-13 10:26:14
343
3
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 解决:InputStream流只能读取一次的问题(亲测有效!!)
最近在做图片上传的时候遇到读取InputStream 的时候 第一次读取有效,第二次读取的时候,导致读取的是空的。导致读取不到图片的流。如果你需要多次读取相同的输入流内容,但又不想多次打开原始输入流,你可以使用。来缓存输入流的内容,这样就可以多次读取相同的数据。
2024-05-08 11:29:50
200
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 SpringBoot + React Ant Design 实现图片上传到Minio 中
SpringBoot + React Ant Design 实现图片上传到Minio 中
2024-04-25 17:21:51
417
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Java 基于Graphics2D 实现海报(支持自定义颜色,背景,logo,贴图)
Java 基于Graphics2D 实现海报(支持自定义颜色,背景,logo,贴图)
2024-04-25 17:13:06
757
4
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Java中使用Graphics2D实现字符串- 竖直并居中排序显示算法
【代码】Java中使用Graphics2D实现字符串- 竖直并居中排序显示。
2024-04-23 10:04:33
356
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Java调整图片大小的三种方式
Thumbnailator是Java的开源图像大小调整库,它使用渐进式双线性缩放。它支持JPG,BMP,JPEG,WBMP,PNG和GIF。Graphics2D 自带的方法。
2024-04-22 10:53:47
496
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 React Ant Desgin 如何隐藏,置灰Table表格中的某一列
【代码】React Ant Desgin 如何隐藏,置灰Table表格中的某一列。
2024-01-26 17:02:07
741
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 EasyExcel导出多个sheet 并完成对指定sheet页进行操作
【代码】EasyExcel导出多个sheet 并完成对指定sheet页进行操作。
2024-01-24 17:09:28
937
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 React 基于Ant Degisn 实现table表格列表拖拽排序
【代码】React 基于Ant Degisn 实现table表格列表拖拽排序。
2024-01-17 17:35:47
839
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 easyexcel 3.0.x 版本实现指定列 锁定以及指定列隐藏
【代码】easyexcel 3.0.x 版本实现指定列 锁定以及指定列隐藏。
2024-01-12 09:14:25
1822
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 merge into 语法的简单用法及示例
是一种用于在数据库表中执行插入、更新和删除操作的SQL语句。它通常用于根据条件来确定应该执行何种操作,以确保目标表中的数据与源数据同步。这个SQL语句将确保目标表中的数据与源表同步,执行更新和删除操作以匹配源数据。:当源表中没有匹配的记录时执行的操作,这里是删除操作,删除目标表中的记录。当你想在一个SQL语句中同时执行删除和更新操作时,使用。:当条件匹配时执行的操作,这里是更新操作,将目标表的。,我们要合并这两个表的数据,同时进行更新和删除操作。:定义用于匹配目标表和源表的条件,这里是。
2023-10-24 10:38:12
3254
5
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 LISTAGG () 和STRING_AGG () 函数的区别与简单使用
函数在不同数据库系统中将多个值合并为一个字符串,并按部门分组。结果显示了每个部门及其对应的员工姓名。都是用于在 SQL 查询中将多个值合并为单个字符串的函数,但它们属于不同的数据库系统。这些查询将根据部门将员工姓名合并为一个以逗号分隔的字符串。上述示例演示了如何使用。
2023-10-24 09:58:35
3682
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 react 中获取多个input输入框中的值的 俩种写法
这是React中最常见的方法,每个输入框都与React组件的state相关联,并通过。这通常在需要与非受控库或DOM集成时使用。在这种方法中,你可以使用。事件来更新state。
2023-10-20 10:38:34
1044
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 react 中ref 属性的三种写法
在React 16.3版本后,使用此方法来创建ref。将其赋值给一个变量,通过ref挂载在dom节点或组件上,该ref的current属性 将能拿到dom节点或组件的实例。React.createRef调用后可以返回一个容器,该容器可以存储被ref 所标识的节点。(由于效率问题,现在官方不推荐使用这种写法。但是该容器是转人专用,一次只能存一个。1.dom节点上使用,通过。来引用真实的dom节点。
2023-10-19 10:57:15
475
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 React 入门实例教程
根据 React 的设计,所有的 DOM 变动,都先在虚拟 DOM 上发生,然后再将实际发生变动的部分,反映在真实 DOM上,这种算法叫做。组件免不了要与用户互动,React 的一大创新,就是将组件看成是一个状态机,一开始有一个初始状态,然后用户互动,导致状态变化,从而触发重新渲染 UI (查看。2 如果一个组件中有一定业务逻辑,需要操作数据,那么就需要使用 class 创建组件,因为,此时需要使用 state。方法设置一个定时器,每隔100毫秒,就重新设置组件的透明度,从而引发重新渲染。
2023-09-08 11:01:27
500
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Java中集合容器详解:简单使用与案例分析
Java容器集合是一套工具,用于存储数据和对象。可以与C++的STL类比。Java容器也称为Java Collection Framework (JCF)。除了存储对象的容器之外,还提供了一套工具类,用于处理和操作容器中的对象。总体来说,这是一个框架,它包含了Java对象容器和工具类。
2023-08-01 15:25:31
329
4
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 JAVA注解与反射:看这篇文章就够了
Java注解又称Java标注,是在 JDK5 时引入的新特性,注解(也被称为元数据)。Java注解它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。// 元注解public @interface 注解名称{// 属性列表//自定义注解//注解可以显示赋值, 如果没有默认值,我们就必须给注解赋值//注解参数的顺序随意。
2023-07-17 15:55:08
963
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 JUC并发编程:Condition的简单理解与使用
Condition本质上是一个接口,Condition因素与Object监视器方法( wait , notify和notifyAll )成不同的对象,以得到具有多个等待集的每个对象,通过将它们与使用任意的组合的效果Lock个实现。Lock替换synchronized方法和语句的使用, Condition取代了对象监视器方法的使用。条件(也称为条件队列或条件变量 )为一个线程暂停执行(“等待”)提供了一种方法,直到另一个线程通知某些状态现在可能为真。
2023-06-16 10:18:16
472
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 8个你必须知道的Java8新特性,让你的代码变得优雅!
需要注意的是,这些接口默认方法并不是强制实现的,也可以被继承类或实现类所覆盖和重写。Java 8中的方法引用是一种简化Lambda表达式的方式,它允许我们直接引用已存在的 Java 类或对象的方法,而不需要通过 Lambda 表达式再去定义一个新的函数式接口实现。其中通过串行流(Stream)和并行流(Parallel Stream)两种方式,分别实现了对数据的操作,并在控制台输出操作所消耗的时间。方法:如果值存在则返回该值,否则运行参数中的 Supplier 函数,并返回该函数的结果。
2023-06-15 09:22:14
3052
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 JUC并发编程学习笔记(简单易懂)
非公平锁:可以插队(无参构造方法默认为非公平锁)公平锁:先来后到(有参构造方法传值true时为公平锁)/** 真正的多线程开发,公司中的开发,降低耦合型* 线程就是一个单独的资源类,没有任何附属的操作!* 1. 属性 方法* *///并发:多线程操作同一个资源类,把资源丢入线程//@FunctionalInterface 函数式接口,jkd1.8 lambda 表达式(参数)->{代码}i < 30;i++) {
2023-06-14 16:55:02
860
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 mybatis的一级缓存和二级缓存
什么是缓存 [ Cache ]?存在内存中的临时数据。将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。为什么使用缓存?减少和数据库的交互次数,减少系统开销,提高系统效率。什么样的数据能使用缓存?经常查询并且不经常改变的数据。
2023-06-14 10:11:10
2397
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 解决Fortify漏洞:Portability Flaw: Locale Dependent Comparison
当涉及到字符串比较或排序等操作时,地区设置相关的比较(Locale Dependent Comparison)是一个常见的可移植性漏洞。这个漏洞会导致程序在不同地区设置下产生不一致的结果,因为不同地区使用不同的字符排序规则、大小写敏感性和其他比较规则。举例来说,某些地区会将特定的字符视为不同的字符,而其他地区则将其视为相同。就是说不同地区出现的结果可能会不一样,某些地区会将特定的字符视为不同的字符,而其他地区则将其视为相同。方法可以避免由于地区设置相关的字符排序规则而导致的比较结果不一致的问题。
2023-06-05 10:29:32
567
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 解决Fortify漏洞:Insecure Randomness(不安全随机数)
SecureRandom类是Java提供的安全随机数生成器。它利用了操作系统提供的真正随机数种子源,以及其他随机性产生器,生成更加随机和复杂的随机数。使用SecureRandom类生成随机数时,请勿使用默认构造函数,因为它将基于本地时间作为种子生成伪随机数。相反,请使用带有种子参数的构造函数或getInstance()方法创建一个安全的随机数生成器。,需要使用一个安全的随机数生成器来替换当前使用的不安全的随机数生成器。Java中提供了一些安全的随机数生成器,如。
2023-06-05 10:13:49
2422
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 解决Fortify漏洞:Access Specifier Manipulation
Fortify 是一种静态代码分析工具,可用于识别源代码中的安全漏洞和错误。Fortify 检查程序是否存在潜在的安全漏洞,例如 SQL 注入、跨站点脚本攻击、缓冲区溢出、身份验证问题等。Fortify 使用一种名为“规则”的机制来检测这些漏洞。每个规则都是一个静态的模式匹配器,用于识别源代码中的特定模式或结构。当 Fortify 发现与规则匹配的代码时,它将生成一个安全漏洞警报,指出可能存在的风险并提供修复建议。
2023-06-05 10:06:33
1049
7
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人