- 博客(42)
- 收藏
- 关注
原创 redis分布式锁和lua脚本
因为jvm的synorchonized只能保证自己的服务,在集群部署的时候有多个服务,锁不住jvm服务。jvm的内置锁只能解决单体式项目中的并发问题,但是在分布式环境下,无法解决多jvm实例的并发。Synchronized锁的是对象,对象必须是单例的。锁的是this,代表当前所在的类,这个类是交给Spring 管理的。如果加完redis的key以后程序挂了,那么这个key就释放不了,就会一直在里面,会造成死锁:解决方式——设置超时时间。解决方法一:利用jvm内置锁,将非原子性操作变成原子性操作。
2024-09-06 17:44:49
657
原创 用户参数解析器
实现HandlerMethodArgumentResolver接口@Autowired@Override//判断解析器需要解析哪个参数// 判断用户参数是userInfo,返回true进行处理@Override//从请求头中获取token。
2024-08-14 16:06:48
810
原创 SpringCache集成Redis
CacheConfig() 里面的CacheNmes是redis的nameSpace命名空间。第一次会查数据库,后面相同的查询会直接走redis,不再访问数据库。配置SpringCache 与 redis 的集成 配置类。方法上的@Cacheable是key的值。在Service层中增加注解。
2024-08-02 10:49:33
267
原创 全局统一的异常处理方案
ExceptionHandler(BusinessException.class):表示要拦截的异常类型为BusinessException。
2024-08-01 15:22:51
236
原创 Gateway网关的路由分发原理
Gateway网关进行路由转发的原理:将gateway注册到nacos注册中心,使用默认规则可以从nacos 访问其他服务,默认规则使用简单,但功能也相当较弱。服务名/**服务名 默认为nacos注册的服务点的大写,可以修改成小写。
2024-07-29 17:05:20
1005
原创 ArrayList 和 CopyOnWriteArrayList的区别,线程的生命周期,和线程的状态,Thread,Runnable的区别,ThreadLocal的底层原理:
当我们调用wait()方法后,线程会放到等待池当中,等待池的线程是不会去竞争同步锁。所有需要竞争同步锁的线程都会放在锁池中,比如当前对象锁已经被一个线程得到,其他线程需要在这个锁池中等待。当前面的线程释放同步锁后锁池中的线程去竞争同步锁,当某个线程得到后就会进入就绪队列进行等待CPU的分配。就绪: 线程对象创建后,其他线程对象调用了start()方法,该线程位于可运行线程池中,变得可运行,等待CPU的使用权。阻塞:线程因为某种原因放弃了CPU的使用权,暂时停止运行,直到线程进入就绪状态。
2024-07-15 18:00:16
786
原创 HashMap 和 HashTable 的区别,谈谈ConcurrentHashMap的扩容机制,Jdk1.7和jdk1.8之间虚拟机发生了怎么样的变化,浅拷贝和深拷贝
之所以将元空间所占的内存移到虚拟机外面是因为:方法区中所存储的类信息是很难确定的,空间给小了容易造成内存溢出,太大了又会占用太多的虚拟机空间。先通过hash算法计算出key的值作为存储数组的下标,如果不同的key计算出同一个值的时候再通过equals方法判断是不是一个值,如果是的代替旧的value值存在数组中。浅拷贝和深拷贝就是指的是对象的拷贝,一个对象中存在两种属性,一种是基本数据类型,一种是实例对象的引用。浅拷贝:对于基本数据类型的值进行复制,对于引用数据类型的值拷贝其地址,指向的还是同一个内存。
2024-07-11 17:28:53
361
2
原创 本期深入解析:String, Stringbuffer,StringBuiler 的区别,重载和重写的区别,接口和抽象类的区别,List 和 Set,ArrayList 和 LinkedList
本期深入解析:String, Stringbuffer,StringBuiler 的区别,重载和重写的区别,接口和抽象类的区别,List 和 Set,ArrayList 和 LinkedList
2024-07-03 17:27:49
293
1
原创 JDK,JRE,JVM的区别,Java中堆和栈的区别,== 和equals的区别,hashCode 和 equals
比如说hashSet在确认里面的元素是否相同时就是先通过hashCode()在堆里面判断,如果第一步hashCode相同可能只是地址相同,重新通过equals判断判断是否内容也相同,如果相同的话则不将值存进去,如果不同的话则将哈希值通过加盐的方式存进去。hashCode() 是获取哈希值的方法,hash值是用来计算对象在堆中存储的位置,从而确定是不是同一个对象用的。Equlas 在没有复写的情况下比的是地址,复写过了比的是对象的值。栈的内存是线程私有的,堆的内存是所有线程共享的。引用数据类型值放在堆中,
2024-07-01 17:22:58
230
1
原创 为什么input输入框中没有值时会传空字符串
当我对一个input框写完值,然后对这个值清除以后,发现后台传的时候依旧会对这个属性进行传递,只不过是" "
2023-06-16 10:29:32
694
原创 Vue变量更新卡顿,延迟
通过方法在改变值,这个值需要在页面中展示。但是这个值在页面上没有更新,或者有延迟。$使用$set('数据存放的位置',’数据具体存放的变量名‘,'数据的值')这个一般发生在多层次的state结构中。$forceupdate()强制刷新。
2023-06-08 10:20:52
748
原创 mybatis里<forEach>的sperator符号到底是什么意思?
开始习惯性得没有加这个seperator 我以为是前面collection的分隔符,一直保存inject 为空,后面加上才知道,是这个values 的分割。今天写两层forEach嵌套得时候遇到了这个问题。
2023-05-17 18:12:58
205
原创 0存不进数据库?其他值都能存进去
今天在测试功能的时候突然发现0无法存入数据库,写了半天发现其他值都可以存入,就是0存不进去。一开始定义的类型是Integer,在mybatis 存值的时候。
2023-05-08 14:43:48
228
原创 若依框架中$modal.confirm(““)信息不能识别换行
今天在写若依前端项目的时候发现$modal.confirm()不能换行,我试了/n,/r<br/>都不行。$modal.confirm() 是若依封装了的,发现换行的效果不行,$comfirm 为element-ui带的组件, 我后面用的这个。
2023-04-20 21:39:01
1989
原创 若依图片文件上传
存完之后的地址是profix/........开头的,这样预览的时候又有问题了。所以有一个配置对profix进行解析 就是通过配置类增加一个映射(方便预览)我们来看一下这个<imageUpload>组件,重点是这个地方。这样回到我们的父组件即调用<imageUpload>这个组件中时。使用若依自带的<imageUpload>引入作为子组件。prefie:存的地址。这是后端上传完的地址传递给前端。这个是后端保存图片的地址。这个是保存之后的预览。得在yml文件中配置。
2023-04-13 10:48:23
5655
原创 若依更改Element-ui的全局样式
今天创建el-dialog会话框的时候遇到了,表单的内容过长,溢出dialog的问题。1. 在使用el-dialog的时候遇到了没有默认垂直居中对齐的问题,开始的解决方法。2. 之后发现,没有垂直对齐只是因为高度的问题。使用ctril ——p 对样式进行全局的修改。3. 对溢出的表格进行处理。使用overflow 的属性。
2023-04-06 17:08:34
712
原创 vue element-ui实现省市区三级联动封装
链接:https://pan.baidu.com/s/1i-gCYwtNDT6COUBnAthzmg。然后查询json对应的数据,将省市信息封装在了json中。3. 我是放在弹框dialog中的代码。Json串在百度云网盘。
2023-03-30 17:04:28
231
原创 若依导入导出Excel
先看导入吧:若依的导入主要使用的是注解@Excel+ExcelUtils,本身的技术使用的是poi,个人感觉没有EasyExcel好用,他的主要思想是 自定义注解,然后自动生成。这个方法是将注解作为参数进行传递,这样就可以判断我们正在操作的实体类是否有注解的地方,有注解的地方再怎么使用。导入--> 导入的时候,我们输入的是字典的label值,但是我们数据库中存的是value(1,2,3,4,5)我倒不是特别关心他生成表头,表格的那一套,我比较关系他是如何处理字典,将单元格上的字典变成下拉框的样子。
2023-03-28 11:58:40
4958
原创 批量插入的三种方式
1. 先获取到sqlsession 然后在sqlsession的基础上.class获取到mapper层,然后再forEach 循环插入。使用for循环进行一次次的插入,这种插入方式的效率最低。在mybatis中使用的方式进行插入。3.使用流的方式进行插入。记得最后要commit。
2023-03-24 17:22:31
742
原创 mysql分区表结构的报错解决
Syntax error: RANGE PARTITIONING requires definition of VALUES LESS THAN for each partition报错
2023-03-06 17:55:29
981
原创 Springboot+Sqlserver+mybatisplus 如何进行配置?
Springboot+Sqlserver+mybatisplus 如何进行配置以及从常见bug的处理
2022-07-05 11:34:36
1021
原创 从Git上拉去项目后maven失效的问题(Add as Maven)
从Git上拉去一个项目,有时候会发生maven环境消失的问题,导致无法读取文件以下是具体的解决方法(实测有效):1. 在setting环境中修改maven文件2. 点击项目的pom文件,再次用maven的形式加载一次好了,可以开心的码代码了...
2022-05-30 17:20:26
2385
1
空空如也
activiti工作流问题,求解答
2024-12-05
JAVA—数据量太大如何查询
2023-10-11
Input为什么我没有确定类型,它默认发给后端的是String呢?
2023-06-15
若依前端编辑回显值的问题
2023-04-12
mybatis的id生成策略,雪花算法
2023-03-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人