- 博客(13)
- 收藏
- 关注
原创 hs笔试问题
不能被实例化(new)可包含抽象方法和具体方法子类必须实现所有抽象方法,否则也必须声明为抽象类private即使x是private,只要是在它所属的类(A)内部的方法中操作它,就是完全合法的。类B虽然不能直接访问x,但可以通过调用类A的public方法来间接影响x的值。所以代码会正常运行,输出x + y = 6,没有任何问题!
2025-10-10 22:14:15
875
原创 Spring中的事务隔离
意味着“相信数据库的默认配置是最优的”,这使得Spring应用可以更容易地在不同数据库(如MySQL, Oracle, PostgreSQL)之间迁移。隔离级别主要解决的是并发读写导致的一致性问题(脏读、不可重复读、幻读)。结论: 隔离级别是数据库提供的基础保障,但编写健壮的并发业务逻辑,还需要开发者根据场景选择合适的锁策略。Spring的作用是提供了一种统一、便捷的方式来配置和管理这些隔离级别,屏蔽了不同数据库的差异。:不同的数据库对隔离级别的支持程度和默认行为不同。最高隔离级别,所有事务逐个顺序执行。
2025-09-21 09:33:54
693
原创 面试的一些问题
主键 (Primary Key, PK)数据库表中唯一标识每一行记录的字段(或字段组合)。特性唯一性(不能有重复值)、非空性(不能为NULL)。一张表只能有一个主键。外键 (Foreign Key, FK)表中的一个字段(或字段组合),它引用另一张表的主键(或唯一约束字段)。作用:建立和加强两个表数据之间的链接,强制维护引用完整性。orders表中的字段是外键,它引用customers表的主键,确保每笔订单都对应一个真实存在的客户。
2025-09-21 09:33:34
722
原创 Stream的中间操作是延迟执行的理解
/ filter: a1 -> filter: a2 -> filter: b1 -> filter: c2 -> map: c2 -> filter: c1 -> map: c1 -> 结果: [C2, C1]从输出可以看到:不是先对所有元素执行完filter再对所有元素执行map,而是逐个元素“垂直”地穿过整个流水线。这减少了操作次数,提升了性能。
2025-09-20 18:04:27
270
原创 对于事物隔离的理解
MVCC (多版本并发控制) - 实现读已提交和可重复读的基石InnoDB为每一行记录隐藏了两个字段:DB_TRX_ID:最近一次更新此行的事务ID。DB_ROLL_PTR:回滚指针,指向该行的上一个版本(存储在undo log中)。当执行一个SELECT时,InnoDB会根据当前事务的ID和行的DB_TRX_ID来判断哪个版本的数据对当前事务是可见的。读已提交 (RC):每次SELECT都会生成一个新的ReadView(快照),所以每次都能看到最新已提交的数据。
2025-09-20 18:00:02
814
原创 数据库索引,哪些情况会导致失效
如果索引列是字符串类型,而你用数字去查询,数据库会隐式地调用函数将索引列转换为数字,导致索引失效。(例如 > 20%~30%)时,使用索引(需要回表多次)可能不如直接全表扫描一次搞定。你对索引列做计算,相当于改变了它的值,破坏了他原本的“有序性”,引擎就找不到它了。,引擎就会放弃使用索引,转而进行全表扫描(效率O(N)),这就是“索引失效”。使用索引的成本比全表扫描还高(例如需要回表查询大量数据),它也会放弃使用索引。要理解索引为何失效,首先要明白索引(通常是B+Tree)的工作方式就像。
2025-09-20 17:52:34
561
原创 Mysql和Redis保持数据一致性
这第二次删除就是为了清除在“更新DB”这个间隙内可能被写入的脏数据。// 1. 先删缓存// 2. 更新数据库// 3. 提交事务后,异步延迟一段时间再删一次。
2025-09-20 17:46:46
658
原创 关于AOP的一些理解和面试问题
介绍:AOP(面向切面编程)是一种编程范式,用于将横切关注点(如日志、事务、安全)从业务逻辑中分离出来,提高代码的模块化程度。解耦。把通用功能(日志、事务等)和业务代码分离,使业务代码更纯净,易于维护。一种横向抽取的编程范式,通过动态代理技术实现。用@Aspect标记一个切面类。用定义拦截规则。用五大通知注解(@Before@After等)绑定规则和时机,编写增强逻辑。环绕通知(@Around)是最强大的,因为它可以控制目标方法的执行。
2025-09-20 17:40:42
926
原创 chat,某pt无法进入问题
3,重新进open ai 官网,找到 chatgpt login 这个,重新登录账号。解决方法:1,尝试更换节点,可能目前节点访问人数过多。
2025-01-22 10:54:36
543
原创 递归思想解决爬楼梯问题,并打印每一种方法的路径
int climb(int n, sqestack & S,int & num)//num每次都改变需要传值用取值符&num传递。cout <<"有"<< climb(N,myStack,num)<<"种走法";cout << "栈长" << top + 1 << endl;cout << "内容:";cout << "请输入台阶数目:";//栈顶到栈底输出栈的内容,但不出栈。
2023-04-20 21:53:05
663
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅