自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 这三大特性,让 G1 取代了 CMS

从 JDK7 正式推出到 JDK9 成为默认的垃圾收集器,G1 回收器用了两代人的时间打败了 CMS 回收器。从 G1 回收器的实现来看,其开创性的化整为零的 Region 设计思想,无疑是其打败 CMS 回收器的秘诀。通过该设计思想,G1 回收器得以更加灵活地控制 GC 停顿时间,同时也可以实现更加高效、复杂的功能,例如:根据回收空间和耗时选择最佳的回收 Region、预测 GC 停顿时间等。...

2022-08-29 10:08:37 177 1

原创 服务器宕机了,Kafka 消息会丢失吗?

大家好,我是树哥。消息队列可谓是高并发下的必备中间件了,而 Kafka 作为其中的佼佼者,经常被我们使用到各种各样的场景下。随着 Kafka 而来得,还有三个问题:消息丢失、消息重复、消息顺序。今天,树哥带大家聊聊消息丢失的问题。文章思维导图回到标题提出的问题:我们是否真的能保证 Kafka 消息不丢失?答案是:我们无法保证 Kafka 消息不丢失,只能保证某种程度下,消息不丢失。这里所说的某些情况,从严重程度依次为:Kafka 宕机、服务器宕机、机房地震、城市毁灭、地球毁灭。不要觉得树哥在危言耸听,如果你

2022-07-11 10:50:52 150

原创 Java 内存模型,或许应该这么理解

 大家好,我是树哥。在前面一段时间,我连续写了几篇关于并发编程的文章:从 CPU 讲起,深入理解 Java 内存模型! - 陈树义的博客深入理解 happens-before 原则 - 陈树义的博客深入理解 synchronized 的锁优化 - 陈树义的博客深入理解 Java 对象的内存布局 - 陈树义的博客深入理解 volatile 关键字 - 陈树义的博客这几篇文章分别讲了 Java 内存模型、happens-before 原则、volatile 关键字、synchronized 关

2022-07-07 10:45:04 89

原创 深入理解 Java 对象的内存布局

对于 Java 虚拟机,我们都知道其内存区域划分成:堆、方法区、虚拟机栈等区域。但一个对象在 Java 虚拟机中是怎样存储的,相信很少人会比较清楚地了解。Java 对象在 JVM 中的内存布局,是我们了解并发编程同步机制的基础。在 HotSpot 虚拟机中,对象在内存中存储的布局可以分为 3 块区域:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)。对象头HotSpot 虚拟机的对象头包括两部分信息,第一部分用于存储自身运行时的数据,第二部分用于存储类型指针。自身运

2022-07-06 10:39:32 86

原创 老掉牙的 synchronized 锁优化,一次给你讲清楚

我们都知道 synchronized 关键字能实现线程安全,但是你知道这背后的原理是什么吗?今天我们就来讲一讲 synchronized 实现线程同步背后的原因,以及相关的锁优化策略吧。synchronized 背后的原理synchronized 关键字经过编译之后,会在同步块的前后分别形成 monitorenter 和 monitorexit 这两个字节码指令,这两个字节码只需要一个指明一个要锁定或解锁的对象。如果 Java 程序中指明了对象参数,那么就用这个对象作为锁。如果没有指定,那么就根据 sync

2022-07-05 22:33:13 283

原创 从 CPU 讲起,深入理解 Java 内存模型

Java 内存模型,许多人会错误地理解成 JVM 的内存模型。但实际上,这两者是完全不同的东西。Java 内存模型定义了 Java 语言如何与内存进行交互,具体地说是 Java 语言运行时的变量,如何与我们的硬件内存进行交互的。而 JVM 内存模型,指的是 JVM 内存是如何划分的。Java 内存模型是并发编程的基础,只有对 Java 内存模型理解较为透彻,我们才能避免一些错误地理解。Java 中一些高级的特性,也建立在 Java 内存模型的基础上,例如:volatile 关键字。为了让大家能明白 Java

2022-07-05 22:24:55 70

原创 学 JVM 到底有啥用?这是我见过最接地气的答案

最接地气的 JVM 学习教程!

2022-05-23 09:21:04 245 1

空空如也

空空如也

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

TA关注的人

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