- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 Redis分布式锁的问题以及解决方案
问题一:获取到锁的线程的对应主机挂了,这时无法释放锁,其他的主机也无法获取锁设置锁过期时间,到了一定时间就释放锁问题二: 获取到锁的线程执行业务代码时间超过锁的过期时间,这会造成其他线程也能竞争到锁,这时有两把锁,会造成脏数据锁续命:延长过期时间 expire(lock, time)问题三:redis主从问题,获取锁时,数据未同步到从机,导致锁丢失redlock:原理与zookeeper分布式锁原理相同.多台主机超过半数设置成功则获取锁成功,要注意下主机个数必须是奇数,不过这.
2021-02-05 14:53:18
1846
原创 jvm出现各个区域内存不足的问题分析
一、内存溢出 程序在申请内存时,没有足够的内存空间,很多时候内存溢出都是因为内存泄漏造成的二、内存泄漏 该释放的对象没有释放,对象无法被回收,常见于使用容器保存元素的情况,这一定是代码的问题三、栈溢出 常见于递归调用造成的死循环四、堆溢出 对象不断被创建,堆内存不足存放太多对象五、方法区溢出 在...
2019-10-15 10:38:17
924
原创 java中的四种引用(强软弱虚)
一、强引用 =号的引用,比如User user = new User(),强引用不会被垃圾回收,就算内存不足也不会回收二、软引用 SoftReference<User> user = new SoftReference<>(new User()),软引用在内存不足促发full gc的时候会回收掉三、弱引用 Weak...
2019-10-15 10:18:43
192
原创 多线程基础
一、线程与进程的区别进程:程序运行资源分配的最小单位,进程内部有多个线程,会共享这个进程的资源线程:CPU调度的最小单位,必须依赖进程而存在。二、并发与并行的区别并发: 在单位时间内可以处理多个事情的能力并行: 在同一时刻可以处理多个事情的能力三、多线程实现的方式继承Thread类,实现Runnable、Callable接口三种方式(推荐使用Callabl...
2019-08-08 10:49:19
211
原创 银联联机UTVT SM4 MAC算法
/** * SM4 mac计算 * 1.数据不为16的倍数,需要补0 * 2.将数据16个字节进行异或,再将异或的结果与下一个16个字节异或,一直到最后 * 3.将异或运算后的最后16个字节 转换成32 个HEXDECIMAL: * 4.取前16 个字节用MAK加密 * 5.将加密后的结果与后16 个字节异或 * 6.用异或的...
2019-07-30 15:15:49
4186
3
原创 vue+elementui+springboot实现excel导入并读取excel数据
我将前端读取到的excel数据转成excel json字符串和excel字符串数组,excel json字符串后台转成map集合(Map<String,String>),excel字符串数组转成list(List<List<String>>),每一个list代表excel一行数据的key,数据示例请看截图:key值list如截图中的第一行,key value...
2019-07-30 14:57:51
13435
7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅