Java内存区域略解

概览

分述

程序计数器

用于记录该线程的执行位置,便于跳转或者线程中断后的恢复

方法区

Java虚拟机规范中把
原本用于存储常量,静态变量和类的元信息,但java1.7将字符串常量移到了堆中,java8又将剩下的东西移到了元空间中
注意 由于HotSpot早期的垃圾收集策略,方法区有时候也被称做永久代

虚拟机栈

如果将Java的内存笼统的分为堆或者栈的话,栈就是指这里的虚拟机栈了

本地方法栈

与虚拟机栈有着相同的功能,但对象是本地方法

用于存储对象实例,几乎所有的数组和对象都分布在堆中.
在堆中分配对象时,为了增强效率,会采用TLAB方法,给每一个线程分配一个线程私有的缓冲区,对象就先在缓冲区内部分配空间

posted @ 2021-03-13 17:14  茕祇  阅读(43)  评论(0编辑  收藏  举报