- 博客(158)
- 收藏
- 关注
原创 mysql慢查询
查看慢查询是否开启以及日志位置:show variables like “%slow_query_log%”开启慢查询:set global slow_query_log=1;查询慢查询日志SQL执行时间的阈值:SHOW VARIABLES LIKE 'long_query_time%'其默认为10秒,可以用SET GLOBAL long_query_time=3 去设置阈值;只有超过3秒(不包括3)才会被记录需要注意的是,设置完之后,你用SHOW VARIAB...
2021-12-15 10:47:02
626
原创 关于jvm和类加载
类加载过程https://snailclimb.gitee.io/2019/08/25/java/jvm/%E7%B1%BB%E5%8A%A0%E8%BD%BD%E5%99%A8/ClassLoader工作机制https://www.cnblogs.com/xujian2014/p/5551153.htmljava JVM运行机制和原理https://www.cnblogs.com/whhjava/p/9916626.html
2021-10-08 12:05:29
130
原创 Redis单线程快的原因
因为是纯内存操作,所以本身速度快,切换线程的时间相对内存操作来讲,就显得慢了,其他多线程是外部磁盘操作,本身就慢很多,这样线程切换所耗费的时间相对来说,不是主要矛盾
2021-09-29 16:41:31
94
原创 mysql 的 redolog undolog binlog
redolog 和undolog是事务日志undolog实现事物的原子性;undolog记录的是sql执行的相关信息比如insert操作等;redolog实现持久性innodb提供一个buffer作为访问数据库的缓冲,数据库读数据先从buffer中取,数据库定期从buffer中把数据刷新到按数据库,但服务器宕机会导致buffer数据丢失,持久性无法保证,所以有了redolog。数据库的修改先写到redolog里面,再写到buffer里面。为什么写入redolog要快?1是因为redolo
2021-09-03 03:41:53
274
原创 mysql索引相关
1.底层结构为什么用b+树hash索引查找速度快,但是不支持范围查询,哈希值相同还要一个一个比对。平衡二叉树比如查找大于5的数,需要从5开始往上回旋去依次查找b树优点是一个节点能存多个数,减少了访问次数,但是也存在回旋查找的问题比如查找大于5的数,需要从5开始往上回旋去依次查找b+树解决了回旋查找的问题,因为有单向链表。...
2021-09-03 00:29:45
72
原创 mvcc相关
注意:当前读都是上锁的;事务原子性:undolog实现持久性: redolog隔离性:加锁与mvcc实现前三特性保证了最后一个特性:一致性;rc 与rr生成快照的时机不同,rc是每一次select就生成新的快照review,rr是每个事务只生成一个review。因为rr级别的快照读只生成一个review以后就不变了,所以解决了快照里的幻读问题。当前读解决幻读用的是间隙锁...
2021-09-02 14:45:01
128
原创 力扣2. 两数相加
给你两个非空 的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9,...
2021-08-07 10:27:30
79
原创 自定义Redis Tsmplate
不序列化,直接传对象到数据库会报错,实现Serializable即可序列化在企业中,所有的pojo都会序列化。默认用的是jdk的序列化,想要设置其他的序列化需要在自己写的redistemplate里设置固定模板:用原生的redis template不够直观,所以自己写一个工具类去封装后面省略...
2021-08-04 04:12:38
135
原创 关于并发的导航
HashMap?ConcurrentHashMap?相信看完这篇没人能难住你!什么是ConcurrentHashMap?一行一行源码分析清楚AbstractQueuedSynchronizer
2021-07-27 02:56:59
63
原创 剑指 Offer 39. 数组中出现次数超过一半的数字
剑指 Offer 39. 数组中出现次数超过一半的数字数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2限制:1 <= 数组长度 <= 50000哈希方法应掌握 getOrDefault() containKey()等方法的使用class Solution { public int m...
2021-06-09 08:56:54
90
原创 变量
注意:全局变量是跨连接的,你在本连接修改了全局变量,在其他连接也会被修改会话变量使用与全局变量相同第二个局部变量的用法是错的,必须放在begin end里
2021-06-07 16:22:37
84
原创 反射
赋值了一个字符串,在idea运行过程中,srt.还能弹出方法列表供选择原理就是string的字节码文件加载到内存生成class对象,而方法被封装成method对象,放到了method数组里,srt.所出来的列表就是method数组所返回的方法名这就是反射的一个应用。d是一个私有变量,需要用暴力反射对他进行获取以及修改...
2021-06-04 11:16:56
54
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人