共 75 篇文章 |
|
探讨Redis分布式锁的正确使用姿势。什么是分布式锁方案一:SETNX + EXPIRE方案二:SETNX + value值是(系统时间+过期时间)方案三:使用Lua脚本(包含SETNX + EXPIRE两条指令)方案四:SET的扩展命令(SET EX PX NX)方案五:SET EX PX NX + 校验唯一随机值,再释放锁方案六: 开源框架~Redisson方案七:多机实现的分布式锁Redlock什么是分布式锁?... 阅77 转1 评0 公众公开 21-03-07 14:30 |
树简介、树种类B-树、B+树简介B+树插入B+树查找B+树删除B+树经典面试题树的简介树的简介。满二叉树:叶节点除外的所有节点均含有两个子树的树被称为满二叉树;找到包含关键值的结点,如果删除该关键字后,关键字个数小于?m/2?,并且其兄弟结点有多余的关键字,则从其兄弟结点借用关键字找到包含关键值的结点,如果删除该关键字后,关键字个数小... 阅106 转0 评0 公众公开 21-02-16 13:45 |
面试官考点之索引类型面试官考点之为什么选择B+树作索引结构面试官考点之一次索引搜索过程面试官考点之覆盖索引面试官考点之索引失效场景面试官考点之最左前缀面试官考点之索引下推面试官考点之大表添加索引一、面试官考点之索引是什么?聚集索引:聚集索引就是以主键创建的索引,在叶子节点存储的是表中的数据。非聚集索引:非聚集索引就是以... 阅38 转0 评0 公众公开 21-01-31 13:24 |
程序员必备基础:如何安全传输存储用户密码?https的数据传输过程,数据都是密文的,那么,使用了https协议传输密码信息,一定是安全的吗?既然使用了https协议传输用户密码,还是「不一定安全」,那么,我们就给用户密码「加密再传输」呗~因此,我们可以用「https + 非对称加密算法(如RSA)」 传输用户密码~2. 如何安全地存储你的密码?所以... 阅48 转0 评0 公众公开 21-01-03 17:12 |
Integer缓存的坑public class IntegerTest {9.3 使用Arrays.asLis的时候,对原始数组的修改会影响到我们获得的那个Listpublic class ArrayAsListTest { public static void main(String[] args) { String[] arr = {"1", "2", "3"}; List list = Arrays.asList(arr); arr[1] = "4&q... 阅107 转0 评0 公众公开 20-12-27 16:52 |
3. 修改老接口的时候,思考接口的兼容性。一文读懂线程池的工作原理(故事白话文)面试必备:线程池解析源码分析-使用newFixedThreadPool线程池导致的内存飙升问题11. 手动写完代码业务的SQL,先拿去数据库跑一下,同时也explain看下执行计划。缓存穿透:指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓... 阅93 转0 评0 公众公开 20-11-26 04:45 |
「守护线程」是区别于用户线程哈,「用户线程」即我们手动创建的线程,而守护线程是程序运行的时候在后台提供一种「通用服务的线程」。语法糖一、switch 支持 String 与枚举语法糖二、 泛型语法糖三、 自动装箱与拆箱语法糖四 、 方法变长参数语法糖五 、 枚举语法糖六 、 内部类语法糖七 、条件编译语法糖八 、 断言语法糖九 、 数值字面量语... 阅72 转0 评0 公众公开 20-11-23 02:39 |
15篇珍藏在抽屉里的原创文章~前言经典原创文章汇总。MySQL中,21个写SQL的好习惯(修正版)并发环境下,先操作数据库还是先操作缓存?加我微信回复加群哈,这里有学习问题周报。github地址?https://github.com/whx123/JavaHome?点个 在看 在看是一种支持。 阅69 转0 评0 公众公开 20-11-07 09:27 |
(SQL后悔药)如果要修改或删除数据,在执行SQL前一定要先备份要修改的数据,万一误操作,还能吃口「后悔药」~10. where后面的字段,留意其数据类型的隐式转换(SQL性能优化)尤其在操作生产的数据时,遇到修改或者删除的SQL,先加个where查询一下,确认OK之后,再执行update或者delete操作13.减少不必要的字段返回,如使用select <具体字段... 阅32 转0 评0 公众公开 20-10-31 09:09 |
1.读取缓存中是否有相关数据2.如果缓存中有相关数据value,则返回3.如果缓存中没有相关数据,则从数据库读取相关数据放入缓存中key->value,再返回4.如果有更新写数据,则先操作数据库,再操作缓存5.为了保证第四步更新缓存成功,使用binlog异步通知操作6.如果是主从数据库,binglog取自于从库7.如果是一主多从,每个从库都要采集binlog,然... 阅35 转0 评0 公众公开 20-10-24 19:48 |