jAVA 初识jvm(二)
JVM
1.Java虚拟机(Java Virtual Machine):解释运行字节码文件。字节码进行相应的规范之后又Jvm虚拟机进行运行。
2.JVM特点:
- 一次编译到处运行
- 自动内存管理
- 自动垃圾回收管理
3.位置:Jvm是运行在操作系统之上,他与硬件没有直接的交互。
Jvm整体结构如图:该图为网络示例图
Jvm的架构模型
由于跨平台性的设计:java的指令都是根据基于栈进行设计的,栈:跨平台性,指令集小,指令多;执行性能比寄存器差。
基于栈式架构
- 适用于资源受限的系统:打印机
- 避开寄存器的分配难题
- 指令流中的指令大部分是零地址指令,执行过程依赖于操作栈。指令集更小(指令多8位),更容易实现
- 不需要硬件的支持实现跨平台:不同的平台装JVM。
基于寄存器指令架构
- 典型的X86二进制指令集
- 依赖硬件,可移植性查
- 性能优秀执行高效
- 花费更少的指令去完成意向操作。指令少(16位)
Jvm的声明周期
启动
Java虚拟机的启动通过引导类(bootstrap class loader)创建一个初始类(init class)来完成的,这个类是由虚拟机的具体实现指定的。
执行
执行一个所谓的java程序的时候,其实执行的是java虚拟机的一个进程。
退出
当程序正常执行结束,遇到异常或错误而终止。由于操作系统出现错误导致虚拟机进程终止。某线程调运Runtime或者System的exit方法。或者Runtime的halt方法。