您的位置:首页 > 其它

JVM之运行时数据区域

2017-10-18 20:26 197 查看
java虚拟机在运行的时候会把它的内存划分成很多不同的数据区域分别为方法区、虚拟机栈、本地方法栈、堆、程序计数器。

一、各个区域的介绍和功能

        程序计数器:这个区域是线程隔离的区域,每个线程都会有自己的程序计数器。不知道大家学没有学过计算机组成与原理,程序在执行的时候需要一个东西用来记录下一条指令的位置,这个和那个差不多相当于线程所执行字节码的指示器。在程序中的分支、循环、跳转、异常等等都需要程序计数器

        JAVA虚拟机栈:存放基本数据类型和对象引用以及方法执行时的栈帧的地方。同样是JAVA虚拟机栈是线程隔离的。

        本地方法栈:本地方法简单的来说就是本地方法可以是其他语言和数据结构来实现的方法

       JAVA堆:是存放对象实例和数组的地方,java堆俗称GC堆(垃圾收集管理器主要管理区域)

        方法区:存储类、常量、静态变量等数据。(刚开始看见的时候一直疑惑这个叫方法区的地方为什么不是方法的栈帧所执行动作的地方)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: