我猜较新版本的 java 将方法区和堆区合并为一个堆区。但这与旧版本有关。
但是 jvm加载定义声明为“查找 .class 文件并创建 Class 对象的过程”
这些是我的疑惑:
当我们运行我们的 .class 文件时,它是否首先按原样存储在方法区中?完整的 .class 文件是否刚刚转换为内存位?还是只是元数据?这个“类数据”在方法区的内存分配模式究竟是什么?
Classloader类是否使用Class类的方法来获取最终存储在方法区中的元数据?
这些 Class 对象与我们使用 new 创建的对象相同吗?我已经查看了文档,但仍然无法弄清楚 在哪个步骤中创建了 Class 对象。 .class 文件信息是否转换为元数据并保存为方法区上的 Class 对象?
我已经看过文档了。我只需要简单解释一下什么是“加载”?方法区域具有具有此元数据的类对象?或者只是整个 .class 文件的逐位信息?
编辑:我也知道“编写/运行代码”本身意味着整个文件在 RAM 上都是位格式。我想知道 RAM 上的这个特殊方法区域是只有这个副本还是完全不同。
Cats萌萌
翻翻过去那场雪
相关分类