首页
个人开发
工作相关
搜索
登录
搜索
colo
欲买桂花同载酒
累计撰写
1823
篇文章
累计收到
0
条评论
首页
栏目
首页
个人开发
工作相关
Gradio Web UI 界面
最新文章
2025-12-9
如何设计高吞吐低延迟的垃圾回收策略应对电商大促场景
在高并发电商场景下实现高吞吐低延迟的GC策略需要:分代收集策略:年轻代用Parallel Scavenge保证吞吐,老年代用CMS/G1/ZGC控制延迟内存优化:增大堆内存但避免Full GC,合理设置新生代与老年代比例监控调优:使用GC日志分析停顿时间,调整-XX:MaxGCPauseMillis等参数规避陷阱:预防并发模式失败(CMS)和疏散失败(G1),避免大对象分配
2025年-12月-9日
5 阅读
0 评论
垃圾回收机制
2025-12-9
Hibernate 实体类主键生成策略配置
在 Hibernate 中配置主键生成策略的主要方式:使用 @Id 注解标记主键字段通过 @GeneratedValue 注解指定生成策略常用策略:GenerationType.IDENTITY(数据库自增)、GenerationType.SEQUENCE(序列)、GenerationType.AUTO(自动选择)示例配置:@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;
2025年-12月-9日
5 阅读
0 评论
Hibernate
2025-12-9
Spring Cloud Eureka 服务注册与发现的基本实现
在Spring Cloud微服务中实现Eureka服务注册与发现需要以下步骤:创建Eureka Server注册中心在服务提供者中添加Eureka Client依赖和配置在服务消费者中使用DiscoveryClient查找服务通过RestTemplate调用远程服务
2025年-12月-9日
5 阅读
0 评论
微服务架构
2025-12-9
实现基于注解和反射的循环依赖检测框架
实现步骤:定义@Inject注解标记依赖字段通过反射扫描类成员获取依赖关系构建有向图表示依赖关系使用拓扑排序检测循环依赖实现依赖注入和异常处理核心挑战:处理泛型类型和接口依赖避免类加载导致的性能问题正确识别构造器注入和字段注入
2025年-12月-9日
5 阅读
0 评论
反射与注解
2025-12-9
ArrayList与LinkedList的区别及适用场景
主要区别:底层结构:ArrayList基于动态数组,LinkedList基于双向链表随机访问:ArrayList效率高(O(1)),LinkedList效率低(O(n))插入删除:LinkedList头尾操作效率高(O(1)),ArrayList需要移动元素(O(n))内存占用:LinkedList每个元素需额外存储前后节点引用适用场景:优先选ArrayList(90%场景)频繁在首尾增删数据时考虑LinkedList
2025年-12月-9日
5 阅读
0 评论
Java集合框架
2025-12-9
Java垃圾回收机制基础概念与手动触发
Java垃圾回收(GC)是JVM自动管理内存的机制,主要功能:自动回收不再使用的对象占用的内存通过System.gc()建议JVM执行垃圾回收(不保证立即执行)使用可达性分析算法判断对象是否存活
2025年-12月-9日
5 阅读
0 评论
垃圾回收机制
2025-12-9
Spring框架中如何实现跨多个数据库的分布式事务一致性?
在Spring中实现跨数据库分布式事务的核心方案:使用JTA事务管理器(如Atomikos或Bitronix)替代默认的DataSourceTransactionManager通过@Transactional注解配合@JtaTransactionManager实现声明式事务配置XA兼容数据源确保两阶段提交(2PC)协议支持关键配置步骤:引入JTA依赖(如spring-boot-starter-jta-atomikos)定义多个XA DataSource和JTA事务管理器使用@Transactional标注跨库操作方法替代方案:Saga模式(补偿事务)避免2PC性能损耗
2025年-12月-9日
5 阅读
0 评论
Spring框架
2025-12-9
MyBatis 多租户架构下动态数据源切换与 SQL 改写实践
实现多租户架构需要解决两个核心问题:动态数据源路由:根据租户上下文自动切换数据源SQL 自动改写:在运行时动态添加租户隔离条件解决方案:使用 AbstractRoutingDataSource 实现动态数据源路由通过 MyBatis 插件拦截 SQL 并重写语句利用 JSqlParser 解析和修改 SQL 语法树结合 ThreadLocal 管理租户上下文
2025年-12月-9日
5 阅读
0 评论
MyBatis
2025-12-9
设计高并发任务调度器:支持优先级与超时控制
实现要点:使用PriorityBlockingQueue实现优先级任务队列自定义ThreadPoolExecutor并重写beforeExecute/afterExecute通过Future.get(timeout)实现任务超时控制采用ThreadFactory定制线程命名和守护属性使用RejectedExecutionHandler处理拒绝策略
2025年-12月-9日
5 阅读
0 评论
多线程与线程池
2025-12-9
实现一个泛型方法检查元素是否在数组中
实现步骤:定义泛型方法:<T> boolean contains(T[] array, T element)使用for-each循环遍历数组用equals()方法比较元素注意空值安全处理示例代码:public static <T> boolean contains(T[] array, T element) { if (array == null) return false; for (T item : array) { if (element == null ? item == null : element.equals(item)) return true; } return false; }
2025年-12月-9日
5 阅读
0 评论
泛型
151
152
153
154
155