2. jvm内存结构概述

  1. 2. jvm内存结构概述
  2. 方法区中是永久的,不回收的,所以常量不宜定义太多。会产生内存溢出的问题。
  3. 方法区被所有线程共享的。还需要注意线程安全问题。
  4. 栈:每个线程私有,不会共享。不会有线程安全问题。
  5. 本地方法栈:主要是调用c语言的.
  6. pc寄存器: 每个线程启动的时候,都会创建一个PC(Program Counter,程序计数器)寄存器。PC寄存器里保存有当前正在执行的JVM指令的地址。 每一个线程都有它自己的PC寄存器,也是该线程启动时创建的。保存下一条将要执行的指令地址的寄存器是 :PC寄存器。PC寄存器的内容总是指向下一条将被执行指令的地址,这里的地址可以是一个本地指针,也可以是在方法区中相对应于该方法起始指令的偏移量.
  7. 执行引擎:执行字节码文件。
  8. 垃圾回收机制: 不定时的回收堆内存资源.
  9. 类的方法其实是存放在栈里面的。