- 博客(9)
- 收藏
- 关注
原创 【数据库篇:SQL语句总结、数据库索引、常见面试问题】
最左匹配原则:联合索引(由多个列组成的索引)只能从最左侧的列开始匹配,并且必须连续使用左侧的列,否则索引将无法完全生效。带头大哥不能死,中间兄弟不能断为什么联合索引不符合最左前缀原则就会失效?联合索引在 B+Tree 中的存储方式是按列顺序逐级排序的,先按第一个列 a 排序;先按第一个列 a 排序;a 和 b 都相同的情况下,再按第三个列 c 排序。这种结构使得索引的每一级都依赖前一列的值。如果查询条件不包含最左侧的列,数据库无法通过索引的有序性快速定位数据,只能退化为全表扫描。
2025-04-10 23:43:25
901
原创 【java面试:mysql事务的四种隔离级别?Spring事务声明?】
( 当类A中的 a 方法用默认Propagation.REQUIRED模式,类B中的 b方法加上采用 Propagation.REQUIRES_NEW模式,然后在 a 方法中调用 b方法操作数据库,然而 a方法抛出异常后,b方法并没有进行回滚,因为Propagation.REQUIRES_NEW会暂停 a方法的事务 )Propagation.REQUIRED:如果当前存在事务,则加入该事务,如果当前不存在事务,则创建一个新的事务。Propagation.SUPPORTS:如果当前存在事务,则加入该事务;
2025-04-08 11:34:12
742
原创 Java高频面试题:线程池
参数作用常用值/配置建议注意事项核心线程数 (corePoolSize)线程池中常驻的线程数量,空闲时也不会销毁(除非开启超时)CPU核心数 + 1CPU核心数 * 2可调用允许核心线程超时销毁最大线程数 (maximumPoolSize)线程池允许创建的最大线程数量需结合系统资源评估(如内存、任务类型)设置过高可能导致内存溢出或频繁上下文切换阻塞队列 (workQueue)缓冲待执行任务的阻塞队列(由数组实现的有界队列,按FIFO排序)(链表结构的无界队列,按FIFO排序)
2025-03-19 14:25:36
3186
原创 java面经:什么是幂等? 如何解决幂等性问题?
2. Token 机制(防重 Token)实现:客户端先获取Token,提交请求时携带该Token,服务端验证后删除。适用场景:前端防重复提交(如支付按钮)。流程:客户端请求获取Token(进入支付页面时获取到token)。服务端生成Token并存储(如Redis)。客户端提交业务请求时携带Token。服务端校验Token,存在则处理并删除Token。3. 数据库唯一约束实现:利用数据库唯一索引 (UNIQUE)防止重复数据。示例:适用场景:比如对于数据插入类的场景,比
2025-03-17 22:41:07
937
原创 java面经——为什么ThreadlocalMap的key要设计成弱引用?
设计选择解决的问题剩余风险开发者责任弱引用 key防止 ThreadLocal 对象内存泄漏value 可能泄漏(需被动/主动清理)建议及时调用remove()强引用 key无key 和 value 均可能泄漏必须严格手动管理。
2025-03-14 13:20:01
1792
原创 如何实现微博社交登录?
Oauth2.0 授权通过后,使用 code 换取 access token ,然后去访问任何开放 API1)code 用后即毁2) access token 在几天内是一样的3 ) uid 永久固定。
2025-03-08 15:34:36
470
原创 使用MD5/盐值/Spring+密码编码器对登录密码加密
验证登陆密码:等再次登录验证密码时,读取数据库加密的随机盐值,结合登陆密码再次进行MD5加密运算,若得到的密文与数据库中存储的密文相同,则密码正确。验证登陆密码:用matches(密码,密文)进行匹配,若匹配结果为Ture,则密码正确。注册存密码:原数据+随机值(比如:当前系统时间、8位字符)再进行MD5加密,得到密文。弊端:若直接使用MD5进行密码的加密存储,容易遭到暴力破解。2.对原数据进行任何改动,,所得到的MD5值都有很大区别。注册存密码:用encode(密码)得到密文。
2025-03-07 22:02:16
305
空空如也
为什么现在进不去读书屋网站了()
2024-05-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅