DynamicTp 是什么 DynamicTp 是一个基于 Java 的动态线程池框架,特性如下: 代码零侵入:我们改变了线程池以往的使用姿势,所有配置均放在配置中心,服务启动时会从配置中心拉取配置生成线程池对象放到 Spring 容器中,使用时直接从 Spring 容器中获取,对业务代码零侵入 轻量简单:使用起来极其 […]
DynamicTp 是什么 DynamicTp 是一个基于 Java 的动态线程池框架,特性如下: 代码零侵入:我们改变了线程池以往的使用姿势,所有配置均放在配置中心,服务启动时会从配置中心拉取配置生成线程池对象放到 Spring 容器中,使用时直接从 Spring 容器中获取,对业务代码零侵入 轻量简单:使用起来极其 […]
mybatis-plus-join-boot-starter是MyBatis - Plus的一个增强工具包,用于简化开发。 功能特点 简化多表操作:它是MyBatis - Plus的扩展,让开发者能更便捷地进行多表关联查询、子查询等操作,通过简洁的API满足复杂查询需求。例如,在进行多表联合查询时,无需编写大量复杂的S […]
-XX:InitialRAMPercentage 和 -XX:MaxRAMPercentage 是 Java 虚拟机(JVM)的两个参数,用于基于系统可用物理内存的百分比来动态设置堆内存的初始大小和最大大小。 参数解释 -XX:InitialRAMPercentage:此参数用来设定 JVM 堆内存的初始大小,以系统可 […]
在 Java 里,触发垃圾回收(GC)的方式多种多样: 代码层面触发 1. 调用 System.gc() 或 Runtime.getRuntime().gc() 在 Java 代码中,可以调用 System.gc() 或者 Runtime.getRuntime().gc() 方法来建议 JVM 进行垃圾回收。不过要注意 […]
今天排查线上问题的时候,执行jmap -heap 1遇见一个报错: Error: -heap option used Cannot connect to core dump or remote debug server. Use jhsdb jmap instead 这是因为在较新的 JDK 版本中,jmap 工具的一 […]
大厂(转转、携程、京东)都用分代ZGC,卡顿降低20倍,吞吐量提升4倍 案例1: 携程的要全面升级jdk21 的消息: 网上有小道一个消息说携程要全面升级jdk8到jdk21了,jdk8其实是2014年正式发布的,正式发布已经有10年的时间了。 这次升级应该跟spring boot也有关,大家都知道从spring bo […]
技术选型 要实现认证功能,很容易就会想到JWT或者session,但是两者有啥区别?各自的优缺点?应该Pick谁?夺命三连 区别 基于session和基于JWT的方式的主要区别就是用户的状态保存的位置,session是保存在服务端的,而JWT是保存在客户端的 认证流程 基于session的认证流程 用户在浏览器中输入用 […]
在 Maven 项目里,可以借助不同的方式来依赖本地的 JAR 包。下面介绍几种常见的方法: 方法一:使用 system 范围 在 pom.xml 文件中把依赖的范围设置成 system,同时指定本地 JAR 包的路径。示例如下: <dependencies> <dependency> < […]
在 Java 虚拟机(JVM)的世界里,垃圾回收器扮演着至关重要的角色,它负责自动管理内存,回收不再使用的对象所占用的内存空间,从而保证应用程序的稳定运行。随着 Java 技术的不断发展,出现了多种垃圾回收器,其中 ZGC 和 G1 备受关注。这两者在功能上有相似之处,但在实现机制、性能表现以及适用场景等方面存在着显著 […]
ZGC 即 Z Garbage Collector,是一款由 Oracle 公司开发的低延迟垃圾收集器。 特点 低延迟:能将垃圾回收导致的应用程序停顿时间控制在亚毫秒级别,通常不超过 10ms,对于对响应速度要求极高的应用,如金融交易系统、实时游戏等非常关键。 可扩展性:能适应不同规模的内存和不同数量的处理器核心,无论 […]
在生产环境中,使用Executors提供的快捷方法(如newFixedThreadPool、newCachedThreadPool等)创建线程池是不推荐的,主要原因如下: 推荐做法 建议在生产环境中使用ThreadPoolExecutor类手动创建线程池,并根据业务需求进行详细配置。例如: 通过这种方式,可以更精确地控 […]
问题 之前一直用的2021版的IDEA,最新想尝尝鲜,升级到了2024版,升级之后发现代码滚动各种不流畅。 寻找&解决 一开始以为是IDEA内存没给够,直接给了8G,重启之后发现还是不行。 接着又琢磨着是不是插件太多了,毕竟新版idea功能比老版多太多了,默认插件也是多了不少,把能禁用的全都禁用之后,发现还是不 […]
问题背景 问题是,咱们常常说:发生OOM,程序就会挂。 很多情况是:发生OOM了,JVM没有挂。 回顾一下OOM与异常 来看一下 OutOfMemoryError,说到底,OutOfMemoryError 也只是一个java中的异常而已, OutOfMemoryError 属于Error一系非检查异常, 其继承关系如下 […]
什么是内存泄漏? 不再用到的内存,没有及时释放,就叫做内存泄漏。 对于持续运行的服务进程,必须及时释放内存,否则内存占用率越来越高,轻则影响系统性能,重则导致进程崩溃。 ThreadLocal是怎么造成内存泄露的呢? 如果发生了下面的情况: 如果ThreadLocal是null了,也就是要被GC回收了, 但是此时我们的 […]
背景 据Redisson官网的介绍,Redisson是一个Java Redis客户端,与Spring 提供给我们的 RedisTemplate 工具没有本质的区别,可以把它看做是一个功能更强大的客户端(虽然官网上声称Redisson不只是一个Java Redis客户端) 我想我们用到 Redisson 最多的场景一定是 […]
你可以迷茫,但不要虚度。
COPYRIGHT © 2026 lifengdi.com. ALL RIGHTS RESERVED.