
开发技术点
文章平均质量分 86
记录技术
征途
这个作者很懒,什么都没留下…
展开
-
后端开发笔记(记录开发中常用知识点)
后端笔记(记录开发中常用知识点)原创 2023-03-09 17:44:29 · 293 阅读 · 0 评论 -
Vue+ElementUI+SpringBoot项目配合分页插件快速实现分页(简单暴力)
逻辑分页依赖于代码。(例:Mybatis自带的分页插件就是逻辑分页)同时逻辑分页是先查询出所有的数据,再根据代码块的所需(例:你需要拿到第几页,每页几条的数据)筛选出合适的数据进行分页。原创 2023-03-01 15:58:10 · 692 阅读 · 1 评论 -
TCP的三次握手及四次挥手(为什么三次握手?为什么四次挥手?为什么TCP连接的时候是3次?两次是否可以?)
TCP是一种面向连接的单播协议,在发送数据前,通信双方必须在彼此间建立一条连接。所谓的“连接”,其实是客户端和服务器的内存里保存的一份关于对方的信息,如ip地址、端口号等。TCP可以看成是一种字节流,它会处理IP层或以下的层的丢包、重复以及错误问题。在连接的建立过程中,双方需要交换一些连接的参数。这些参数可以放在TCP头部。TCP提供了一种可靠、面向连接、字节流、传输层的服务,采用三次握手建立一个连接。采用4次挥手来关闭一个连接。.........原创 2022-07-10 15:35:56 · 1625 阅读 · 1 评论 -
一篇文章让你彻底掌握MySQL索引(什么是索引?什么是聚簇索引,什么是非聚簇索引?什么是最左匹配原则?Hash索引和B+树的区别?B树和B+树的区别?如何对索引进行优化?)
百度百科的解释:索引是对数据库表的一列或者多列的值进行排序一种结构,使用索引可以快速访问数据表中的特定信息。原创 2022-07-01 09:31:47 · 965 阅读 · 0 评论 -
什么是MVCC?
MVCC(multiple version concurrent control)是一种控制并发的方法,主要用来提高数据库的并发性能。在了解MVCC时应该先了解当前读和快照读。可以看到MVCC的作用就是在不加锁的情况下,解决数据库读写冲突问题,并且解决脏读、幻读、不可重复读等问题,但是不能解决丢失修改问题。...原创 2022-06-29 21:28:34 · 1062 阅读 · 2 评论 -
HashMap在JDK1.7和JDK1.8中有哪些不同?HashMap的底层实现
JDK1.8的Hash函数 JDK1.8的函数经过了一次异或一次位运算一共两次扰动,而JDK1.7经过了四次位运算五次异或一共九次扰动。这里简单解释下JDK1.8的hash函数,面试经常问这个,两次扰动分别是key.hashCode() 与 key.hashCode() 右移16位进行异或。这样做的目的是,高16位不变,低16位与高16位进行异或操作,进而减少碰撞的发生,高低Bit都参与到Hash的计算。如何不进行扰动处理,因为hash值有32位,直接对数组的长度求余,起作用只是hash值的几个低.原创 2022-06-29 21:09:21 · 438 阅读 · 0 评论 -
Redis中的缓存雪崩、穿透、击穿,及解决方案(如何保证缓存与数据库双写时的数据一致性?)
下图是一个正常的系统架构图,其中缓存的作用是减轻数据库的压力,提升系统的性能,无论是缓存雪崩、缓存击穿还是缓存穿透都是缓存失效了导致数据库压力过大。 缓存雪崩是指在某一个时刻出现大规模的缓存失效的情况,大量的请求直接打在数据库上面,可能会导致数据库宕机,如果这时重启数据库并不能解决根本问题,会再次造成缓存雪崩。一般来说,造成缓存雪崩主要有两种可能 缓存雪崩是大规模的key失效,而缓存击穿是一个热点的Key,有大并发集中对其进行访问,突然间这个Key失效了,导致大并发全部打在数据库上,导致数据库原创 2022-06-28 15:12:09 · 311 阅读 · 1 评论