首页
个人开发
工作相关
搜索
登录
搜索
colo
欲买桂花同载酒
累计撰写
1828
篇文章
累计收到
0
条评论
首页
栏目
首页
个人开发
工作相关
作者 【1】 的文章
2025-12-13
如何设计一个线程安全的延迟初始化单例,并解释JVM层面的内存可见性与指令重排序问题
使用双重检查锁定(DCL)配合volatile关键字实现线程安全的延迟初始化单例:私有化构造方法静态volatile修饰单例实例双重null检查 + synchronized同步块关键点:volatile防止指令重排序,保证内存可见性,避免返回未完全初始化的对象。
2025年-12月-13日
18 阅读
0 评论
JVM虚拟机
2025-12-13
深入分析volatile关键字在JMM中的内存语义及其线程安全实践
核心要点:volatile保证可见性:确保所有线程看到最新值禁止指令重排序:通过内存屏障实现不保证原子性:复合操作仍需同步适用场景:状态标志、双重检查锁等模式内存屏障类型:LoadLoad/LoadStore/StoreStore/StoreLoad
2025年-12月-13日
18 阅读
0 评论
JVM虚拟机
2025-12-13
Spring MVC中如何定义一个处理HTTP GET请求的方法?
在Spring MVC中处理GET请求需要:使用@Controller或@RestController标记类在方法上添加@GetMapping注解指定URL路径方法返回值可以是视图名称(字符串)或直接响应数据
2025年-12月-13日
13 阅读
0 评论
Spring MVC
2025-12-13
如何优化Spring Data JPA中的N+1查询问题?请设计解决方案并对比不同策略的优缺点
解决N+1查询的核心策略包括:JOIN FETCH:在JPQL中显式关联加载@EntityGraph:声明式指定加载路径BatchSize:批量加载延迟关联对象DTO投影:避免加载冗余实体数据最佳实践需结合场景选择:单次查询用JOIN FETCH,复杂场景用@EntityGraph,列表分页用BatchSize+DQL投影。
2025年-12月-13日
15 阅读
0 评论
Spring Data JPA
2025-12-13
动态类生成场景下的Metaspace内存溢出分析与调优
在动态生成大量类的场景下避免Metaspace OOM的核心要点:理解卸载条件:确保ClassLoader和所有类实例都可回收配置合理参数:设置-XX:MaxMetaspaceSize并启用压缩类指针使用独立ClassLoader:为动态类创建专用类加载器便于整体卸载监控与诊断:通过JVM参数跟踪类加载/卸载情况控制类生成速率:采用类缓存池避免高频创建
2025年-12月-13日
18 阅读
0 评论
JVM虚拟机
2025-12-13
请解释 volatile 关键字在 Java 中的作用
volatile 关键字主要有两个核心作用:保证变量的内存可见性:所有线程都能立即看到该变量的最新值禁止指令重排序优化:确保代码执行顺序与程序顺序一致典型应用场景:状态标志位、双重检查锁定等
2025年-12月-13日
20 阅读
0 评论
Java内存模型
2025-12-13
设计高并发场景下的Spring MVC接口,支持10万QPS并保证数据一致性
实现高并发Spring MVC接口需综合运用以下技术:异步处理:使用DeferredResult或WebFlux释放Tomcat线程缓存优化:Redis集群缓存热点数据,布隆过滤器防穿透数据库分片:ShardingSphere分库分表+读写分离事务控制:TCC/Saga分布式事务保证最终一致性限流削峰:Sentinel限流 + Kafka异步处理连接池优化:HikariCP配置合理连接参数
2025年-12月-13日
15 阅读
0 评论
Spring MVC
2025-12-13
设计线程安全的单例模式并分析其在Java内存模型下的行为
实现线程安全单例模式的核心要点:使用volatile修饰实例变量禁止指令重排序双重检查锁定(DCL)减少同步开销私有构造器防止外部实例化静态工厂方法提供全局访问点在JMM下的关键行为:volatile保证可见性和有序性(happens-before原则)类初始化阶段由JVM保证线程安全防止空指针和部分初始化对象问题
2025年-12月-13日
22 阅读
0 评论
Java内存模型
2025-12-13
设计线程安全的延迟初始化单例模式并分析Java内存模型下的可见性问题
实现线程安全的延迟初始化单例需要:使用volatile修饰实例变量防止指令重排序采用双重检查锁定(DCL)减少同步开销私有化构造方法防止外部实例化考虑类初始化方案的替代实现核心原理:volatile通过内存屏障保证可见性和禁止重排序,解决DCL失效问题。
2025年-12月-13日
22 阅读
0 评论
Java内存模型
2025-12-13
设计高并发场景下的动态线程池监控与调优系统
实现要点:使用ThreadPoolExecutor的setCorePoolSize等方法实现参数动态调整继承ThreadPoolExecutor重写beforeExecute/afterExecute监控任务状态通过RejectedExecutionHandler实现自定义拒绝策略并记录异常使用ScheduledExecutorService定时采集线程池指标采用资源隔离策略避免任务间相互影响
2025年-12月-13日
23 阅读
0 评论
多线程与线程池
29
30
31
32
33