【深入理解JVM 五】JVM运行时数据区域

在上一篇Blog中我们正式将class文件加载到了虚拟机中,上文中我们仅仅提到了方法区,其实不光方法区,其它的运行时数据区我们也需要详细介绍下,在了解了运行时数据区域后,才能明白执行引擎如何作用,垃圾回收系统如何工作。以下是运行时数据区域在JVM中的展现:
在这里插入图片描述
一个段Java代码的生命周期都会少不了上图这几个步骤,也就是Java代码首先会被编译成字节码文件,之后被类加载器加载到运行时数据区域,接着被执行引擎运行,最后垃圾收集器回收对象。

运行时数据区域

从上图中我们可以看到运行时数据区由5部分内容组成,这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。还有就是会抛出不同的异常,接下来会分区域详细讨论。

程序计数器

程序计数器(Program Counter Register)是JVM中一块较小的内存区域保存着当前线程执行的虚拟机字节码指令的内存地址。Java多线程的实现,其实是通过线程间的轮流切换并分配处理器执行时间的方式来实现的ÿ

已标记关键词 清除标记
<span style="font-family:'Microsoft YaHei', 'PingFang SC', Helvetica, Tahoma, Arial, 'Hiragino Sans GB', 'Microsoft YaHei', SimSun, Heiti, sans-serif;font-size:13.3333px;line-height:normal;"> <p class="ql-long-39788408" style="font-family:'PingFang SC', 'Hiragino Sans GB', Arial, 'Microsoft YaHei', Verdana, Roboto, Noto, 'Helvetica Neue', sans-serif;font-size:11pt;color:#494949;background-color:#FFFFFF;"> <span style="color:#337FE5;">内容简介:</span> </p> <p class="ql-long-39788408" style="font-family:'PingFang SC', 'Hiragino Sans GB', Arial, 'Microsoft YaHei', Verdana, Roboto, Noto, 'Helvetica Neue', sans-serif;font-size:11pt;color:#494949;background-color:#FFFFFF;"> <span class="ql-author-39788408"></span> </p> <p style="color:#353535;font-family:'PingFang SC', 'Lantinghei SC', 'Microsoft Yahei', 'Hiragino Sans GB', 'Microsoft Sans Serif', 'WenQuanYi Micro Hei', Helvetica, sans-serif;font-size:15px;background-color:#FFFFFF;"> <span style="color:#353535;font-family:'PingFang SC', 'Lantinghei SC', 'Microsoft Yahei', 'Hiragino Sans GB', 'Microsoft Sans Serif', 'WenQuanYi Micro Hei', Helvetica, sans-serif;font-size:15px;line-height:22.5px;background-color:#FFFFFF;"></span> </p> <p style="font-size:14px;color:#333333;font-family:arial, 宋体, sans-serif;background-color:#FFFFFF;"> JVM是Java Virtual Machine(Java虚拟机)的缩写,引入Java语言虚拟机后,Java语言在不同平台上运行不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言只需生成在Java虚拟机上运行的目标代码,就可以在多种平台上不加修改地运行。 </p> <p style="font-size:14px;color:#333333;font-family:arial, 宋体, sans-serif;background-color:#FFFFFF;"> 本课程将介绍JVM的核心原理,包括类加载机制的设计原理,<span style="color:#333333;font-family:arial, 宋体, sans-serif;font-size:14px;line-height:normal;background-color:#FFFFFF;">JVM常用的参数类型,</span>对堆内存中的Eden,S0,S1和Old区的理解,如何确定一个对象为垃圾?常用的垃圾回收算法和垃圾收集器,以及它们适用的区域和特点等等,都会有详细介绍。 </p> </span> <p> <br /> </p> <p class="ql-long-39788408" style="font-family:'PingFang SC', 'Hiragino Sans GB', Arial, 'Microsoft YaHei', Verdana, Roboto, Noto, 'Helvetica Neue', sans-serif;font-size:11pt;color:#494949;background-color:#FFFFFF;"> <span style="color:#337FE5;">为什么需要学习这门课程?</span> </p> <p class="ql-long-39788408" style="font-family:'PingFang SC', 'Hiragino Sans GB', Arial, 'Microsoft YaHei', Verdana, Roboto, Noto, 'Helvetica Neue', sans-serif;font-size:11pt;color:#494949;background-color:#FFFFFF;"> <span class="ql-author-39788408"></span> </p> <p style="color:#353535;font-family:'PingFang SC', 'Lantinghei SC', 'Microsoft Yahei', 'Hiragino Sans GB', 'Microsoft Sans Serif', 'WenQuanYi Micro Hei', Helvetica, sans-serif;font-size:15px;background-color:#FFFFFF;"> 作为一名JAVA开发工程师,你在使用虚拟机的候可能会出来一些意料不到的Bug,而你却不知道如何去解决。这是因为<span style="line-height:1.5;">Java虚拟机封装得很好,让你感觉不到它的存在。</span><span style="line-height:1.5;">掌握Java虚拟机的工作原理可以提高你的开发效率,修复Bug会变得非常轻松。而且,对于JAVA工程师来说,<span style="color:#353535;font-family:'PingFang SC', 'Lantinghei SC', 'Microsoft Yahei', 'Hiragino Sans GB', 'Microsoft Sans Serif', 'WenQuanYi Micro Hei', Helvetica, sans-serif;font-size:15px;line-height:22.5px;background-color:#FFFFFF;">在你通往进阶的道路上,</span>JVM是必须要吃透的。</span> </p> <p style="color:#353535;font-family:'PingFang SC', 'Lantinghei SC', 'Microsoft Yahei', 'Hiragino Sans GB', 'Microsoft Sans Serif', 'WenQuanYi Micro Hei', Helvetica, sans-serif;font-size:15px;background-color:#FFFFFF;"> <br /> </p> <p class="ql-long-39788408" style="font-family:'PingFang SC', 'Hiragino Sans GB', Arial, 'Microsoft YaHei', Verdana, Roboto, Noto, 'Helvetica Neue', sans-serif;font-size:11pt;color:#494949;background-color:#FFFFFF;"> <span style="color:#337FE5;">课程大纲:</span> </p> <p class="ql-long-39788408" style="font-family:'PingFang SC', 'Hiragino Sans GB', Arial, 'Microsoft YaHei', Verdana, Roboto, Noto, 'Helvetica Neue', sans-serif;font-size:11pt;color:#494949;background-color:#FFFFFF;"> <span class="ql-author-39788408">为了让大家快速系统了解JVM知识全貌,我为您总结了思维导图,帮您梳理学习重点,建议收藏!<img src="https://img-bss.csdnimg.cn/202006240510006077.jpg" alt="" /></span> </p> <span style="font-family:'Microsoft YaHei', 'PingFang SC', Helvetica, Tahoma, Arial, 'Hiragino Sans GB', 'Microsoft YaHei', SimSun, Heiti, sans-serif;font-size:13.3333px;line-height:normal;"></span><span></span><br /> <span></span>
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付 19.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值