Java .class文件是否存储在JVM内存中
我阅读了JVM内存模型,并对以下内容感到困惑:
- JVM是否将.class实例存储在其内存中。 如果是,则在哪个区域。
- 就像加载类一样,JVM生成机器级代码然后开始执行机器代码指令,然后只在堆上创建对象并填充方法区域。
- perm gen等区域存储字节码或机器级代码?
- perm gen vs方法区域
我真的很感激有关该主题的任何帮助。
谢谢。
1) .class
文件将在加载时存储在permgen内存区域中。
2)HEAP上的对象将在程序运行时创建,当您明确创建时,而不是加载时。 JVM编译方法’懒惰’,即它发出小的存根来代替方法的编译机器代码,这将触发每个方法的编译。 这意味着永远不会编译未使用的方法。
3)perm gen存储字节代码(将加载.class文件),不确定机器级代码。
JVM是否将.class实例存储在其内存中。如果是,则在哪个区域中
PermGen的
这个类加载后是否就像它一样
您可以在不读取.class
情况下加载类
,JVM生成机器级代码,然后开始执行机器代码指令
一段时间后,字节代码被解释或可能编译为本机机器代码。
perm gen等区域存储字节码或机器级代码?
都。 它们是不可分割的。