logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

第14篇:JVM参数调优实战——从GC日志到参数调整

本文是JVM参数调优实战指南,重点讲解如何通过GC日志分析优化JVM性能。首先介绍了开启GC日志的必要性和详细参数配置,包括JDK8及更高版本的日志格式设置。然后通过MinorGC和FullGC的日志实例,详细解读了各字段含义,帮助读者掌握日志分析方法。文章还解析了对象年龄分布日志和常见GC模式特征,为实际调优提供判断依据。最后给出了生产环境推荐的完整GC日志配置方案,为后续JVM调优实战奠定基础

文章图片
#jvm
Synchronized 与 ReentrantLock 深度对比

在Java并发编程中,锁机制是保证线程安全的核心手段。和是两种最常用的锁实现,面试中经常被要求对比它们的区别。本文将深入分析两者的底层原理、功能特性、性能差异以及各自的适用场景。答:可重入锁指同一个线程可以多次获取同一把锁,不会造成死锁。这在递归调用、嵌套同步场景中非常必要。维度结论简单场景用 synchronized,代码简洁、安全高级功能需求用 ReentrantLock,灵活可控性能JDK

第一篇:Java基础概念四连问,==与equals、hashCode约定、接口vs抽象类、深拷贝vs浅拷贝

本文深入解析Java面试中的三个基础核心概念: ==与equals()的区别:==比较内存地址,用于基本类型和引用类型;equals()默认比较地址,但可重写为内容比较,如String类。 hashCode()与equals()的约定:若equals()返回true,则hashCode()必须相同,否则会导致HashMap等集合工作异常。 接口与抽象类的区别:抽象类表示is-a关系,可包含构造方法

#java#开发语言
JWT + Redis 双 Token 机制:从原理到实战

本文提出了一套完整的AccessToken + RefreshToken双令牌解决方案,通过短期有效的AccessToken(15分钟)和长期有效的RefreshToken(7天)协同工作,解决了传统单Token方案的安全性与用户体验矛盾问题。系统采用JWT + Redis技术栈,支持Token自动续期和黑名单机制,包含登录验证、Token刷新、安全旋转等核心流程,并提供了Spring Boot实

文章图片
#redis#数据库#缓存
第四篇:多级缓存架构——Caffeine + Redis + MySQL 三级协同

单级Redis的瓶颈在热点Key集中、网络开销和雪崩风险,Caffeine本地缓存解决这两个问题读写分离是缓存设计的首要原则:扣减库存的写操作不走缓存,直接穿透到Redis;查询接口才走L1→L2→L3三级缓存Caffeine的W-TinyLFU算法在时间和频率之间取得最优平衡,读QPS达30万+三级缓存数据流转:L1(Caffeine 3-30s) → L2(Redis 5min) → L3(M

#java
第二篇:Spring AOP——动态代理与切面编程的底层原理

Spring AOP通过动态代理技术解决OOP难以处理的横切关注点问题(如日志、权限、事务)。它采用JDK动态代理(基于接口)或CGLIB(基于继承)在运行时生成代理对象,将横切逻辑与核心业务分离。核心概念包括:切面(Aspect)封装横切逻辑,切点(Pointcut)定义拦截规则,通知(Advice)指定增强时机,连接点(JoinPoint)表示可拦截点。Spring Boot 2.x默认使用C

#spring#代理模式
第一篇:Spring IoC容器——控制反转的本质与Bean的生命周期

Spring IoC核心机制解析控制反转(IoC)将对象创建权交给容器,依赖注入(DI)实现解耦,推荐构造器注入方式。容器选择上,ApplicationContext比BeanFactory功能更全面,适合实际开发场景。Bean生命周期包含实例化、属性赋值、初始化、销毁四个阶段,每个阶段都提供扩展点。循环依赖通过三级缓存解决单例Bean问题,但构造器注入导致的循环依赖无法处理。

#spring
第1篇:Java内存模型(JMM)与volatile——并发编程的基石

本文深入解析了Java内存模型(JMM)的核心概念及其在并发编程中的应用。主要内容包括: JMM与JVM内存结构的区别:JMM是抽象的并发模型,关注线程间共享变量的可见性和有序性;JVM内存结构是物理内存划分。 可见性问题的本质:源于CPU多级缓存架构,JMM将其抽象为"主内存"和"本地内存"模型。不加volatile时,线程修改可能只存在于CPU缓存而不立

#java
第八篇:Spring与微服务——从SpringBoot到SpringCloud的演进

本文探讨了从单体架构到微服务的演进过程,分析了Nacos、Sentinel和Gateway三大微服务核心组件的作用。Nacos作为注册中心和配置中心,解决了服务发现和配置管理问题;Sentinel通过限流、熔断和降级机制保障系统稳定性;Gateway作为统一入口,提供路由和过滤功能。文章还对比了单体与微服务的优缺点,指出微服务适合中大型系统,但初期需权衡开发效率与运维复杂度。最后强调微服务架构需要

#spring#微服务#spring boot +2
AI辅助编程的边界——Cursor实战与工程判断力

AI辅助开发实践显示,大模型可快速完成60%基础代码实现(如1小时搭建推理网关),但存在边界条件缺失、异常处理不足等三大风险。开发者需聚焦架构设计与核心逻辑,AI更适合处理文档、脚本等非关键代码。核心竞争力转向问题定义能力、技术决策判断及代码审查力。未来开发者角色将向技术决策者升级,而非被取代。

#人工智能#AI
    共 43 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择