- 博客(59)
- 收藏
- 关注
原创 Spring占位符解析器 PropertyPlaceholderHelper 使用
【代码】Spring占位符解析器 PropertyPlaceholderHelper 使用。
2024-06-04 10:29:58
111
1
原创 读者-写者问题
P(write)为关键处,读获取锁后,写操作大概率能够获得到该锁的使用权,反之,写获取锁后,读操作则不能。每次新入的读操作需要与写操作争夺锁的占有权,但是如果写操作占有锁,新入的写操作则直接获取到占有权,直至所有的写操作完毕。// 防止写线程饿死,当读线程都在读取文件即 V(w) 后,读线程获取P(w) 进行占位,可以在读线程释放 V(rw) 后进入写操作。// 用于保证对count变量修改的原子性。// 用于保证对count变量修改的原子性。// 读者数Rcount修改互斥。// 保证读写的互斥。
2024-03-05 10:29:11
364
原创 java volatile关键字 深入理解
在Java中,volatile 是一个关键字,用于修饰类的实例变量。volatile 的主要作用是保证多个线程能够正确地处理被多个线程共享的变量。尽管volatile提供了一定程度的线程安全,但它并不能完全替代锁。volatile适用于那些变量的写操作不依赖于当前值的情况,例如标志位的修改。但对于一些复合操作,仍然需要使用锁来确保原子性。需要注意的是,volatile并不能保证原子性,因此不能替代synchronized关键字。如果需要确保一系列操作的原子性,还是需要使用锁。
2023-12-27 21:41:35
369
原创 字符串相似度匹配算法_莱茵斯坦距离算法
每次仅对字符串A末尾进行操作,即只考虑 字符串A的前i个字符 和 字符串B的前j个字符 的莱文斯坦距离。则 字符串A的前5个字符 和 字符串B的前3个字符 的莱文斯坦距离lev(5,3),就是最终我们所求的字符串A、字符串B之间的莱文斯坦距离。如果 某字符串A的第i个字符 与 某字符串B的第j个字符 完全相同,则其所需的编辑次数肯定不会超过 lev(i-1, j-1)。两个字符串之间的Levenshtein Distance莱文斯坦距离指的是将一个字符串变为另一个字符串需要进行编辑操作最少的次数。
2023-11-30 10:43:15
931
原创 SpringBoot SerializationUtils克隆(反序列化) 类加载器不一致问题(ClassCastException)
在SpringBoot中使用方法时,发现克隆出来的类强转对应类时发生类型不一致的错误,经过检测发现两个看似相同的类的类加载器不一致。
2023-10-30 16:12:29
307
原创 Cron 选择器
// 定义一个名为 cron 的新组件Vue.component('cron', { name: 'cron', props: ['data'], data() { return { second: { cronEvery: '', incrementStart: '3', incrementIncrement: '5',
2023-07-25 21:02:05
363
原创 spring mvc 常用注解
文章目录Date格式化Date格式化 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") //用于后台返回前台 @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") //用于前台传给后台 private Date startTime;
2022-05-30 15:37:59
73
原创 mybatis StringArrayTypeHandler
package com.ruoyi.common.data.typeHandler;import org.apache.ibatis.type.BaseTypeHandler;import org.apache.ibatis.type.JdbcType;import java.sql.CallableStatement;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLExceptio
2022-05-27 15:37:16
538
原创 mybatis知识点
<if test = " TYPE == '1' "> 这里的SQL并不能执行 </if>因为 mybatis 使用的是ognl 表达式。 会把 1 解析为一个字符!!! 而不是字符串。所以java在比较的时候一直都是 false。解决办法1、 转换为字符串进行比较<if test = " TYPE == '1' .toString()"> 转换为字符串进行比较 </if>2、 使用双引号 “”<if test = ‘TYPE .
2022-05-25 11:19:10
1630
原创 spring 事务 类自身方法调用 传播行为
常用三个一下传播行为:假定当前方法为commit(),被调用方法名是save()1、事务传播级别是REQUIRED,save() 抛出异常,使用try catch 捕捉save()方法的异常后整个事务依然回滚。2、是REQUIRES_NEW,save()中的代码抛出异常,并且被捕获,commit()不受影响;save()执行后commit()抛出异常,save()不受影响。【外不影响里,两次事务提交,save()执行时commit()挂起,save()先提交事务】3、是NESTED,如果save()
2022-05-24 00:19:42
207
原创 powerdesigner知识点
文章目录解决字段注释没有的问题生成数据库表名解决字段注释没有的问题1、打开powerDesigner 按Ctrl+Shift+X 打开脚本编辑器,也可以去菜单中找(Tools --> Excute commands --> Edit/Run Script).2、复制下面脚本:Option ExplicitValidationMode = TrueInteractiveMode = im_Batch Dim mdl ' the current model ' get the c
2022-05-20 15:51:42
339
原创 maven 细碎知识点
dependencyManagement和dependencies区别:dependencies:子项目默认继承父项目所有的声明。dependencyManagement:子项目显示声明才会引出父项目的依赖。
2022-05-19 21:45:35
174
原创 git 细碎内容
初始项目目前存在部分代码,但是git仓库是新建的,需要将本地代码上传到git上。在gitbase上执行下列命令:git init之后在TortoiseGit上拉取代码就行
2022-05-17 23:36:16
69
转载 Linux 查看文件和文件夹大小
在以下命令中,-l标志表示以长格式,显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组。而-a告诉ls列出所有文件,包括(.)或隐藏文件。[linuxmi@linux:~/www.linuxmi.com]$ ls -la或者[linuxmi@linux:~]$ ls -la /home/linuxmi/www.linuxmi.com/要列出所有文件并按大小排序,请使用-S选项。 默认情况下,它以降序显示输出(从大到小)。[linuxmi@linu
2022-05-07 10:05:07
1077
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人