首页
个人开发
工作相关
共享
搜索
登录
搜索
colo
欲买桂花同载酒
累计撰写
1823
篇文章
累计收到
0
条评论
首页
栏目
首页
个人开发
工作相关
共享
Gradio Web UI 界面
最新文章
2025-12-5
JVM内存区域划分及常见内存溢出异常分析
JVM内存主要分为:线程私有区:程序计数器、Java虚拟机栈、本地方法栈线程共享区:堆、方法区(元空间)常见内存溢出异常:StackOverflowError:栈深度超出限制OutOfMemoryError: Java heap space:堆内存不足OutOfMemoryError: Metaspace:元空间耗尽
2025年-12月-5日
4 阅读
0 评论
JVM虚拟机
2025-12-5
Java中方法参数传递是值传递还是引用传递?请通过代码示例说明
Java中所有参数传递都是值传递:基本数据类型传递的是值的副本引用类型传递的是引用的副本(即对象地址的拷贝)方法内修改引用指向的对象会影响原对象,但重新赋值引用不会影响原引用
2025年-12月-5日
4 阅读
0 评论
Java基础
2025-12-5
Spring Cloud微服务中如何实现服务之间的安全通信?
在Spring Cloud中实现服务间安全通信的核心方案:使用OAuth2协议和JWT令牌进行认证授权通过Spring Cloud Security配置资源服务器和客户端服务间调用时在请求头携带Authorization: Bearer <token>网关层统一验证令牌有效性敏感接口配置@PreAuthorize权限控制
2025年-12月-5日
4 阅读
0 评论
Spring Cloud
2025-12-5
使用反射和自定义注解实现API权限控制
实现步骤:定义@RequiresPermission注解包含权限值在Controller方法上添加权限注解通过拦截器获取方法上的注解使用反射检查用户权限是否匹配实现权限校验逻辑核心代码:// 1. 定义注解 @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface RequiresPermission { String value(); } // 2. 拦截器反射处理 Method method = ...; if (method.isAnnotationPresent(RequiresPermission.class)) { RequiresPermission ann = method.getAnnotation(RequiresPermission.class); // 权限校验逻辑 }
2025年-12月-5日
4 阅读
0 评论
反射与注解
2025-12-5
如何诊断和解决Java应用中的内存泄漏问题?
诊断和解决Java内存泄漏的核心步骤:监控指标:通过JVM参数(-Xmx, -Xms)和工具(如JConsole)观察堆内存持续增长且Full GC后不释放堆转储分析:使用jmap -dump或jcmd GC.heap_dump生成堆转储文件,通过MAT或VisualVM分析对象引用链定位泄漏源:查找GC Roots到泄漏对象的路径,常见于:静态集合类长期持有对象未关闭的资源(连接池、流)监听器未注销ThreadLocal未清理修复策略:移除无效引用、使用弱引用、确保资源关闭、合理使用ThreadLocal
2025年-12月-5日
4 阅读
0 评论
Java性能调优
2025-12-5
如何在微服务架构中实现安全的服务间通信?
实现微服务间安全通信的核心要点:双向认证:使用mTLS确保服务身份合法性令牌传递:通过JWT传递用户上下文和权限集中式鉴权:采用OAuth2/OpenID Connect统一管理权限网络策略:配置服务网格(如Istio)实施零信任网络敏感数据保护:通信加密(TLS)和敏感字段额外加密
2025年-12月-5日
4 阅读
0 评论
微服务架构
2025-12-5
JVM内存区域划分及垃圾回收机制
JVM内存主要分为:堆(Heap):存放对象实例,GC主要区域方法区(Metaspace):存储类信息、常量池(JDK8+)虚拟机栈(JVM Stack):存储方法调用栈帧本地方法栈(Native Stack):Native方法调用程序计数器(PC Register):当前线程执行指令地址垃圾回收关键点:对象存活判定:引用计数法(有循环引用问题)、可达性分析(GC Roots追踪)常见GC算法:标记-清除(碎片问题)、复制(年轻代)、标记-整理(老年代)
2025年-12月-5日
4 阅读
0 评论
JVM虚拟机
2025-12-5
Spring Data JPA 中如何实现动态条件查询?
在Spring Data JPA中实现动态查询主要有两种方式:Specification接口:通过实现JPA Criteria API的谓词组合QueryDSL:使用类型安全的查询构建方式核心步骤:定义查询条件参数(如DTO或Map)根据参数动态构建查询谓词组合多个条件(AND/OR)执行分页/排序
2025年-12月-5日
4 阅读
0 评论
Spring Data JPA
2025-12-5
如何利用不同引用类型优化Java缓存系统?
Java提供四种引用类型帮助优化缓存:强引用:普通对象引用,不会被GC回收软引用(SoftReference):内存不足时回收,适合缓存图片等弱引用(WeakReference):下次GC时立即回收虚引用(PhantomReference):对象回收跟踪机制最佳实践:内存敏感缓存应使用SoftReference配合LRU策略,通过ReferenceQueue清理失效引用。
2025年-12月-5日
4 阅读
0 评论
垃圾回收机制
2025-12-5
设计一个线程安全的LRU缓存
实现线程安全的LRU缓存需要:继承LinkedHashMap并重写removeEldestEntry方法实现LRU淘汰策略使用ReentrantReadWriteLock保证线程安全:写操作使用写锁(独占锁)读操作使用读锁(共享锁)设置合理的初始容量和负载因子避免频繁扩容
2025年-12月-5日
4 阅读
0 评论
Java集合框架
177
178
179
180
181