JVM概述
为什么要学习jvm?
一个是学习理解更高层次的内容,
再者就是架构级别的需要。
jvm的作用
把一套程序,在不同的平台上运行(一次编译,到处运行)
可以实现自动内存管理
自动的垃圾回收
jvm的位置
jvm是运行在操作系统之上的,与硬件没有直接的交互。
jvm整体结构分4大块
-
类加载系统(ClassLoader)
负责从硬盘中读取字节码文件 -
运行时数据区(Runtime Data Area)
存取运行时的数据
方法区,堆,栈,本地方法栈,程序计数器 -
执行引擎(Execution Engine)
将字节码解释/编译成真正的机器码 -
本地方法接口(Native Interface)
简图:
详细图: