方法区
当JVM使用类装载器装载某个类时,它首先要定位对应的class文件,然后读入这个class文件,最后,JVM提取该文件的内容信息,并将这些信息存储到方法区,最后返回一个class实例。
堆
1 public class AppMain {// 运行时 jvm把类信息加入方法区 2 3 /** 4 * @param args 5 */ 6 public static void main(String[] args) {// main方法放入方法区 7 8 Sample test1 = new Sample("hello"); // test1是引用 放入栈中 new Sample("hello")对象放入堆中 9 test1.printName(); 10 11 } 12 13 } 14 15 16 class Sample { // 运行时jvm把类信息放入方法区 17 18 private String name; // new Sample()后, name 引用放入栈 name对象放入堆 19 20 public Sample(String name){ 21 this.name = name; 22 } 23 24 public void printName(){ // 方法本身放入方法区 25 System.out.println(name); 26 } 27 }