自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 计算机网络八股

TLS 握手的目的就是为了协商出会话密钥,也就是对称加密密钥,那我们如果我们把首次 TLS 握手协商的对称加密密钥缓存起来,待下次需要建立 HTTPS 连接时,直接「复用」这个密钥,不就减少 TLS 握手的性能损耗了吗?这种方式就是会话复用。Session ID 的工作原理是,客户端和服务器首次 TLS 握手连接后,双方会在内存缓存会话密钥,并用唯一的 Session ID 来标识,Session ID 和会话密钥相当于 key-value 的关系。

2024-11-16 20:28:21 642

原创 Redis面经

或者,定时检查 Redis 是否存在大 key ,如果该大 key 是可以删除的,不要使用 DEL 命令删除,因为该命令删除过程会阻塞主线程,而是用 unlink 命令(Redis 4.0+)删除大 key,因为该命令的删除过程是异步的,不会阻塞主线程。Redis 实现的是一种近似 LRU 算法,目的是为了更好的节约内存,它的实现方式是在 Redis 的对象结构体中添加一个额外的字段,用于记录此数据的最后一次访问时间。跳表的高度是随机生成的,性能存在一定概率比较低,B+树的性能则十分稳定。

2024-11-16 20:27:54 1598

原创 Mysql面经

比如一开始只有id = 5的数据,查了个Id = 2的数据的话,就会把id = 5的数据上的锁设置为间隙锁,为什么不加临键锁,因为针对id = 2的查询对id = 5的数据增删改都不会对查询结果有影响。临键锁,上面两个锁的组合。当修改数据时,如果数据存在于 Buffer Pool 中,那直接修改 Buffer Pool 中数据所在的页,然后将其页设置为脏页(该页的内存数据和磁盘上的数据已经不一致),为了减少磁盘I/O,不会立即将脏页写入磁盘,后续由后台线程选择一个合适的时机将脏页写入到磁盘。

2024-11-16 20:27:33 1653

原创 Java框架八股

简单来说,Bean 代指的就是那些被 IoC 容器所管理的对象。Bean尽量避免定义可变的成员变量,真需要成员变量最好用ThreadLocal来保存。Spring 是一个轻量级的 Java 开发框架,它提供了一系列有用的工具和功能,用于简化 Java 应用程序的开发。Spring 的核心是它的 依赖注入(DI) 和 面向切面编程(AOP),通过这两大特性来解耦代码、简化开发过程。

2024-11-05 14:59:04 1638

原创 Java八股

Java的.class文件就算字节码。Java 语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。JVM 会根据代码每次被执行的情况收集信息并相应地做出一些优化,通过JIT把热点代码的机器代码保存下来,多次使用避免重复解释来提高效率。序列化:将数据结构或对象转换成二进制字节流的过程反序列化:将在序列化过程中所生成的二进制字节流转换成数据结构或者对象的过程序列化的主要目的是通过网络传输对象或者说是将对象存储到文件系统、数据库、内存中。

2024-11-05 14:57:45 677

原创 操作系统面经

中断:操作系统收到了中断请求,会打断其他进程的运行,所以中断请求的响应程序,也就是中断处理程序,要尽可能快的执行完,这样可以减少对正常进程运行调度地影响。为了避免由于中断处理程序执行时间过长,而影响正常进程的调度,Linux 将中断处理程序分为上半部和下半部:上半部,对应硬中断,由硬件触发中断,用来快速处理中断;下半部,对应软中断,由内核触发中断,用来异步处理上半部未完成的工作;(不需要一次性占用CPU完成所有任务,后续交给内核线程异步进行)

2024-08-05 21:24:29 908

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除