博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java内存和垃圾回收
阅读量:4694 次
发布时间:2019-06-09

本文共 481 字,大约阅读时间需要 1 分钟。

Java内存大体上可以分为:本地方法区(线程共享)、Java栈(线程隔离)、本地方法栈(线程隔离)、Java堆(线程共享)、程序计数器(线程隔离)。

1、本地方法区

各个线程共享的内存区域,只要存放被虚拟机加载后的类的信息、常量、静态变量、即时编译器编译后的代码等。

2、Java栈

每个线程维护一个栈,生命周期与线程一样。当执行某个方法是,对栈的操作就是往栈中压入一个栈帧,栈帧中保存有当前方法的参数,局部变量,中间计算过程和其他数据。栈中主要放的是基本数据类型和对象的引用。

3、本地方法栈

与虚拟机栈类型,区别是里面放的是本地方法(native方法)的数据。

4、堆

堆是线程之间共享的一块区域,主要存放new出来的对象实例和数组。

堆往下细分:新生代(Eden空间、from Survivor空间、to Survivor空间)、老生代。

堆中还可能分配出线程私有的分配缓存区(Thread Local Allocation Buffer TLAB)。

转载于:https://www.cnblogs.com/huangyin/p/8644455.html

你可能感兴趣的文章
进程与线程的一个简单解释【摘】
查看>>
COJ976 WZJ的数据结构(负二十四)
查看>>
slid.es – 创建在线幻灯片和演示文稿的最佳途径
查看>>
2016年6月份那些最实用的 jQuery 插件专辑
查看>>
如何在数据库中使用索引
查看>>
ring0
查看>>
windows虚拟机下 安装docker 踩过的坑
查看>>
使用 CXF 做 webservice 简单例子
查看>>
2017-2018-1 20155339 《信息安全系统设计基础》第8周学习总结
查看>>
socket.io 消息发送
查看>>
C# 两个datatable中的数据快速比较返回交集或差集
查看>>
关于oracle样例数据库emp、dept、salgrade的mysql脚本复杂查询分析
查看>>
一些有趣的代码
查看>>
Major Performance Impacts
查看>>
读《图解HTTP》有感-(返回结果的HTTP状态码)
查看>>
操作数栈
查看>>
转:文本分类问题
查看>>
tensorflow_python中文手册
查看>>
Vs2012在Linux应用程序开发(3):加入新平台hi3516
查看>>
adb shell am 的用法
查看>>