码迷,mamicode.com
首页 > 编程语言 > 详细

Java虚拟机之Java内存区域

时间:2017-05-15 14:09:09      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:运行   存储   image   blog   bsp   解释   str   方式   对象   

Java虚拟机运行时数据区域

 

⑴背景:对于c/c++来说程序员来说,需要经常去关心内存运行情况,但对于Java程序员,只需要在必要时关心内存运行情况,这是因为在Java虚拟机自动内存管理机制的帮助下,不再Java程序员需要为每一个新生成对象去释放资源,这些事情都将交由Java虚拟机去做,但为什么我们还需要学习Java虚拟机呢?这是因为Java程序员吧内存控制权交给Java虚拟机之后一旦出现了内存泄漏和溢出,不了解Java虚拟机的内存运行,排查将会非常困难。

技术分享

                      Java虚拟机运行时数据区

Java虚拟机的多线程通过线程轮换并分配处理器执行时间的方式来实现,任何一个确定时刻,一个处理器都只会执行一条线程中的指令。因此,为了时线程切换后能恢复到正确执行位置,每条线程都需要一个独立的程序计数器,线程之前有独立存储互不影响。

 

⑵程序计数器:程序计数器是一块较小的内存空间,字节码解释器工作时,通过改变计数器值选择下一条需要执行的字节码指令(分支、循环、跳转、异常处理、线程恢复都用到了程序计数器)。

 

Java虚拟机的栈:

 

Java虚拟机之Java内存区域

标签:运行   存储   image   blog   bsp   解释   str   方式   对象   

原文地址:http://www.cnblogs.com/boycelee/p/6855896.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!