Java虚拟机之Java内存区域
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java虚拟机之Java内存区域相关的知识,希望对你有一定的参考价值。
Java虚拟机运行时数据区域
⑴背景:对于c/c++来说程序员来说,需要经常去关心内存运行情况,但对于Java程序员,只需要在必要时关心内存运行情况,这是因为在Java虚拟机自动内存管理机制的帮助下,不再Java程序员需要为每一个新生成对象去释放资源,这些事情都将交由Java虚拟机去做,但为什么我们还需要学习Java虚拟机呢?这是因为Java程序员吧内存控制权交给Java虚拟机之后一旦出现了内存泄漏和溢出,不了解Java虚拟机的内存运行,排查将会非常困难。
Java虚拟机运行时数据区
Java虚拟机的多线程通过线程轮换并分配处理器执行时间的方式来实现,任何一个确定时刻,一个处理器都只会执行一条线程中的指令。因此,为了时线程切换后能恢复到正确执行位置,每条线程都需要一个独立的程序计数器,线程之前有独立存储互不影响。
⑵程序计数器:程序计数器是一块较小的内存空间,字节码解释器工作时,通过改变计数器值选择下一条需要执行的字节码指令(分支、循环、跳转、异常处理、线程恢复都用到了程序计数器)。
⑶Java虚拟机的栈:
以上是关于Java虚拟机之Java内存区域的主要内容,如果未能解决你的问题,请参考以下文章