专栏首页InvQ的专栏Netty 堆外内存的管理

Netty 堆外内存的管理

本篇文章我们将进入 Netty 内存管理的学习,在此之前,我们需要了解 Java 堆外内存的基本知识,因为当你在使用 Netty 时,需要时刻与堆外内存打交道。我们经常看到各类堆外内存泄漏的排查案例,堆外内存使用不当会使得应用出错、崩溃的概率变大,所以在使用堆外内存时一定要慎重,文章将带你一起认识堆外内存,并探讨如何更好地使用它。

文章目录

为什么需要堆外内存

在 Java 中对象都是在堆内分配的,通常我们说的JVM 内存也就指的堆内内存,堆内内存完全被JVM 虚拟机所管理,JVM 有自己的垃圾回收算法,对于使用者来说不必关心对象的内存如何回收。

堆外内存与堆内内存相对应,对于整个机器内存而言,除堆内内存以外部分即为堆外内存,如下图所示。堆外内存不受 JVM 虚拟机管理,直接由操作系统管理。

堆外内存和堆内内存各有利弊,这里我针对其中重要的几

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • java内存泄漏

    一般来说,内存泄漏有两种情况,一种情况如在C/C++语言中的,在堆中分配的内存在没有将其释放掉的时候,就将其所有能访问这块内存的方式都删除掉(如,指针重新赋值)...

    MickyInvQ
  • Netty 高性能内存管理设计 (1)

    Netty 作为一款高性能的网络框架,需要处理海量的字节数据,而且 Netty 默认提供了池化对象的内存分配,使用完后归还到内存池,所以一套高性能的内存管理机制...

    MickyInvQ
  • Redis数据结构和内存分配

    OBJ_ENCODING_INT:表示成数字。最多标识long的最大值,超过转为OBJ_ENCODING_RAW。 OBJ_ENCODING_RAW: str...

    MickyInvQ
  • 4 个关于Java 虚拟机内存的问题?

    JVM的内存划分中,有部分区域是线程私有的,有部分是属于整个JVM进程;有些区域会抛出OOM异常,有些则不会,了解JVM的内存区域划分以及特征,是定位线上内存问...

    芋道源码
  • 第05问:MySQL 在处理临时结果集时,内部临时表会使用多少内存?

    MySQL 在处理临时结果集(UNION 运算 / 聚合运算等)时,会用到内部临时表(internal temporary table)。

    爱可生开源社区
  • 关于JVM内存的N个问题

    JVM的内存划分中,有部分区域是线程私有的,有部分是属于整个JVM进程;有些区域会抛出OOM异常,有些则不会,了解JVM的内存区域划分以及特征,是定位线上内存问...

    Tencent JCoder
  • 关于JVM内存的N个问题

    了解JVM的内存区域划分以及特征,是定位线上内存问题的基础。那么JVM内存区域是怎么划分的呢?

    Tencent JCoder
  • 关于JVM内存的N个问题

    JVM的内存划分中,有部分区域是线程私有的,有部分是属于整个JVM进程;有些区域会抛出OOM异常,有些则不会,了解JVM的内存区域划分以及特征,是定位线上内存问...

    beifengtz
  • 计算机是如何跑起来的?

    瞬间,鸦雀无声甚至气氛一度及其尴尬。作为一个CURD男孩,写代码就是一把梭复制粘贴,那能管那么宽?仔细一想,我也是学过计算机组成原理、操作系统原理的男孩,岂能说...

    帅地
  • 【春节红包系列】一次"内存泄漏"引发的血案

    2017年末,手Q春节红包项目期间,为保障活动期间服务正常稳定,我对性能不佳的Ark Server进行了改造和重写。重编发布一段时间后,结果发现新发布的Svr的...

    后台搬砖鹅

扫码关注云+社区

领取腾讯云代金券