【JVM】内存划分

JVM内存空间主要划分为五块儿多线程

堆内存:存放对象等一些存活时间与大小不肯定的数据
栈内存:存放基本类型、对象引用等一些存活时间与大小肯定的数据,存取效率最高
方法区:存储了每一个类的信息(包括类的名称、方法信息、字段信息)、静态变量、常量以及编译器编译后的代码等
本地方法栈:本地方法栈与Java栈的做用和原理很是类似。区别只不过是Java栈是为执行Java方法服务的,而本地方法栈则是为执行本地方法(Native Method)服务的
程序计数器:因为在JVM中,多线程是经过线程轮流切换来得到CPU执行时间的,所以,在任一具体时刻,一个CPU的内核只会执行一条线程中的指令,所以,为了可以使得每一个线程都在线程切换后可以恢复在切换以前的程序执行位置,每一个线程都须要有本身独立的程序计数器,而且不能互相被干扰,不然就会影响到程序的正常执行次序。所以,能够这么说,程序计数器是每一个线程所私有的线程

相关文章
相关标签/搜索