求教java中的unsafe.allocateMemory 会导致内存申请失败吗
一:Java内存区域与内存溢出异常
在运行Java程序时,Java虚拟机会把管理的内存划分为若干个不同的数据区域。
Java虚拟机运行时数据区
数据区域图中,除了方法区和堆区是线程共享区外,其他三个是线程隔离的数据区(private)
程序计数器(Program Counter Register):属于线程私有的,占用的内存空间较少,可以看成是当前线程所执行字节码的行号指示器,字节码解释器工作时就是通过改变这个计数器的值来选择下一条,需要执行的字节码指令,分支,循环,跳转,异常处理,线程恢复等基础功能需要依赖这个计数器来完成,这个区域是jvm规范中没有规定任何OutOfMemoryError情况区域。