![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
大耳朵图图_
这个作者很懒,什么都没留下…
展开
-
Redis分布式锁
Redis 分布式锁:1.互斥性:在任意时刻,只有一个用户获取锁2.不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。3.具有容错性。只要大部分的Redis节点正常运行,客户端就可以加锁和解锁。4.解铃还须系铃人。加锁和解锁必须是同一个客户端,客户端自己不能把别人加的锁给解了。下面方法:只满足-1、2、4 条件,单点Redis 我们的加锁代码满足我们可靠性里描述的三个条件。首先,set()加入了NX参数,可以保证如果已有key存在,则函数不会调原创 2022-03-31 11:27:24 · 1712 阅读 · 0 评论 -
数据库乐观锁
//查询出商品信息,version = 1select version from items where id=1//修改商品库存为2update items set quantity=2,version = 3 where id=1 and version = 2;乐观锁每次在执行数据的修改操作时,都会带上一个版本号,一旦版本号和数据的版本号一致就可以执行修改操作并对版本号执行+1操作,否则就执行失败。因为每次操作的版本号都会随之增加,所以不会出现ABA问题,因为版本号只会增加不会减少。除了v原创 2022-03-16 14:04:19 · 2453 阅读 · 0 评论 -
spring初始化
spring初始化ApplicationRunner 容器加载完打印出 JVM 2s 后运行 1,2在34后运行CommandLineRunner 差不多和1,处理参数不一样@PostConstruct 不安全InitializingBean 建议使用ApplicationListener 全局性@Bean(initMethod = “init”) 看看就可以了,除非某些配置类的init方法public SimpleExampleBean sim原创 2022-03-14 10:44:36 · 595 阅读 · 1 评论 -
内存缓存的方式
内存缓存的方式//1.利用static 初始化时执行static代码块,put进去,做缓存。public class Cache { //利用static 就不需要spring @Compoent 单例模式 因为static 保证了全局唯一,不会new 出来新的,同时final 将指针固定,保证 mapCache 一定是 hashMap. private static final Map<String, User> mapCache = new HashMap<>(); /原创 2022-02-23 15:06:46 · 560 阅读 · 0 评论 -
【springMVC】注意事项
如果接口返回值为字符串时,Spring MVC不会转成JSON格式,需要手动处理。 @GetMapping("/") public String sayHello(){ return Json.toJson("hello"); }大致这个意思,不讲究代码对不对。原创 2021-12-06 11:26:29 · 45 阅读 · 0 评论 -
java对象
通常所写的实体类包含了所有变量的getter和setter 其实这个类的作用就是一个数据结构 或者说 DTO 里边的private 也可以写成 public.但set get 可以增加可读性真正的对象是 service层 对象 变量私有化,只暴露方法,让其他人不知道具体实现细节.这才是真正的对象. 封装的特性...原创 2021-12-06 01:01:23 · 386 阅读 · 0 评论 -
2021-09-30优秀博主
大佬连接原创 2021-09-30 19:03:58 · 65 阅读 · 0 评论 -
面试题+threadlocal
熬丙面试题java----ThreadLocal原创 2021-09-25 13:38:34 · 97 阅读 · 0 评论 -
2021-09-25
只要代码中,定义了A先在B之前执行,JMM就一定按照那个效果运行完成。(并不一定按照代码顺序运行,可能重排序,但不影响结果)实现A先在B之前执行,有以下6情况实现。例如 加锁控制A 在B之前执行Happens-before 6条规则。只要程序员写出代码让谁先执行(需要保证代码里一定是那个顺序,例如并发时线程前后顺序不一定,需要加锁来保证一定按照代码的样子执行)...原创 2021-09-25 11:28:27 · 68 阅读 · 0 评论