A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 小刘同学90 中级黑马   /  2019-1-19 22:56  /  1066 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

主要分为:非堆内存+堆内存+栈内存+堆外内存
JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给自己用的
在JVM中堆之外的内存称为非堆内存(Non-heap memory)。
Java虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在Java虚拟机启动时创建的。
堆外内存:DirectMemory是java nio引入的,直接以native的方式分配内存,不受jvm管理。这种方式是为了提高网络和文件IO的效率,避免多余的内存拷贝而出现的。
栈:每个线程执行每个方法的时候都会在栈中申请一个栈帧,每个栈帧包括局部变量区和操作数栈,用于存放此次方法调用过程中的临时变量、参数和中间结果。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马