jvm学习哪些方面
一、内存结构
1.程序计数器
定义:Program Counter Registry 程序计数器(寄存器),作用是记住下一条jvm指令的执行地址。 特点是不会出现内存溢出,线程私有。
如:
上图中左侧是机器能识别的指令。
2.虚拟机栈
java virtual machine stacks (java虚拟机栈)
- 每个线程运行时所需要的内存,成为虚拟机栈
- 每个栈由多个栈帧(frame)组成,对应着每次方法调用时所占用的内存
- 每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法
问题辨析:
- 垃圾回收是否涉及栈内存
垃圾回收不涉及栈内存,栈内存中只不过是一次次的方法调用,垃圾回收回收的堆内存中不要的对象。
- 栈内存是分配的越多越好吗?
不是