系列文章目录
文章目录
- 系列文章目录
- 一、简述一下JVM的内存模型
- 二、说说堆和栈的区别
- 三、什么时候会触发FullGC
一、简述一下JVM的内存模型
1.JVM内存模型简介
JVM定义了不同运行时数据区,他们是用来执行应用程序的。某些区域随着JVM启动及销毁,另外一
些区域的数据是线程性独立的,随着线程创建和销毁。jvm内存模型总体架构图如下:(摘自oracle
官方网站)
JVM在执行Java程序时,会把它管理的内存划分为若干个的区域,每个区域都有自己的用途和创建
销毁时间。如下图所示,可以分为两大部分,线程私有区和共享区。下图是根据自己理解画的一个
JVM内存模型架构图:
JVM内存分为线程私有区和线程共享区
线程私有区
1、程序计数器
当同时进行的线程数超过CPU数或其内核数时,就要通过时间片轮询分派CPU的时间资源,不免发
生线程切换。这时