课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
java虚拟机是程序员在学习java编程语言的时候需要重点掌握的一个编程知识,而今天我们就通过案例分析来了解一下,java虚拟机组成结构都有哪些。
一、JavaSE体系
JavaSE,Java平台标准版,为JavaEE和JavaME提供了基础。
JDK:Java开发工具包,JDK是JRE的超集,包含JRE中的所有内容,以及开发程序所需的编译器和调试程序等工具。
JRE:JavaSE运行时环境,提供库、Java虚拟机和其他组件来运行用Java编程语言编写的程序。主要类库,包括:程序部署发布、用户界面工具类、继承库、其他基础库,语言和工具基础库。
JVM:Java虚拟机,负责JavaSE平台的硬件和操作系统无关性、编译执行代码(字节码)和平台安全性。
二、运行时数据区
线程私有:程序计数器、虚拟机栈、本地方法栈。
线程共享:堆、方法区。
运行时数据区
三、程序计数器
1.什么是程序计数器
程序计数器是一块较小的内存空间,它的作用可以看作是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。--摘自《深入理解Java虚拟机》
2.程序计数器有什么特点
程序计数器会随着线程的启动而创建,各线程之间独立存储,互不影响。
当前线程执行的字节码的行号指示器。
如果线程正在执行的是一个Java方法,则指明当前线程执行的代字节码行数。
如果正在执行的是Natvie方法(本地方法),这个计数器值则为空(Undefined)。
占用较小的内存空间,此内存区域是一个不会出现OutOfMemoryError(内存溢出)情况的区域。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请在707945861群中学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。