Java .class文件是否存储在JVM内存中

use*_*415 4 java jvm

我读了JVM内存模型,并对以下内容感到困惑:

  1. JVM是否将.class实例存储在其内存中.如果是,则在哪个区域.
  2. 就像加载类一样,JVM生成机器级代码然后开始执行机器代码指令,然后只在堆上创建对象并填充方法区域.
  3. perm gen等区域存储字节代码或机器级代码?
  4. perm gen vs方法区域

我真的很感激有关该主题的任何帮助.

谢谢.

kos*_*osa 8

1).class文件将在加载时存储在permgen存储区中.

2)HEAP上的对象将在程序运行时创建,当您明确创建时,而不是在加载时.JVM编译方法'懒惰',即它发出小的存根来代替方法的编译机器代码,这将触发每个方法的编译.这意味着永远不会编译未使用的方法.

3)perm gen存储字节代码(将加载.class文件),不确定机器级代码.