JVM

GraalVM 21 发布,引入使用 Java 开发的虚拟机
GraalVM 21.0 主版本发布了,包含了一个新组件 Java on Truffle,该组件提供了一个用 Java 开发的 Java 虚拟机 (JVM)。

深入理解 JVM 中的类加载机制
现如今,各种 IDE 越来越智能,我们程序员的日常开发基本上都是在 IDE 上完成的,它可以帮助我们将更多的注意力放在实际的业务处理中,随着这种安逸的编码生活的持续,我们慢慢也就忘记了代码运行的底层原理。如果不学习,好像也没啥问题,毕竟我们的关注重点是代

java import 导入包时,我们需要注意什么呢?
java 的`import`是类导入声明,不会将文件写入到编译后的 class 文件中;java 的`import`有两种导入方式:单类型导入、按需类型导入;按需类型导入只会在编译过程中有性能损失,在运行期与单类型导入无差别;JDK 源码中,大部分使用了单类型导入。

Java 1.0 已经 25 岁了,你使用的第一个 Java 版本是什么?| 欢迎评论
1996 年 1 月 23 日,Sun 微系统公司宣布推出 Java 1.0,这是一种面向对象且平台无关的编程语言。它作为一种可用于多种平台的免费编程语言和编译器而发布,再加上它嵌入在当时流行的 Web 浏览器中,让 Java 走向了世界。

Java 并发编程:AQS 的原子性如何保证
当我们研究 AQS 框架时 (对于 AQS 不太熟知可以先阅读《什么是 JDK 内置并发框架 AQS》,会发现 AbstractQueuedSynchronizer 这个类很多地方都使用了 CAS 操作。在并发实现中 CAS 操作必须具备原子性,而且是硬件级别的原子性。我们知道 Java 被隔离在硬件之上,硬件级别的操

NO.001- 简说 Java 并发编程史
这篇文章是 Java 并发编程思想系列的第一篇,主要从理解 Java 并发编程历史的原因和 Java 并发演进过程两部分,以极简地回溯并发编程的历史,帮助大家从历史这个角度去了解一门语言一个特性的演进。对历史理解的越多,思考的越多,未来的方向就会更加坚定。
JVM 的艺术—JAVA 内存模型
本篇文章将进入 jvm 领域的另一个知识点,java 内存模型。彻底的了解 java 内存模型,是有必要的。只要掌握了 java 的内存模型,内存空间分为哪些区域,才能更好地理解,java 是如何创建对象以及如何分配对象的空间。对后续的 jvm 调优打下坚实的基础。而对于现在的互联

一文带你彻底了解 Java 异步编程
随着 RxJava、Reactor 等异步框架的流行,异步编程受到了越来越多的关注,尤其是在 IO 密集型的业务场景中,相比传统的同步开发模式,异步编程的优势越来越明显。

Java 赢了很多小战役,但如何赢得这场艰苦卓绝的大战争?
Java 的半年发布周期、令人兴奋的新特性为它赢得了很多小战役。然而,一场更大的战争正在逼近:浏览器战争。这是一场 Java 输不起的战争。

Java 开发利器之重试器
在平时开发中经常会遇到需要调用接口和外部服务的场景,但是有些接口服务方不能立即返回数据,而是需要处理一段时间才能返回真实的业务数据,如果没有处理完则直接返回一个中间状态的结果。





一次完整的 JVM 堆外内存泄漏故障排查记录
记录一次线上 JVM 堆外内存泄漏问题的排查过程与思路,其中夹带一些 JVM 内存分配机制以及 * 常用的 JVM 问题排查指令和工具分享 *,希望对大家有所帮助。





从实际案例聊聊 Java 应用的 GC 优化
当 Java 程序性能达不到既定目标,且其他优化手段都已经穷尽时,通常需要调整垃圾回收器来进一步提高性能,称为 GC 优化。但 GC 算法复杂,影响 GC 性能的参数众多,且参数调整又依赖于应用各自的特点,这些因素很大程度上增加了 GC 优化的难度。

JVM 源码解读之 CMS GC 触发条件
经常有同学会问,为啥我的应用 Old Gen 的使用占比没达到 CMSInitiatingOccupancyFraction 参数配置的阈值,就触发了 CMS GC,表示很莫名奇妙,不知道问题出在哪?


JVM 系列 - 第一节:JVM 简介、运行时数据区、内存分代模型
JVM 是 Java Virtual Machine(Java 虚拟机))的缩写,JVM 是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
想自己写框架?不会写 Java 注解可不行
Java 后端开发进入 spring 全家桶时代后,开发一个微服务提供简单的增删改查接口跟玩泥巴似的非常简单,一顿操作猛如虎,回头一看代码加了一堆注解:@Controller @Autowired @Value,面向注解编程变成了大家不可缺少的操作。
