![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java虚拟机内存模型
正常发挥
这个作者很懒,什么都没留下…
展开
-
volatile关键字
java内存模型 CPU运行程序是把数据从硬盘拿出来,放到主内存,再把数据加载到高速缓存,真正运行程序主要和高速缓存打交道 线程会把主内存的共享变量copy一份副本到工作内存,每个线程的共享变量的值是工作内存共享变量副本的值 ...原创 2020-11-07 13:40:13 · 128 阅读 · 0 评论 -
Java虚拟机堆内存
堆内存 总600m 老年代占2/3,新生代1/3 ,新生代的eden8/10,survivor区1/10 堆内存总体分为年轻代和老年代。 年轻代又有eden区和suivivor区。suivivor区分为from区域和to区域。 堆用来存放对象,new的对象都会放入eden,eden区满了触发minor gc,字节码执行引擎执行垃圾回收,根据可达性算法回收垃圾,垃圾回收之后存活下来的对象放入from区域,对象的分代年龄+1(分代年龄存放在对象的Object Header中),from区域有对象之后(eden原创 2020-11-04 22:00:50 · 211 阅读 · 0 评论 -
Java虚拟机
java虚拟机JVM运行步骤 Java虚拟机分三个区域:运行时数据区,类装载子系统,字节码执行引擎。 运行时数据区又分为:堆/栈/本地方法栈/方法区和程序计数器 Math.java 代码如下 public int compute(){ int a =1; int b =2; int c = (a+b)*10; } public static void main(String[] args){ Math math = new Math(); math.compute(); } JVM运行步骤原创 2020-11-03 21:23:11 · 77 阅读 · 0 评论