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

作者/分享人:应书澜
向 Ta 提问
毕业于C9高校,多年研发经验,工作内容横跨嵌入式,物联网,算法,中间件;曾在阿里巴巴,上海电气,浙能集团,华为等公司重要项目中担任技术负责人和设计师,现专注于中间件技术。

关于堆内存(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. 堆外内存主动回收原理。
已有82人预订
预订达标
文章出炉
     
05月10日
05月24日
预订后,您将在05月24日之前获得一篇专享文章,您还将获得一张应书澜的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
退款保证:
• 05月14日前,预订人数未达标,您将获得全额退款。
• 作者未按时完成文章,您将获得全额退款。
你可能还喜欢
关于为何以及如何阅读源码的一点心得
追梦
从零开始,轻松打造你的聊天机器人
微软公开课
每周一个机器学习小项目001:全链接层实现与分类问题
如是
通过前端团队管理谈谈技术管理的技法与思想
常新居士
朋友圈爆款背后的计算机视觉技术与应用
AI科技大本营
为什么说 Java 程序员到了必须掌握 Spring Boot 的时候?
纯洁的微笑
量化教程 1:Python 基础
chen_h
每周一个机器学习小项目002:卷积神经网络实现与图片分类问题
如是
从架构角度来看 Java 分布式日志如何收集
张振华
领域驱动设计(DDD):如何快速入门
malaoko
Java 日志从入门到实战
JPM
分布式系统中服务降级策略探究
追梦
MyBatis 进阶:运行原理、插件、自定义类型、Cache、级联
阿福
通过源码深入理解 Spring Bean 的创建过程
零基础小白如何快速入门 Bootstrap
Nancy
微信扫描登录