跨代引用:https://www.jianshu.com/p/671495682e46
符号引用包括方法名什么的都是符号引用。
---
栈:给执行的方法单独分配的内存区域是栈帧。栈先进后出。一个线程是一个栈,一个栈有很多的方法。
理解操作数栈和局部变量表:
方法的出口:方法出口存放的值就是应该返回外层的方法的行号。
---
我们执行一个方法:
参数的设置:
如何修改栈的参数?
----------
下半节课
----------
方法区:
方法区也是有指针指向堆的。
---
动态链接:首先静态的符号我们放在常量池里面。
我们去常量池去找:
执行这个方法是如何找到这个符号的?
new这个类就是math的时候,在对象头里面就有了指针了,指向指令码。找到compute,存在动态链接库。动态链接就是真正的运行到这一行的。
---
本地方法栈:native。
---
堆:
先是minor gc,老年代放满了就是full gc。
子节码引擎调用垃圾回收。
---
minor和full都会停止我们的工作。
---
gc流程:
15次放在老年代。元空间没有变化,放的是类的信息。
full gc有引用的是回收不了的。
---
双核4G的内存的分配是什么技术呢?
调优就是尽可能减少full gc。