Loading

摘要: volatile 关键字 一、说说你对 volatile 关键字的理解 被 volatile 修饰的共享变量,就具有了以下两点特性: 保证了不同线程对该变量操作的内存可见性; 禁止指令重排序 二、内存可见性 和 禁止重排序分别怎么实现的? 当一个变量被 volatile 修饰时,那么对它的修改会立刻 阅读全文
posted @ 2021-08-20 16:38 JereCode 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 一、synchonized关键字原理 加了这条就可以正常按顺序执行,是因为println方法里面加了锁,lock会清空工作内存的变量信息,下次运行的时候让它去主内存中找最新的值 1. synchronized 和 Lock 的区别 2. 锁升级的过程 首先,monitor如果变成重量级锁,其实调用内 阅读全文
posted @ 2021-08-20 16:32 JereCode 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 一、why 每当微博爆出大瓜或者是双十一零点的时候,用户请求量是会突然变得超级大的,如果单纯使用 MySQL 来执行一些语句,服务器容易挂掉。因此,不妨使用一种缓存技术,让这些数据去 redis 而不是直接到 MySQL。并且 redis 是缓存到内存中的,能支持超过 10W 次每秒的读写频率。 二 阅读全文
posted @ 2021-08-20 15:35 JereCode 阅读(40) 评论(0) 推荐(0) 编辑
摘要: ##两个主要的区别 Memcached 支持字符串和整数,简单操作的话两者差不多,但是后续项目做大做强,缓存需要能够支持更复杂的结构和操作,这时应该选redis Memcached 没有原生的集群模式,需要依赖客户端来实现往集群中分片写入数据,而 redis 原生就支持 claster 模式的 阅读全文
posted @ 2021-08-20 15:29 JereCode 阅读(35) 评论(0) 推荐(0) 编辑
摘要: ##一、redis 中 key 设计原则 唯一、可读、灵活、失效 唯一,比如注册验证码,需要加上 register_verify_code 作为唯一标识 可读,见名知意 灵活,比如攻略文章点赞的设计,可以带上用户id,攻略文章id,strategy_thumbsupnum_vo:uid:sid 失效 阅读全文
posted @ 2021-08-20 14:50 JereCode 阅读(758) 评论(0) 推荐(0) 编辑