- 博客(26)
- 收藏
- 关注
原创 操作系统思维导图
进程上下文切换:cpu从进程A切换到进程B运行,让用户感觉好像在跑多个进程,实际上是并发进程上下文切换过程:触发切换,保存进程A上下文,加载进程B上下文,执行进程B进程上下文切换开销在哪?1时间:cpu切换上下文需要时间2缓存:cpu高速缓存的是上一个进程,切换后缓存失效08、进程有哪些状态?11、进程有哪些调度算法?多级反馈队列:先按照优先级,同优先级就按时间片轮转。高优先级时间片短,高优先级时间片用完没完成就降级,低优先级等久了提高优先级结合 “时间片轮转” 和 “优先级调度” 的优点,是。
2025-11-13 17:23:58
775
原创 权限系统设计(IAM)
每一次 HTTP 请求,对服务器来说,都是全新的、独立的、不关联的。服务器不会自动记住你是谁,也不会知道你上次做了什么。因为 HTTP 无状态,服务器记不住你是谁,所以需要 Cookie、Session、JWT 这些机制来“伪造”一个持续的状态。暂时无法在飞书文档外展示此内容。
2025-11-13 17:18:01
682
原创 一文吃透类加载器
类加载是把二进制字节流文件加载进内存的过程。分为加载,连接,初始化,链接又分为验证准备解析。加载:把二进制字节流读入内存,在方法区生成InstanceKlass对象,在堆中生成一个对应的可访问的java对象链接:验证:验证是否符合jvm的规范,文件格式验证,符号引用验证准备:为静态变量分配空间赋初值,常量赋常值解析:符号引用-》直接引用初始化:执行<clinit>方法,执行静态代码块,为静态变量赋值。
2025-11-13 17:15:06
395
原创 Mysql面试题
数据库核心概念摘要 数据库类型 关系型数据库:采用二维表格结构,支持SQL查询,保证ACID特性(如MySQL的InnoDB) 非关系型数据库:支持多种存储形式(Key-Value/列式/图存储),查询语言多样,弱事务支持 索引机制 B+树索引:矮胖结构支持高效范围查询,非叶节点存索引,叶节点存数据(聚簇)或主键(非聚簇) 索引优化:遵循最左前缀原则,避免%前缀模糊查询,注意联合索引顺序,使用覆盖索引减少回表 事务与隔离 ACID特性:原子性(undolog)、隔离性(MVCC/锁)、持久性(redolog
2025-10-31 17:19:55
689
原创 SpringAOP快速入门
SpringAOP面向切面编程,简单来说就是面向方法编程,既然是面向方法编程,说明他本身是用来处理琐碎的小功能。AOP:(Aspect-Oriented Programming,面向切面编程)能够将那些与业务无关,却为业务模块所共同调用的逻辑封装起来,便于减少系统的重复代码,降低模块间的耦合度。能做什么:事务处理、日志管理、权限控制(Spring Security就是用的AOP + 过滤器链)等。
2025-10-23 20:31:43
719
原创 面试必问,1w字彻底吃透 MySQL 执行计划与 SQL 调优:从 EXPLAIN 到性能优化实战
索引跳跃扫描是 MySQL 8.0 + 引入的优化技术,允许在不遵循联合索引最左前缀原则的情况下使用索引。适用场景复合索引的前导列选择性较低(如性别、状态等)。查询条件中未使用前导列,但使用了后续列。工作原理MySQL 会遍历复合索引前导列的所有唯一值,然后在每个唯一值的基础上执行后续列的范围扫描,最后合并结果。
2025-09-27 14:15:28
1035
1
原创 Redis集群-主从,哨兵,分片,一文搞定!
本文详细介绍了Redis的三种集群模式:主从集群、哨兵集群和分片集群。主从集群通过主从同步实现数据复制,包括全量同步和增量同步机制;哨兵集群提供高可用性,通过状态监控和故障恢复实现主节点自动切换;分片集群则通过数据分片解决内存不足问题,支持横向扩展。三种模式各有侧重,可根据实际场景灵活选择,共同提升Redis在大规模应用中的性能和可靠性。
2025-09-08 16:38:50
939
原创 MySQL日志
连接层:对,对用户进行身份校验,安全校验。(连接池技术,线程池技术)服务层(Server层):主要负责解析sql的词法语法,处理优化和执行sql引擎层:负责存储和读取mysql的内部数据Undolog位于mysql的引擎层Redolog位于mysql的引擎层Binlog位于mysql的服务层。
2025-09-05 23:23:37
1008
原创 MYSQL索引篇
索引下推(Index Pushdown):索引帮助我们提前过滤掉不符合条件的数据(比如,工资低于5000的员工),避免全表扫描。索引跳跃(Index Skip Scan):索引通过跳过不必要的索引部分,直接找到符合条件的记录,避免了全表扫描或遍历整个索引的过程。
2025-09-01 22:47:59
1334
原创 MQTT与Netty通信协议学习
Netty是一个协议中立的通信框架,支持多种协议:Http,TCP,WebSocket。Netty 提供了很多灵活的工具来帮助你定义和解析数据。(底层封装好实现细节,无需自己实现)
2025-08-31 15:03:58
1119
原创 如何使用RedisGEO实现行程匹配功能(含匹配度)
要实现行程匹配,那我们肯定要知道乘客/司机的位置坐标,从而进行计算和匹配。GEODIST(distance):见名之意,计算两个地理位置的距离 GEODIST key 位置一 位置二 m/km(不选择默认返回m(单位米)乘客/司机 终点 与 司机/乘客 终点 计算距离 加权平均分后返回一个值(这个值就是zset中的score,即行程匹配度)当乘客/司机发布行程时,会将自己的位置坐标存入GEO,使用。将符合要求的,匹配度从高到低返回给满足条件的 司机/乘客。
2025-03-03 10:38:20
2001
原创 开学了,每天三道!!!(补day08,今天是第十四天)
1.1类使用final修饰,防止继承机制,例如String1.2类里面的所有成员变量都是private final,确保他们初始化后不会更改1.3类不提供set方法,防止属性被修改1.4使用构造函数初始化所有字段1.5如果类包含可变对象的引用,确保这些引用在对象外部无法被修改。例如在getter方法中返回对象的副本(new一个新对象)线程安全:不可变类的状态不能被修改,天生线程安全缓存友好:不可变对象可以被安全的缓存和共享。
2025-03-02 23:31:34
428
原创 Redis解决实现秒杀+解决超卖问题
利用hash结构替代string结构(记录获取锁的线程和重入次数),hash key-field-value,多存入一个value字段,用来记录获取锁的次数,所以当某一线程进行业务操作时(不止需要一次锁),可以多次获取锁,只有当value= 0时,锁才会被删除。不难看出当线程一获取锁业务阻塞后,此时锁超时自动释放锁(锁被误删),而线程一继续执行业务时,会继续释放锁从而删除其他线程的锁,因为我们的key值为 业务名+ “order:userId”,所以会出现并行情况,造成线程安全问题。
2025-03-01 00:50:21
2913
原创 开学了,每天三道day04-day06(补更)
自动装箱:Java编译器将基本数据类型转成包装型。自动拆箱:Java编译器将包装型数据类型转成基本数据类型。主要作用:在Java5引入,提高代码的可读性和简化代码的编写注意: 频繁的装箱和拆箱会降低系统的性能效率java继承机制是面向对象的核心特点之一,就是子类继承父类的属性和方法。继承机制使得类之间可以形成层次结构,支持代码重用和扩展。他实现多态,抽象和代码复用的关键优点:提升代码的复用性,其次易于维护缺点:紧耦合,灵活性差super关键字:super可以调用父类的方法,也可以用来访问父类的字段。
2025-02-27 00:06:15
1916
原创 开学了,每天三道day03(补更)
实际开发中使用ConcurrentHashMap替代Hashtable,因为ConcurrentHashMap实现线程安全的同时,分段锁提高并发性能。3允许空值:HashMap键和值都允许空值,而Hashtable不允许null键和null值,插入null值会空指针异常。HashMap采用2的n次方倍作为容量,主要是为了提高哈希值的分布均匀性和哈希计算的效率。过多扩容的同时,也保证不会出现过多的Hash冲突,保证查找和插入的效率,维持良好的性能。2、为什么HashMap在Java中扩容采用2的n次方倍?
2025-02-26 23:16:38
302
原创 开学了,每天三道八股文!!!day02(感冒补更)
hash冲突是指使用hash算法时,不同的输入数据通过哈希函数计算后,得到相同的哈希值。这些键被映射的哈希表的同一个位置,从而发生冲突。
2025-02-25 08:33:17
349
原创 Vue框架回顾
│ ├── assets/ # 资源文件目录,存放图片、字体等静态资源。│ ├── components/ # 公共组件目录,存放可复用的Vue组件。│ ├── store/ # Vuex状态管理目录,管理全局状态。│ ├── views/ # 视图组件目录,存放页面级组件。│ ├── App.vue # 根组件,整个应用的最外层组件。│ ├── router/ # 路由配置目录,管理页面路由。
2025-02-09 11:21:09
546
原创 MybatisPlus
67代码生成器8扩展功能Db静态工具类,避免循环依赖9扩展功能-逻辑删除10枚举处理器(个人感觉不如直接定义常量类,在常量类中定义11JSON处理器12分页插件:13通用分页实体与MP转换(emmm听不懂了)
2024-12-25 11:16:19
691
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅