本文会持续更新,主要记录在学习jvm过程中个各种为什么的思考,不会系统形成文章
1、jvm中jmm中对堆栈进行才分的初衷是什么?
2、其中内存管理模型是怎样的,内存的本质是什么?
3、堆栈的设计区别,为什么考虑这样设计,这样的设计能够带来哪些好处,有没有可能使用其他的方式来设计?
4、jmm 按照方法区,内存堆,栈,其中栈包含虚拟栈,本地方法栈和程序计数器,那么我们知道方法区存储class文件的meta信息,描述信息,常量,静态变量这些(这里其实也是一个堆)对于方法区的堆是否会回收呢,或者是怎么回收的?
5、我门知道jvm设计的初衷是想做一次编译到处运行,那么基于各种硬件设备,其指令的实现方式都不一样,那么jvm是怎么处理这多个环境的,笼统的来讲,是使用jvm来做,那么具体是怎么设计解决这些问题呢,查看一些资料,我们找到一些信息是说在栈区,使用栈帧的来统一适配各种系统或者硬件环境转换和适配,而不是直接使用指令寄存器的指令,这样会导致一个指令,java需要编译成多个指令,那么这些考虑是怎么设计的?
网友评论