2、java内存区域和内存溢出异常
2.1虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域
2.1.1程序计数器:多线程的情况下,每条线程都需要有一个独立的程序计数器,各个线程之间计数器互不影响,独立存储,我们称这类内存区域为“线程私有的内存”;字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令;如果线程正执行一个java方法,计数器记录的是正在执行的虚拟机字节码指令的地址,native方法,计数器的值为空,此内存区域是唯一一个没有ouOfMemoryError情况的区域
2.2.2java虚拟机栈:相当于平常说的堆栈中的栈stack,也是线程私有的。描述的是java方法实行