首页
个人开发
工作相关
共享
搜索
登录
搜索
colo
欲买桂花同载酒
累计撰写
1823
篇文章
累计收到
0
条评论
首页
栏目
首页
个人开发
工作相关
共享
Gradio Web UI 界面
最新文章
2025-12-13
深入理解Java内存模型:volatile与synchronized在双重检测单例模式中的差异
在双重检测单例模式中,volatile关键字解决的核心问题是指令重排序导致的初始化不完整对象可见性问题:未使用volatile时,对象初始化可能被重排序为:1.分配内存 2.引用赋值 3.初始化构造,导致其他线程获取到未初始化的实例volatile通过内存屏障禁止指令重排序,保证写操作前的所有操作完成synchronized仅保证代码块内的原子性和可见性,无法防止重排序正确实现需同时使用volatile和synchronized双重检测
2025年-12月-13日
6 阅读
0 评论
Java基础
2025-12-13
如何为高并发低延迟交易系统选择和调优垃圾回收器?
在高并发低延迟场景下:首选ZGC/Shenandoah:JDK11+选择ZGC(-XX:+UseZGC)或Shenandoah(-XX:+UseShenandoahGC)实现亚毫秒级停顿关键调优参数:设置最大停顿时间目标(-XX:MaxGCPauseMillis=10),堆内存预留(-Xms==-Xmx)避免动态调整内存泄漏预防:使用-XX:NativeMemoryTracking=detail监控堆外内存,避免未释放的DirectByteBuffer监控手段:启用-Xlog:gc*=debug:file=gc.log配合JFR实时分析
2025年-12月-13日
5 阅读
0 评论
垃圾回收机制
2025-12-13
Spring MVC中@RequestMapping和@GetMapping注解的区别与用法
主要区别:@RequestMapping:通用请求映射,需手动指定HTTP方法(如method=RequestMethod.GET)@GetMapping:专门处理GET请求的快捷注解,无需指定method最佳实践:优先使用@GetMapping等专用注解简化代码复杂场景(如多方法支持)用@RequestMapping
2025年-12月-13日
5 阅读
0 评论
Spring MVC
2025-12-13
MyBatis 中如何安全高效地处理动态 IN 查询并防止 SQL 注入?
在 MyBatis 中处理动态 IN 查询需要解决三个核心问题:动态参数构建:使用 <foreach> 标签遍历集合SQL 注入防护:必须使用 #{} 预编译占位符性能优化:避免超过数据库 IN 条件限制(如 Oracle 的 1000 条限制)推荐解决方案:使用 <foreach> + #{} 构建安全查询通过分批查询解决大集合问题使用 @Param 注解明确集合名称
2025年-12月-13日
5 阅读
0 评论
MyBatis
2025-12-13
理解Java泛型中的类型擦除及其影响
Java泛型的核心机制是类型擦除:编译期间检查类型安全性运行时擦除泛型类型信息(替换为Object或边界类型)导致无法直接创建泛型数组等限制
2025年-12月-13日
5 阅读
0 评论
泛型
2025-12-13
如何设计线程安全的延迟初始化单例模式?
实现线程安全的延迟初始化单例需解决三个核心问题:指令重排序问题:使用 volatile 修饰实例变量线程竞争问题:通过双重检查锁定(DCL)减少同步开销类初始化安全性:利用静态内部类实现更优的方案推荐两种实现方式:双重检查锁定 + volatile静态内部类(Holder模式)
2025年-12月-13日
5 阅读
0 评论
Java基础
2025-12-13
Spring MVC请求处理流程解析与拦截器应用
Spring MVC请求处理的核心流程分为六个阶段:请求首先到达DispatcherServlet(前端控制器)DispatcherServlet 委托 HandlerMapping 查找处理器通过 HandlerAdapter 执行控制器方法控制器返回ModelAndView(或响应体)ViewResolver 解析视图名称视图渲染并返回响应拦截器应用要点:实现HandlerInterceptor接口的三个方法通过@ControllerAdvice实现全局异常处理控制器需保持无状态确保线程安全
2025年-12月-13日
5 阅读
0 评论
Spring MVC
2025-12-13
Spring MVC中如何创建控制器并处理GET请求
在Spring MVC中创建控制器处理GET请求的基本步骤:使用@Controller注解标记控制器类使用@GetMapping注解定义处理GET请求的方法通过方法参数注入Model对象传递数据到视图返回视图名称字符串(如Thymeleaf模板名)
2025年-12月-13日
5 阅读
0 评论
Spring MVC
2025-12-13
设计线程安全的延迟初始化方案并分析JMM原理
实现线程安全的延迟初始化需考虑:使用volatile修饰实例引用防止指令重排序结合synchronized保证原子性利用JMM的happens-before规则确保可见性典型方案:双重检查锁定(DCL)模式,需注意:JDK 5+的volatile修复了DCL问题静态内部类方案是更安全的替代方案
2025年-12月-13日
5 阅读
0 评论
Java内存模型
2025-12-13
如何配置Spring Security实现简单的表单登录保护?
配置Spring Security表单登录需要三个核心步骤:创建继承WebSecurityConfigurerAdapter的配置类重写configure(HttpSecurity http)方法使用链式调用配置:authorizeRequests()定义URL访问规则formLogin()启用表单登录logout()配置退出功能
2025年-12月-13日
5 阅读
0 评论
Spring Security
22
23
24
25
26