什么是jvm运行时数据区(runtime area)?就是jvm对申请的内存的划分和分配
那JVM是如何划分和分配的呢?
JVM把内存分为:方法区,堆(heap),为线程准备的(程序计数器(pc),虚拟栈,本地方法栈)
它们具体的作用:
pc:记录下一个执行的指令的地址
虚拟栈:当调用java方法时,就会为方法创建一个栈帧记录局部变量,操作数,动态链接,方法出口等
本地方法栈:和虚拟栈一样,为本地方法服务
方法区:有运行时常量池,类型的信息,字段的信息,方法的信息,类加载器的引用,class类实例的引用
堆:存放的是类的实例对象,jvm垃圾回收器主要在这里工作
这是我总结的大纲:
如果想要在深入了解请看:http://blog.csdn.net/luanlouis/article/details/40043991