首页
个人开发
工作相关
搜索
登录
搜索
colo
欲买桂花同载酒
累计撰写
1828
篇文章
累计收到
0
条评论
首页
栏目
首页
个人开发
工作相关
作者 【1】 的文章
2025-12-5
如何在微服务架构中实现安全的服务间通信?
实现微服务间安全通信的核心要点:双向认证:使用mTLS确保服务身份合法性令牌传递:通过JWT传递用户上下文和权限集中式鉴权:采用OAuth2/OpenID Connect统一管理权限网络策略:配置服务网格(如Istio)实施零信任网络敏感数据保护:通信加密(TLS)和敏感字段额外加密
2025年-12月-5日
17 阅读
0 评论
微服务架构
2025-12-5
JVM内存区域划分及垃圾回收机制
JVM内存主要分为:堆(Heap):存放对象实例,GC主要区域方法区(Metaspace):存储类信息、常量池(JDK8+)虚拟机栈(JVM Stack):存储方法调用栈帧本地方法栈(Native Stack):Native方法调用程序计数器(PC Register):当前线程执行指令地址垃圾回收关键点:对象存活判定:引用计数法(有循环引用问题)、可达性分析(GC Roots追踪)常见GC算法:标记-清除(碎片问题)、复制(年轻代)、标记-整理(老年代)
2025年-12月-5日
18 阅读
0 评论
JVM虚拟机
2025-12-5
Spring Data JPA 中如何实现动态条件查询?
在Spring Data JPA中实现动态查询主要有两种方式:Specification接口:通过实现JPA Criteria API的谓词组合QueryDSL:使用类型安全的查询构建方式核心步骤:定义查询条件参数(如DTO或Map)根据参数动态构建查询谓词组合多个条件(AND/OR)执行分页/排序
2025年-12月-5日
18 阅读
0 评论
Spring Data JPA
2025-12-5
如何利用不同引用类型优化Java缓存系统?
Java提供四种引用类型帮助优化缓存:强引用:普通对象引用,不会被GC回收软引用(SoftReference):内存不足时回收,适合缓存图片等弱引用(WeakReference):下次GC时立即回收虚引用(PhantomReference):对象回收跟踪机制最佳实践:内存敏感缓存应使用SoftReference配合LRU策略,通过ReferenceQueue清理失效引用。
2025年-12月-5日
23 阅读
0 评论
垃圾回收机制
2025-12-5
设计一个线程安全的LRU缓存
实现线程安全的LRU缓存需要:继承LinkedHashMap并重写removeEldestEntry方法实现LRU淘汰策略使用ReentrantReadWriteLock保证线程安全:写操作使用写锁(独占锁)读操作使用读锁(共享锁)设置合理的初始容量和负载因子避免频繁扩容
2025年-12月-5日
22 阅读
0 评论
Java集合框架
2025-12-5
线程池实现多线程计算平方和及异常处理
实现要点:使用ThreadPoolExecutor自定义线程池,避免Executors的潜在问题通过Callable定义计算任务,返回Future获取结果将大任务拆分为多个子任务(如按区间拆分)使用Future.get()捕获ExecutionException处理计算异常确保finally块中关闭线程池
2025年-12月-5日
20 阅读
0 评论
多线程与线程池
2025-12-5
文件读取中的异常处理与资源管理
正确处理文件读取异常的关键点:使用 try-with-resources 确保资源自动关闭区分检查型异常(IOException)和非检查型异常合理处理多种异常类型(文件不存在、读取错误等)避免在 finally 块中抛出异常提供有意义的错误信息
2025年-12月-5日
22 阅读
0 评论
异常处理
2025-12-5
Hibernate中get()和load()方法的区别及使用场景
核心区别:get()立即查询数据库,返回实体对象或nullload()返回代理对象,访问非ID属性时触发查询(延迟加载)使用场景:需立即访问数据 → 用get()仅需关联对象引用 → 用load()
2025年-12月-5日
23 阅读
0 评论
Hibernate
2025-12-5
设计一个线程安全的计数器,支持高并发自增和获取当前值
实现线程安全计数器的核心方案:使用AtomicLong或LongAdder(JDK8+)实现原子操作避免使用synchronized或volatile+锁的原始方案高并发场景优先选择LongAdder减少竞争获取最终值时注意调用sum()方法合并单元格
2025年-12月-5日
22 阅读
0 评论
Java并发编程
2025-12-5
MyBatis中#{}和${}的区别及防止SQL注入的最佳实践
核心区别:#{}:预编译处理,自动添加单引号防止SQL注入${}:字符串直接替换,存在SQL注入风险最佳实践:普通参数值必须使用#{}占位符动态表名/列名等无法预编译的场景才使用${},并需严格校验参数永远不要用${}处理用户输入值
2025年-12月-5日
38 阅读
0 评论
MyBatis
178
179
180
181
182