1. JVM与Java体系结构





1.1Java虚拟机
字节码:
1.任何能在jvm平台上执行的字节码格式都是一样的,称为jvm字节码
2.不同的编译器,可以编译出相同的字节码文件,字节码文件也可以在不同的JVM上运行
3.Java虚拟机与Java语言并没有必然的联系,它只与特定的二进制文件——Class文件格式所关联,Class文件中包含了Java虚拟机指令集(或称为字节码、Bytecodes)和符号表,还有其他辅助信息
虚拟机:
1.所谓虚拟机(Virtual Machine),就是一台虚拟的计算机。他是一款软件,用来执行一系列不腻计算机指令。大体上,虚拟机可以分为系统虚拟机和程序虚拟机。Visual Box、VMware属于系统虚拟机,完全是对物理计算机的仿真,提供了一个可运行完整操作系统的软件平台;程序虚拟机就是Java虚拟机,它专门为执行单个计算机程序而设计
2.无论是系统虚拟机还是程序虚拟机,在上面运行的软件都被限制与虚拟机提供的自愿者中
作用
1.Java虚拟机就是二进制字节码的运行环境,负责装载字节码到其内部,解释/编译为对应平台上的机器指令执行。每一条Java指令,Java虚拟机规范中都有详细的定义,如怎么取操作数,怎么处理操作数,处理结果放在哪里。
特点
1.一次编译,到处运行
2.自动内存管理
3.自动垃圾回收功能
1.2JVM位置

JVM是运行在操作系统之上的,它与硬件没有直接的交互。

1.3Google的Android系统结构

1.4JVM整体结构

1.HotSpot VM是目前市面上高性能虚拟机的代表作之一
2.它采用解释器与即时编译器并存的架构
1.5Java代码的执行流程


