静态编译:把java源文件编译成字节码文件class,这个时候class文件以静态方式存在。
类加载器:把java字节码文件加载到内存中
方法区:将字节码放到方法区作为元数据(简单名字+描述符)。
堆:对象(类的实例)
方法区和堆:运行时数据区在所有线程间共享
虚拟机栈、本地方法栈、程序计数器:运行时数据区线程私有
2、堆
(1)对于大多数应用来说,java堆是java虚拟机所管理的内存中的最大的一块
(2)java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建
(3)此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例对在这里分配内存