Java

首页 标签 Java
# Java #
关注
262334内容
深入理解JVM《ZGC:超低延迟的可扩展垃圾收集器》
ZGC是JDK 11引入、15正式发布的低延迟垃圾收集器,目标是堆大小无关的10ms内停顿。其核心通过“着色指针”和“读屏障”实现标记与重定位的并发执行,极大减少STW时间,适用于大内存、高实时场景,虽有CPU开销但吞吐影响小,调优简单,是未来Java GC的发展方向。
深入理解JVM《垃圾收集(GC)机制与算法 - 宇宙的清洁工》
Java通过垃圾收集(GC)实现自动内存管理,避免手动释放内存导致的泄漏或崩溃。主流JVM采用可达性分析算法判断对象生死,结合分代收集理论,使用标记-清除、复制、标记-整理等算法回收内存。G1、ZGC等现代收集器进一步提升性能与停顿控制。
《数据之美》:Java数据结构与算法精要
本系列深入探讨数据结构与算法的核心原理及Java实现,涵盖线性与非线性结构、常用算法分类、复杂度分析及集合框架应用,助你提升程序效率,掌握编程底层逻辑。
深入理解JVM《CMS收集器详解》
CMS收集器以降低停顿时间为目标,通过并发标记-清除实现低延迟,适用于交互式应用。其采用三色标记法与增量更新确保并发安全,利用卡表优化重新标记效率。虽存在浮动垃圾、内存碎片及资源敏感等缺陷,且已被G1、ZGC取代,但其核心思想对现代GC仍具重要参考价值。
《聊聊线程池中线程数量》:不多不少,刚刚好的艺术
本文深入探讨Java线程池的核心参数与线程数配置策略,结合CPU密集型与I/O密集型任务特点,提供理论公式与实战示例,帮助开发者科学设定线程数,提升系统性能。
JUC系列之《深入剖析LockSupport:Java并发编程的“交警”》
LockSupport是Java并发编程的底层基石,提供park()和unpark()方法实现线程阻塞与精确唤醒。基于“许可证”机制,无需同步块、调用顺序灵活、可精准控制线程,是ReentrantLock、CountDownLatch等高级同步工具的底层支撑,堪称JUC的“手术刀”。
JUC系列之《死锁:并发编程中的「完美风暴」与破解之道》
本文深入讲解多线程编程中的死锁问题,涵盖死锁定义、四个必要条件、经典案例(如转账与哲学家就餐)、代码示例、诊断方法(jstack工具)及预防策略,帮助开发者全面理解并规避死锁,提升并发编程能力。
JUC系列之《深入理解synchronized:Java并发编程的基石 》
本文深入解析Java中synchronized关键字的使用与原理,涵盖其三种用法、底层Monitor机制、锁升级过程及JVM优化,并对比Lock差异,结合volatile应用场景,全面掌握线程安全核心知识。
JUC系列之《揭秘Java中的“瑞士军刀”——Unsafe类》
本文深入解析Java中的“后门”类sun.misc.Unsafe,揭秘其如何支撑AtomicInteger、AQS等并发工具的底层实现。涵盖其核心能力如CAS、内存操作、线程调度,剖析为何强大却危险,并介绍Java 9后的安全替代方案VarHandle,助你理解高性能并发背后的原理。
JUC系列之《并发流程控制大师:Semaphore》
Semaphore是JUC中用于控制并发访问资源数量的工具,通过“许可证”机制限制同时访问特定资源的线程数,适用于数据库连接池、限流等场景,具备公平与非公平模式,是高效管理资源并发的安全利器。(239字)
免费试用