首页
个人开发
工作相关
搜索
登录
搜索
colo
欲买桂花同载酒
累计撰写
1823
篇文章
累计收到
0
条评论
首页
栏目
首页
个人开发
工作相关
作者 【1】 的文章
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日
5 阅读
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日
5 阅读
0 评论
Hibernate
2025-12-13
Java中如何创建并启动一个新线程?请列举两种常见方式
Java中创建线程的两种主要方式:继承Thread类:重写run()方法,创建实例后调用start()启动实现Runnable接口:实现run()方法,将实例传入Thread构造函数后调用start()启动推荐使用实现Runnable接口的方式,更符合面向对象设计原则。
2025年-12月-13日
5 阅读
0 评论
Java并发编程
2025-12-13
try-catch-finally 中 finally 块的作用和执行时机
finally 块的主要作用是确保关键清理代码(如关闭资源)一定会被执行。其核心要点包括:无论是否发生异常,finally 块都会执行在 try 或 catch 中的 return 语句之前执行最适合放置资源释放代码(如关闭文件/数据库连接)避免在 finally 中写 return 语句,可能导致异常被吞没
2025年-12月-13日
5 阅读
0 评论
异常处理
2025-12-13
设计一个高效且可扩展的延迟任务调度系统
设计一个基于Java并发工具的高效延迟任务调度系统,主要涉及以下要点:使用DelayQueue作为核心数据结构存储延迟任务自定义Delayed接口实现任务元素利用线程池(如ScheduledThreadPoolExecutor)执行任务考虑任务持久化和故障恢复机制设计优雅的关闭和任务取消逻辑
2025年-12月-13日
5 阅读
0 评论
Java并发编程
2025-12-13
请解释Java中HashMap的工作原理,并说明如何处理哈希冲突
HashMap基于哈希表实现键值对存储,核心机制包括:使用hashCode()计算桶位置JDK 8后采用数组+链表+红黑树结构哈希冲突通过链地址法解决:链表长度≥8且数组长度≥64时,链表转红黑树红黑树节点≤6时退化为链表扩容机制:默认负载因子0.75,扩容时容量翻倍
2025年-12月-13日
5 阅读
0 评论
Java基础
2025-12-13
设计支持模块化热部署的自定义类加载器
实现要点:继承ClassLoader重写findClass()方法使用defineClass()转换字节码为Class对象破坏双亲委派:重写loadClass()优先加载本地模块实现类卸载:使用弱引用管理模块,无引用时触发GC卸载线程上下文类加载器处理SPI服务加载
2025年-12月-13日
5 阅读
0 评论
类加载机制
2025-12-13
如何设计一个高吞吐量低延迟的Java应用,包括垃圾回收器的选择和调优策略?
在高吞吐量低延迟场景下,垃圾回收器的选择和调优至关重要:推荐选择:G1 GC或ZGC/Shenandoah(针对超大堆和极低延迟)关键调优参数:设置合理堆大小(-Xms, -Xmx)调整最大GC暂停时间目标(-XX:MaxGCPauseMillis)启用并行引用处理(-XX:+ParallelRefProcEnabled)根据对象生命周期调整分代大小(G1的Young/Old Region比例)避免Full GC:通过增加堆空间、减少大对象分配、监控晋升失败等措施监控工具:使用GC日志(-Xlog:gc*)、JFR、VisualVM等持续监控
2025年-12月-13日
5 阅读
0 评论
垃圾回收机制
2025-12-13
解释微服务架构及其与单体架构的主要区别
微服务架构是一种将应用程序拆分为多个独立、松耦合的小型服务的架构风格。与单体架构的主要区别包括:架构组成:单体是单一代码库,微服务是多个独立服务部署方式:单体整体部署,微服务独立部署技术栈:单体统一技术,微服务可混合技术可扩展性:单体垂直扩展,微服务水平扩展
2025年-12月-13日
5 阅读
0 评论
微服务架构
2025-12-13
如何设计一个基于Spring Cloud Gateway的微服务统一鉴权方案?
实现统一鉴权需要结合以下核心组件:使用Spring Cloud Gateway作为API网关,统一拦截请求通过自定义GlobalFilter实现JWT令牌校验采用OAuth2资源服务器配置验证令牌有效性使用Feign拦截器传递认证信息到下游服务关键配置:spring.security.oauth2.resourceserver.jwt.issuer-uri指向授权服务器
2025年-12月-13日
5 阅读
0 评论
Spring Cloud
25
26
27
28
29