首页
个人开发
工作相关
搜索
登录
搜索
colo
欲买桂花同载酒
累计撰写
1828
篇文章
累计收到
0
条评论
首页
栏目
首页
个人开发
工作相关
Gradio Web UI 界面
最新文章
2025-12-13
高并发场景下如何设计支持幂等性和防重放攻击的Spring MVC接口
实现要点:使用唯一请求ID配合Redis分布式锁保证并发幂等性通过时间戳+签名机制防御重放攻击采用二级缓存策略(内存缓存+Redis)优化性能使用异步处理分离核心业务逻辑实现自动清理机制防止存储膨胀
2025年-12月-13日
18 阅读
0 评论
Spring MVC
2025-12-13
请解释Java类加载机制中的双亲委派模型及其工作过程
双亲委派模型是Java类加载的核心机制,工作过程分为三步:当类加载器收到加载请求时,先委托父加载器尝试加载若父加载器无法完成加载(搜索范围内未找到),子加载器才尝试加载所有父加载器均失败后,最终由发起请求的加载器完成加载该模型通过层级委托确保核心类库安全,避免重复加载。
2025年-12月-13日
25 阅读
0 评论
类加载机制
2025-12-13
Hibernate 中如何实现乐观锁?请描述其原理并给出示例
Hibernate 通过版本控制实现乐观锁,核心步骤:实体类添加带 @Version 注解的版本字段(推荐整型)读取数据时获取当前版本号更新时自动校验版本号:若版本匹配则更新成功并递增版本若版本不匹配抛出 OptimisticLockException需在事务中处理并发冲突
2025年-12月-13日
21 阅读
0 评论
Hibernate
2025-12-13
动态生成大量类场景下的Metaspace内存溢出问题与优化策略
解决Metaspace内存溢出的核心策略:使用-XX:MaxMetaspaceSize限制元空间上限通过自定义类加载器实现类卸载结合java.lang.ref.WeakReference管理类加载器生命周期启用-XX:+UseCompressedClassPointers压缩类指针利用jcmd <pid> GC.class_stats监控类元数据
2025年-12月-13日
17 阅读
0 评论
JVM虚拟机
2025-12-13
Spring Security中如何配置URL访问权限?
在Spring Security中配置URL访问权限的核心步骤:继承WebSecurityConfigurerAdapter创建配置类重写configure(HttpSecurity http)方法使用authorizeRequests()配合antMatchers()定义路径规则通过hasRole()、permitAll()等方法设置访问权限注意路径匹配顺序(从具体到通用)
2025年-12月-13日
18 阅读
0 评论
Spring Security
2025-12-13
双重检查锁定单例模式在Java内存模型下的线程安全问题与解决方案
双重检查锁定(DCL)实现单例模式时,需要使用volatile修饰实例变量,原因如下:防止指令重排序导致其他线程获取未初始化的对象保证实例变量的修改对所有线程立即可见避免使用同步锁带来的性能开销正确代码示例:public class Singleton { private static volatile Singleton instance; public static Singleton getInstance() { if (instance == null) { synchronized (Singleton.class) { if (instance == null) { instance = new Singleton(); } } } return instance; } }
2025年-12月-13日
23 阅读
0 评论
Java内存模型
2025-12-13
解释Hibernate中SessionFactory和Session的区别与作用
SessionFactory和Session是Hibernate的两个核心接口:SessionFactory:线程安全的重量级对象,是数据库配置的编译表示,通常整个应用只有一个实例Session:轻量级非线程安全对象,代表与数据库的一次操作会话,每次操作需新建主要区别:SessionFactory初始化后不可变,Session每次操作后需要关闭SessionFactory创建Session实例,Session负责CRUD操作SessionFactory缓存SQL语句和映射元数据,Session缓存实体对象
2025年-12月-13日
18 阅读
0 评论
Hibernate
2025-12-13
Java中如何创建并启动一个新线程?请列举两种常见方式
Java中创建线程的两种主要方式:继承Thread类:重写run()方法,创建实例后调用start()启动实现Runnable接口:实现run()方法,将实例传入Thread构造函数后调用start()启动推荐使用实现Runnable接口的方式,更符合面向对象设计原则。
2025年-12月-13日
19 阅读
0 评论
Java并发编程
2025-12-13
try-catch-finally 中 finally 块的作用和执行时机
finally 块的主要作用是确保关键清理代码(如关闭资源)一定会被执行。其核心要点包括:无论是否发生异常,finally 块都会执行在 try 或 catch 中的 return 语句之前执行最适合放置资源释放代码(如关闭文件/数据库连接)避免在 finally 中写 return 语句,可能导致异常被吞没
2025年-12月-13日
17 阅读
0 评论
异常处理
2025-12-13
设计一个高效且可扩展的延迟任务调度系统
设计一个基于Java并发工具的高效延迟任务调度系统,主要涉及以下要点:使用DelayQueue作为核心数据结构存储延迟任务自定义Delayed接口实现任务元素利用线程池(如ScheduledThreadPoolExecutor)执行任务考虑任务持久化和故障恢复机制设计优雅的关闭和任务取消逻辑
2025年-12月-13日
19 阅读
0 评论
Java并发编程
25
26
27
28
29