logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

JAVA面试-并发篇 06-ReentrantLock如何实现公平锁的以及可重入吗

ReentrantLock是JUC并发包下基于AQS实现的独占锁,**支持可重入**,并提供公平锁、非公平锁两种模式。本文讲解可重入实现原理,明确公平锁获取失败后的入队规则,清晰对比两种锁的核心差异。

#java#面试#开发语言
JAVA面试-并发篇 10-为什么不推荐使用 Executors 创建线程池

Executors 是 JDK 提供的线程池工具类,虽然使用简单,但**生产环境严禁使用**。其封装的线程池存在**无界队列、无界线程、参数不可控**三大致命隐患,极易引发 OOM 崩溃和服务雪崩。本文结合具体场景说明隐患原因,并详解 ThreadPoolExecutor 核心参数与执行逻辑。

#java#面试#jvm
JAVA面试-并发篇 08-ConcurrentHashMap 线程安全原理与JDK版本区别

ConcurrentHashMap是Java并发包中高效的线程安全哈希表,解决了HashMap线程不安全、Hashtable全表锁性能低下的问题。它通过细粒度锁机制保证线程安全,JDK7与JDK8的底层实现差异显著,本文通俗讲解其安全原理和两个版本的核心区别。

#java#面试#安全
JAVA面试-JVM篇 01-CMS垃圾收集器的工作流程是什么有什么优缺点

CMS(Concurrent Mark Sweep)是JDK1.5推出的**并发低延迟老年代垃圾收集器**,核心目标是最小化GC全局停顿(STW)时间。它采用标记-清除算法,将大部分耗时操作与用户线程并发执行,仅保留必要的短暂停顿,是互联网、电商等对响应时间敏感场景的里程碑式设计。

#java#jvm#面试
JAVA面试-JVM篇 02-G1垃圾收集器的工作原理是什么与CMS的区别

G1(Garbage-First)是JDK9默认的垃圾收集器,全面取代CMS。它打破了传统分代收集的物理限制,采用**Region分区设计**,兼顾吞吐量与低延迟,支持用户设置最大停顿时间。本文讲解G1核心工作原理,并通过表格对比其与CMS的关键差异。

#java#面试#jvm
JAVA面试-JVM篇 03-JVM运行时数据区哪些是线程私有的哪些是共享的

JVM运行时数据区是Java程序运行时的内存划分方案,理解哪些区域是线程私有的、哪些是共享的,是JVM调优和故障排查的基础。本文用一张总图、两张分类流程图和一张对比表格,帮你一次性理清。

#java#面试#jvm
JAVA面试-JVM篇 08-对象在内存中的布局包含哪些部分

对象由对象头 + 实例数据 + 对齐填充三部分组成Mark Word在不同锁状态下复用存储空间,是锁升级和 GC 的基础JVM 自动字段重排序优化内存布局,减少填充浪费开启压缩指针(-XX:+UseCompressedOops)可显著减少对象头中类型指针和引用类型字段的大小。

#java#面试#jvm
JAVA面试-并发篇 03-使用synchronized doublecheck实现单例有什么坑

DCL单例模式最常见的错误是忘记使用volatile关键字,导致指令重排序引发的空指针异常。完整流程是:1) 分配内存→2) 初始化→3) 引用赋值,但JVM可能重排序为1→3→2。当线程A执行到步骤3时,instance已非null但对象未初始化,此时线程B直接获取这个半成品对象就会出错。正确写法必须用volatile修饰instance变量,禁止指令重排序。这是90%开发者容易忽略的关键点,不

#java#面试#单例模式
JAVA面试-并发篇 02-synchronized 锁可以重入吗

摘要: Java的synchronized锁具备可重入机制,允许同一线程多次获取同一把锁而避免死锁。其核心原理是通过计数器实现:加锁时计数器+1,释放时-1,归零后锁才真正释放。重量级锁通过Monitor的owner和count字段实现;轻量级锁则依赖线程栈中的锁记录链表。若无可重入,递归调用同步方法会导致线程自我阻塞。典型误区包括混淆不同线程的重入、静态/实例锁混用等。可重入机制对性能影响极小,

#java#面试
JAVA面试-并发篇 04-synchronized和ReentrantLock 的区别是什么

摘要: Java中synchronized和ReentrantLock是两种主流锁机制,核心区别如下: 实现与特性:synchronized是JVM内置关键字,自动加锁/释放,简单但功能有限;ReentrantLock是JDK类,需手动管理锁,支持公平锁、中断、超时等高级功能。 性能与场景:低竞争时synchronized更优(JDK1.6+优化后),高竞争时ReentrantLock更稳定;公平

#java#面试
    共 19 条
  • 1
  • 2
  • 请选择