作为 Java 开发者,你需要了解的堆外内存知识

作者/分享人:应书澜
向 Ta 提问
毕业于C9高校,硕士学历,曾在IEEE ITS、VSD等Top期刊发表论文。多年研发经验,擅长嵌入式、物联网相关技术,预测算法,分布式中间件,精通Java、Python及C语言;曾在华为、阿里巴巴,上海电气,浙能集团等公司重要项目中担任技术负责人或核心研发成员,现专注于中间件技术。

关于堆内存(Heap),相信作为 Java 开发者的你已经早有耳闻,但是,你了解堆外内存(Off Heap)吗?

堆内存完全由 JVM 负责分配和释放,如果程序存在缺陷,有可能导致内存泄漏而溢出,抛出 OOM 异常: java.lang.OutOfMemoryError。

除了堆内存,Java 还可以使用堆外内存,也称直接内存(Direct Memory)。顾名思义,堆外内存是在 JVM Heap 之外分配的内存块,并不是 JVM 规范中定义的内存区域。

堆外内存可直接分配和释放,减少 GC 暂停时间,提高效率;可扩展,支持进程间共享,节省堆内存到堆外内存的拷贝等特点。如果程序存在缺陷,同样有可能导致堆外内存泄漏而溢出:OutOfDirectMemoryError。

作为 Java 开发者,堆外内存不应该成为你的盲点,本场 Chat 值得一看。

本场 Chat 您将学到以下内容:

  1. 什么是堆外内存?
  2. 堆外内存额度控制
  3. 堆外内存创建过程原理解读
  4. JVM GC 机制回收堆外内存原理。
  5. 堆外内存主动回收原理。
已有186人预订
预订达标
文章出炉
     
05月10日
05月24日
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张应书澜的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
你可能还喜欢
如何设计一个灵活的 MySQL 数据表,应对灵活多变的需求
李岩
Jenkins 自动化构建部署实战
火币集团研发中心
Java 程序员应掌握的 Nginx 实战应用
JPM
带你玩转 JSON
能量架构师
Python Pandas 做数据分析之玩转 Excel 报表分析
WinterLeo
小程序从入门到进阶
loonglong
实战剖析 Java 秒杀系统的实现
虎口脱险
从零搭建 Hadoop 集群
杨爵爷
实战讲解接口自动化测试思路
金刚
Java 并发面试题解
Eric Chen
一篇文章读懂 MySQL 中的锁
张宏杰
成功微服务实施的技术演进
顾宇
电商项目可扩展性数据库设计与实现
丹丹
Linux 脚本攻略一(基础知识点)
无人驾驶
从 Word Embedding 到 Bert:一起肢解 Bert!
武博士
微信扫描登录