自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (10)
  • 收藏
  • 关注

原创 ArrayList和 LinkedList的底层存储结构有何差异?

​​维度​​​​​​数据结构动态数组(连续内存)双向链表(离散节点)内存连续性✅ 连续❌ 非连续节点结构仅存储元素元素 + 双指针内存占用低(无额外指针)高(每个节点含指针开销)随机访问模式直接计算地址(O(1))顺序遍历(O(n))💎 ​​设计哲学​​​ 以空间换时间,​​牺牲扩容成本​​换取高效随机访问;​​以指针换灵活性,​​牺牲连续性和内存​​换取动态增删的高效。实际选择需结合具体操作频率(读/写、头/尾/中间)和数据规模,例如高并发队列场景中,

2025-08-11 15:23:26 605

原创 静态方法能否直接访问非静态成员变量?

静态方法​​。

2025-08-11 15:21:02 657

原创 构造方法能否被重写(Override)?为什么?

在 Java 中,​​。

2025-08-11 15:16:54 1031

原创 final关键字修饰变量、方法和类时分别起什么作用?​​

​​修饰对象​​​​核心作用​​​​是否可修改​​​​典型场景​​​​变量​​值/引用仅赋值一次基本类型值不可变;引用类型地址不可变常量配置(如​​方法​​禁止子类重写可继承,不可重写核心算法、框架关键逻辑​​类​​禁止继承不可有子类不可变类(如String。

2025-08-11 15:13:57 1053

原创 Java 基本数据类型有哪些?引用类型和基本类型的区别?

Java 的数据类型分为​​基本数据类型​​(Primitive Data Types)和​​引用数据类型​​(Reference Data Types),两者在存储方式、行为特性和使用场景上有本质区别。以下是详细说明:基本数据类型是 Java 内置的简单数据类型,直接存储数据值,分为四类:引用类型指向对象的内存地址(引用),而非直接存储数据。包括:​​示例​​:⚖️ ​​三、基本类型 vs 引用类型的核心区别​​ ​​特性​​ ​​基本类型​​ ​​引用类型​​

2025-08-11 15:11:52 696

原创 方法句柄(MethodHandle)与反射的性能差异根源是什么?

方法句柄()与反射(Reflection)在 Java 中均支持动态方法调用,但性能差异显著。

2025-08-08 16:18:38 694

原创 Java 21虚拟线程(Virtual Thread)的Carrier Thread调度机制是什么?

Carrier Thread 调度机制通过 ​​M:N 映射模型​​(大量虚拟线程 → 少量载体线程)和 ​​协作式挂起/恢复​​,解决了传统线程在高并发场景的资源瓶颈。​​阻塞操作零成本​​:载体线程即时释放,避免资源浪费;​​自动化调度​​:JVM 管理虚拟线程生命周期,开发者仅需替换线程池(如​​兼容性与调优灵活​​:支持与传统 API 集成,并通过参数优化适配不同硬件场景。未来随着同步机制的进一步优化(如JEP 491。

2025-08-08 16:16:57 1073

原创 偏向锁(Biased Locking)在Java 15后被默认禁用,如何通过-XX:+UseBiasedLocking启用?

通过可临时启用偏向锁,但需严格限制于单线程主导场景,并辅以性能监控。长期而言,遵循 JVM 默认配置并优化同步策略(无锁/显式锁)是更可持续的方案。

2025-08-08 16:15:42 524

原创 如何通过-Djava.util.concurrent.ForkJoinPool.common.parallelism优化默认线程池?

​​评估需求​​:区分任务是 CPU 密集型还是 IO 密集型。​​设置参数​​:CPU 密集型 → 并行度 = 物理核心数;IO 密集型 → 并行度 = 核心数 × 2(需压测验证)。​​容器环境​​:根据 cgroup 的 CPU 配额动态计算并行度。​​关键业务隔离​​:避免使用公共池,改用自定义或搭配独立线程池。📌 ​​性能验证工具​;(高窃取次数说明负载均衡有效)。CPU核心数。

2025-08-08 16:14:33 650

原创 如何通过Saga事务模式保证分布式事务的最终一致性?

Saga模式是一种通过​​实现分布式系统最终一致性的设计模式,特别适用于跨微服务的​​(如电商下单、旅行预订)。其核心原理是将全局事务拆解为多个本地事务,通过正向操作链和逆向补偿链确保数据最终一致。

2025-08-08 16:13:02 934

原创 Redis分布式锁在集群故障切换时如何避免锁失效?

在Redis集群环境中,主从切换时可能因异步复制导致分布式锁失效(如主节点写入锁后未同步即宕机,新主节点无锁数据),破坏互斥性。

2025-08-08 15:45:44 806

原创 逃逸分析如何实现栈上分配?

逃逸分析通过​​静态作用域判定​​,将不逃逸对象分配至栈帧,结合​​标量替换​​彻底消除对象结构,实现零GC开销的内存管理。其性能优势在​​高频率创建短生命周期对象​​的场景(如循环体内临时对象)尤为显著。然而,实际效果受对象大小、代码模式及JVM配置制约。开发者可通过编写​​局部化代码​​(避免跨方法/线程暴露对象)最大化利用此优化,并通过日志验证分析结果。​​阶段​​​​核心任务​​​​实现机制​​​​逃逸判定​​分析对象是否逃逸出方法或线程引用传播分析、上下文敏感分析、线程逃逸检测​。

2025-08-08 15:33:30 916

原创 G1收集器的混合GC(Mixed GC)触发条件是什么?

​共同作用的结果,旨在通过增量回收兼顾低停顿与老年代垃圾清理。合理调优IHOP、停顿目标及回收策略,可显著减少Full GC风险,尤其适用于大堆内存(≥6GB)的低延迟场景。Mixed GC的触发是​。

2025-08-08 15:30:09 866

原创 StampedLock的乐观读锁在哪些场景下优于ReentrantReadWriteLock?如何避免ABA问题?

StampedLock 的乐观读锁(Optimistic Read)在特定高并发场景下相比有显著优势,但其无锁机制可能引发 ABA 问题。

2025-08-08 15:26:35 485

原创 如何通过jstack定位线程池中因任务堆积导致的线程饥饿问题?需分析哪些关键指标?

通过jstack定位线程池因任务堆积导致的线程饥饿问题,需结合线程状态、锁信息、任务队列及线程行为进行综合分析。

2025-08-08 15:24:37 926 1

ArrayList和 LinkedList的底层存储结构有何差异?

ArrayList和 LinkedList的底层存储结构有何差异?

2025-08-11

静态方法能否直接访问非静态成员变量?

静态方法能否直接访问非静态成员变量?

2025-08-11

构造方法能否被重写(Override)?为什么?

构造方法能否被重写(Override)?为什么?

2025-08-11

final关键字修饰变量、方法和类时分别起什么作用?​​

final关键字修饰变量、方法和类时分别起什么作用?​​

2025-08-11

Java 基本数据类型有哪些?引用类型和基本类型的区别?

Java 基本数据类型有哪些?引用类型和基本类型的区别?

2025-08-11

如何通过-Djava.util.concurrent.ForkJoinPool.common优化默认线程池?

如何通过-Djava.util.concurrent.ForkJoinPool.common优化默认线程池?

2025-08-08

Java 21虚拟线程(Virtual Thread)的Carrier Thread调度机制是什么?

Java 21虚拟线程(Virtual Thread)的Carrier Thread调度机制是什么?

2025-08-08

方法句柄(MethodHandle)与反射的性能差异根源是什么?

方法句柄(MethodHandle)与反射的性能差异根源是什么?

2025-08-08

逃逸分析如何实现栈上分配?

逃逸分析如何实现栈上分配?

2025-08-08

如何通过jstack定位线程池中因任务堆积导致的线程饥饿问题?需分析哪些关键指标?

如何通过jstack定位线程池中因任务堆积导致的线程饥饿问题?需分析哪些关键指标?

2025-08-08

偏向锁(Biased Locking)在Java 15后被默认禁用,如何通过-XX:+UseBiasedLocking启用?

偏向锁(Biased Locking)在Java 15后被默认禁用,如何通过-XX:+UseBiasedLocking启用?

2025-08-08

如何通过Saga事务模式保证分布式事务的最终一致性?

如何通过Saga事务模式保证分布式事务的最终一致性?

2025-08-08

Redis分布式锁在集群故障切换时如何避免锁失效?

Redis分布式锁在集群故障切换时如何避免锁失效?

2025-08-08

G1收集器的混合GC(Mixed GC)触发条件是什么?

G1收集器的混合GC(Mixed GC)触发条件是什么?

2025-08-08

StampedLock的乐观读锁在哪些场景下优于ReentrantReadWriteLock?如何避免ABA问题?

StampedLock的乐观读锁在哪些场景下优于ReentrantReadWriteLock?如何避免ABA问题?

2025-08-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除