logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

数据库常见问题小结

本文系统介绍了MySQL数据库主键和索引的核心知识点。主键部分对比了主键与唯一键的区别,阐述了生产环境必须设置主键的原因,分析了自增ID、雪花ID和UUID的优缺点,并说明了联合主键的问题。索引部分详细解释了聚簇索引和二级索引的区别、回表机制、B+树优势,以及最左前缀匹配原则。此外,还涵盖了索引优化策略、锁与索引的关系、EXPLAIN分析技巧等内容。文章重点突出了索引设计的最佳实践和常见问题的解决

#数据库#sql#mysql
HTTP缓存相关知识总结

HTTP缓存机制通过减少请求次数、降低带宽消耗来提升响应速度和减轻服务器压力,主要包括强制缓存和协商缓存两种策略。强制缓存通过Cache-Control/Expires响应头实现,未过期时直接使用本地资源(200 from cache);过期后触发协商缓存,借助ETag/Last-Modified两组标识进行服务端校验(304 Not Modified或200新资源)。Cache-Control功

文章图片
#网络协议#网络
Sentinel实现限流

Sentinel是阿里开源的微服务流量治理组件,提供单机和分布式两种限流模式。核心功能包括QPS限流、并发线程数控制和热点参数限流,以及熔断降级机制。单机限流采用本地内存滑动窗口实现,具有高性能、强一致性的特点;分布式限流通过TokenServer集群实现全局控制。支持快速失败、预热模式、排队等待等多种限流策略,可通过注解方式快速集成到Spring Cloud项目中,并通过控制台动态配置规则。生产

文章图片
#windows
线程间的通讯

线程通信是同一进程内多线程协作的核心机制,主要包括共享变量、wait/notify、Lock+Condition、阻塞队列和管道流5种方式。其中阻塞队列(BlockingQueue)因自动实现线程安全而成为开发首选。Java并发工具类中,CountDownLatch用于主线程等待子线程完成(一次性),CyclicBarrier实现线程集体同步(可循环),Semaphore则通过许可证机制控制并发数

文章图片
#java#开发语言
JVM内存模型

JVM内存模型

文章图片
#jvm
查询同一用户最新的一条交易记录

先说下遇到的业务场景:需要根据用户号获取该用户交易时间最新的一条交易记录。那么实现方式有几种,每种之间有什么区别呢?3、窗口函数:适用于支持窗口函数的数据库(如PostgreSQL、SQL Server),效率较高。2、通过该条交易记录的id关联到支付数据,筛选出支付成功的数据。1、子查询:适用于大多数数据库,但可能在大数据量时效率较低。2、连接表:适用于所有数据库,但可能在大数据量时效率较低。1

文章图片
#sql#数据库
Spring Boot知识总结

Spring Boot的主要流程是什么?核心知识有哪些?开发工作中怎样进行启动优化。。。。。

文章图片
#spring boot#后端
Java类加载机制

(Parent Delegation Model),该模型规定了类加载器之间的层次关系和类加载顺序。简单理解:把 “类名 / 方法名 / 字段名” 变成真正的内存地址。,不按照默认的向上委托逻辑执行,直接自己加载类,就打破了双亲委派。,最终变成可以直接使用的 Java 类型,这个全过程就是。:本地文件、JAR、网络、动态生成等。:保证基础类统一,不会出现多个版本冲突。:保证一个类在 JVM 中只加

文章图片
#java#开发语言
到底了