首页
个人开发
工作相关
搜索
登录
搜索
colo
欲买桂花同载酒
累计撰写
1823
篇文章
累计收到
0
条评论
首页
栏目
首页
个人开发
工作相关
Gradio Web UI 界面
最新文章
2025-12-13
设计一个线程安全的LRU缓存,支持高并发读写和容量淘汰
实现线程安全LRU缓存的核心要点:使用 LinkedHashMap 的访问顺序特性实现LRU逻辑通过读写锁(ReentrantReadWriteLock)分离读写操作重写 removeEldestEntry 方法实现淘汰策略使用双重检查锁定处理初始化竞态条件对 computeIfAbsent 等复合操作进行同步控制
2025年-12月-13日
5 阅读
0 评论
Java集合框架
2025-12-13
设计高安全性的OAuth2资源服务器,实现JWT验证与自定义令牌增强
实现要点:配置@EnableResourceServer并继承ResourceServerConfigurerAdapter使用JwtAccessTokenConverter自定义JWT声明和签名验证实现TokenEnhancer接口添加自定义声明(如租户ID)重写DefaultAccessTokenConverter映射权限到Authentication在资源服务器创建@Bean JwtDecoder解析自定义JWT使用@PreAuthorize实现方法级动态权限控制
2025年-12月-13日
5 阅读
0 评论
Spring Security
2025-12-13
设计基于CompletableFuture的异步缓存系统
实现要点:使用ConcurrentHashMap存储CompletableFuture保证原子性通过supplyAsync异步加载数据用completeExceptionally处理异常实现refreshAfterWrite自动刷新机制采用Optional包装值解决缓存穿透
2025年-12月-13日
5 阅读
0 评论
Java 8+ 新特性
2025-12-13
使用Spring AOP实现服务层方法执行时间监控与告警
实现步骤:创建@Aspect组件定义切面使用@Around环绕通知捕获方法执行时间通过@Pointcut定义针对Service层的切入点表达式计算耗时并判断是否超过阈值使用SLF4J按不同级别记录日志关键配置:切入点:execution(* com.example.service..*(..))阈值:通过@Value注入可配置参数
2025年-12月-13日
5 阅读
0 评论
Spring AOP
2025-12-13
MyBatis 多表关联查询中的延迟加载与性能优化策略
在MyBatis多表关联场景下实现高性能查询的核心要点:使用<association>/<collection>的fetchType="lazy"启用延迟加载通过aggressiveLazyLoading=false配置避免侵入式加载结合@Lazy注解实现方法级控制使用@Fetch注解定制SQL分批加载策略在事务边界内操作避免延迟加载失效
2025年-12月-13日
5 阅读
0 评论
MyBatis
2025-12-13
Spring中同一个类内部方法调用导致@Transactional失效的原因及解决方案
当在同一个类中,一个非事务方法调用另一个带有@Transactional注解的方法时,事务不会生效。这是因为Spring的事务管理是通过AOP代理实现的,自调用会绕过代理,直接调用目标方法。解决方案:将事务方法移到另一个类中(推荐)通过AopContext获取当前代理对象,然后调用其方法(需要开启exposeProxy)注入自身代理对象,通过代理对象调用方法
2025年-12月-13日
5 阅读
0 评论
Spring框架
2025-12-13
高并发场景下Hibernate的延迟加载优化与事务边界设计
核心解决方案要点:使用@BatchSize注解或HQL JOIN FETCH解决N+1问题在服务层使用@Transactional确保会话边界覆盖延迟加载二级缓存配置CacheConcurrencyStrategy.READ_WRITE并启用查询缓存实体版本控制@Version实现乐观锁避免Open Session in View反模式
2025年-12月-13日
5 阅读
0 评论
Hibernate
2025-12-13
设计高并发场景下的微服务配置中心动态更新与回滚机制
核心解决方案要点:多级缓存架构:客户端本地缓存+服务端集群缓存,减少配置中心压力增量推送机制:采用长轮询(如Nacos)或消息总线(如Spring Cloud Bus)实现变更通知版本控制:基于Git的配置版本管理,支持按版本号/时间戳回滚灰度发布:通过配置标签路由实现分批更新熔断降级:客户端本地缓存兜底,配置获取失败时启用降级配置
2025年-12月-13日
5 阅读
0 评论
微服务架构
2025-12-13
MyBatis 多表关联查询中如何解决 N+1 问题并实现高性能延迟加载?
解决 N+1 问题的核心方案:启用全局延迟加载配置:lazyLoadingEnabled=true使用 <collection>/<association> 的 fetchType='lazy'结合 aggressiveLazyLoading=false 防止侵入式加载通过 @MapperScan 确保动态代理生效使用 BatchExecutor 批量加载优化性能
2025年-12月-13日
5 阅读
0 评论
MyBatis
2025-12-13
如何创建一个简单的TCP客户端和服务器进行通信?
实现TCP通信需要分别创建服务器端和客户端:服务器端:创建ServerSocket监听端口,通过accept()接收连接,获取输入输出流客户端:创建Socket连接服务器,获取输入输出流通信流程:客户端发送数据 → 服务器接收并回复 → 客户端读取回复关键类:java.net.ServerSocket(服务器), java.net.Socket(客户端)
2025年-12月-13日
5 阅读
0 评论
网络编程
33
34
35
36
37