jvm内存包括:本地方法栈(记录native方法的栈),虚拟机栈(记录java方法的栈),程序计数器,方法区(包括),堆。
线程私有
栈:navtive方法的
本地方法栈 :java方法运行时的局部变量,参数,返回值
程序计数器:主要功能就是记录当前线程执行到哪一行指令,若当前执行的是Java方法,则记录的就是当前执行指令的地址,若是native方法,则为空
线程共享
堆:类的实例对象
方法区:运行时常量池和字符串常量池 jdk1.6的时候,两者都是属于方法区,1.7开 始,字符串常量池被移到了堆内存;运行时常量池用于存放编译期生成的各种常量 (“abc”,123等)和符号引用
具体的如下图
TODO:类加载机制