摘要: 无锁--偏向锁--轻量级锁(自旋锁CAS)--重量级锁 1. 偏向锁 专属于一个线程,偏向一个线程的锁,比如线程id 2. 轻量级锁 当有多个线程竞争一个锁时,升级轻量级锁,指向栈中所记录的指针,这个过程叫做CAS 3. 重量级锁 当竞争的线程超过10次,升级为重量级锁,用户态升级为了内核态,效率慢 阅读全文
posted @ 2020-02-22 13:30 塔下补刀就是菜丶 阅读(595) 评论(0) 推荐(1)
摘要: 1. volatile的作用 保证共享变量对于多线程之间的可见性 防止指令重排序 2. 计算机的组成 程序启动后,会加载到内存中 内存中会有多条指令,由pc程序计数器来记录指令地址 指令执行,内存中的数据放入寄存器,ALU运算单元计算,计算完成后返回到寄存器,然后写入到内存 3. 线程可见性 可见性 阅读全文
posted @ 2020-02-22 12:52 塔下补刀就是菜丶 阅读(583) 评论(0) 推荐(0)
摘要: Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 1. String类型(一个键最大存储512M) 应用场景 计数器(incr、incrby、decr、decrby属于string数据结构,它们是原子 阅读全文
posted @ 2020-02-20 15:57 塔下补刀就是菜丶 阅读(146) 评论(0) 推荐(0)
摘要: 1. 为什么需要主从复制? a. 在复杂的业务中,有一个sql需要锁表,导致不能使用读的服务,影响业务的运行,使用主从复制,让主库写,从库读,保证业务的运行 b. 做数据的热备 c. 架构扩展,业务量原来越大,I/O访问评率过高,做多库存储,提高单个机器的I/O性能 2. 原理(默认采用的是异步的方 阅读全文
posted @ 2020-02-19 14:08 塔下补刀就是菜丶 阅读(136) 评论(0) 推荐(0)
摘要: 1. 缓存穿透 web服务器在处理请求的时候,先去redis查询数据,没有查到,然后到mysql去查数据 低频的缓存穿透不可怕,使用布隆过滤器解决,把mysql的热门数据放到布隆过滤器中过滤,不直接通过数据库 2. 缓存击穿(一般不用处理) redis中有一条热门数据到时间失效后,依然热门,同时又大 阅读全文
posted @ 2020-02-15 17:05 塔下补刀就是菜丶 阅读(133) 评论(0) 推荐(0)
摘要: 1. 网络协议 应用层(http ftp ssh协议) 表示层 回话层 传输层(TCP) 网络层 数据链路层 物理层 2. 请求Baidu主页 linux 人为创建流指向socket 文件描述符 0输入1输出2错误 连接后,不发送东西,会发网络通信阻塞 TCP--面向连接的(3次握手后建立连接),可 阅读全文
posted @ 2020-02-15 15:19 塔下补刀就是菜丶 阅读(154) 评论(0) 推荐(1)
摘要: 1. 原理 通过不断地缩小想要获取数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件,也就是说,有了这种索引机制,我们可以总是用同一种查找方式来锁定数据。 2. b+数性质 索引字段尽可能小 索引的最左匹配(从左到右查找) 3. 索引分类 1.普通索引index :加速查找 2.唯一索 阅读全文
posted @ 2019-11-20 10:53 塔下补刀就是菜丶 阅读(160) 评论(0) 推荐(1)
摘要: 在执行的sql语句前加explanin 1. table 显示这一行数据关于那张表 2. type 显示连接使用了何种数据类型 排序const<eq_reg<ref<range<indexhe<ALL system 表只有一行:system,这是const连接类型特殊的情况 const 表中的一个记 阅读全文
posted @ 2019-11-19 15:47 塔下补刀就是菜丶 阅读(124) 评论(0) 推荐(0)
摘要: find_in_set()函数使用,可以模糊查询 concat(str1,str2) 如有任何一个参数为NULL ,则返回值为 NULL。 case when then end 横纵表转换 UNION 操作符用于合并两个或多个 SELECT 语句的结果集 去重 union all 所有 distin 阅读全文
posted @ 2019-11-14 15:49 塔下补刀就是菜丶 阅读(94) 评论(0) 推荐(1)
摘要: 不同点 1. java.sql.date是针对sql使用的,只有日期部分,没有时间部分 2. java.util.date是java.sql.date的父类 之间的转换关系 java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime()); 阅读全文
posted @ 2019-10-15 14:46 塔下补刀就是菜丶 阅读(1975) 评论(0) 推荐(1)