# jAVA 初识jvm(二)

jAVA 初识jvm(二)


JVM

1.Java虚拟机(Java Virtual Machine):解释运行字节码文件。字节码进行相应的规范之后又Jvm虚拟机进行运行。
2.JVM特点:

  • 一次编译到处运行
  • 自动内存管理
  • 自动垃圾回收管理

3.位置:Jvm是运行在操作系统之上,他与硬件没有直接的交互。

Jvm整体结构如图:该图为网络示例图# jAVA 初识jvm(二)_第1张图片


Jvm的架构模型

​ 由于跨平台性的设计:java的指令都是根据基于栈进行设计的,栈:跨平台性,指令集小,指令多;执行性能比寄存器差。

基于栈式架构
  • 适用于资源受限的系统:打印机
  • 避开寄存器的分配难题
  • 指令流中的指令大部分是零地址指令,执行过程依赖于操作栈。指令集更小(指令多8位),更容易实现
  • 不需要硬件的支持实现跨平台:不同的平台装JVM。
基于寄存器指令架构
  • 典型的X86二进制指令集
  • 依赖硬件,可移植性查
  • 性能优秀执行高效
  • 花费更少的指令去完成意向操作。指令少(16位)

Jvm的声明周期

启动

​ Java虚拟机的启动通过引导类(bootstrap class loader)创建一个初始类(init class)来完成的,这个类是由虚拟机的具体实现指定的。

执行

​ 执行一个所谓的java程序的时候,其实执行的是java虚拟机的一个进程。

退出

​ 当程序正常执行结束,遇到异常或错误而终止。由于操作系统出现错误导致虚拟机进程终止。某线程调运Runtime或者System的exit方法。或者Runtime的halt方法。

你可能感兴趣的:(Java)