jvm十万个为什么

本文会持续更新,主要记录在学习jvm过程中个各种为什么的思考,不会系统形成文章

1、jvm中jmm中对堆栈进行才分的初衷是什么?

2、其中内存管理模型是怎样的,内存的本质是什么?

3、堆栈的设计区别,为什么考虑这样设计,这样的设计能够带来哪些好处,有没有可能使用其他的方式来设计?

4、jmm 按照方法区,内存堆,栈,其中栈包含虚拟栈,本地方法栈和程序计数器,那么我们知道方法区存储class文件的meta信息,描述信息,常量,静态变量这些(这里其实也是一个堆)对于方法区的堆是否会回收呢,或者是怎么回收的?

5、我门知道jvm设计的初衷是想做一次编译到处运行,那么基于各种硬件设备,其指令的实现方式都不一样,那么jvm是怎么处理这多个环境的,笼统的来讲,是使用jvm来做,那么具体是怎么设计解决这些问题呢,查看一些资料,我们找到一些信息是说在栈区,使用栈帧的来统一适配各种系统或者硬件环境转换和适配,而不是直接使用指令寄存器的指令,这样会导致一个指令,java需要编译成多个指令,那么这些考虑是怎么设计的?

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。