- 博客(4)
- 收藏
- 关注
原创 基础知识复习
基础知识复习 wait() notify() notifyAll()必须在同步(Synchronized)方法/代码块中 1. 调用wait(),自身释放锁,让出CPU,进入等待队列,直到被notify()或者NotifyAll() 2. wait()需要try catch,在该线程获取到interrupt异常的情况下,也可以使wait等待的线程唤醒并收到该interrupt异常 3. 对于非睡眠...
2019-05-27 15:52:32 193
原创 单例模式 线程安全+序列化处理
单例模式写法分享 双重判定锁写法 public class Singleton implements Serializable { private static volatile Singleton singleton = null; private Singleton(){ if (singleton != null) { throw new Exception(“该实例...
2019-05-17 11:07:31 182
原创 Redis缓存穿透、缓存雪崩和缓存击穿 分配Key到指定redis节点
缓存雪崩,是指在某一个时间段,缓存集中过期失效。 例子:线上订单投注,获取奖期对应的drowId,将drowId放入redis进行缓存,将所有奖期的缓存设置相同的过期时间,导致业务启动时,大量请求在同一时间从后台获取drowId后放入缓存,缓存会在同一时间过期,导致大量请求又被发送到后台。 解决方案:为不同的redis缓存设置不同的过期策略 (Least recently used)为热点数据设...
2019-05-16 13:51:27 577
原创 shell菜单模板 (数据库数据提取生成csv Redis初始化方案 调用python脚本)
shell菜单模板 提供了一个主菜单页面 调用不同任务类型 再返回主菜单的一种模板 显示任务主菜单 #!/bin/bash #----------------------常量池开---------------------- CUR_PROJECT_DIR=$(cd `dirname $0`; pwd) #----------------------常量池闭-------------------...
2019-05-14 16:52:43 257
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人