冯诺依曼体系结构 计算机之父—约翰·冯诺依曼 20世纪科学界最著名的全 才大师,在数学、物理学、经 学等方面都有极高的成就 生会七种语言,而其在计算 机发展历史中的地位无人能及 ,被誉为“计算机之父”,他 所提出的计算机体系结构被称 为冯诺依曼”体系结构, John von neuman(1903-1957)今天绝大多数的计算机都是按 照这一体系结构设计实现的
冯·诺依曼体系结构 • 计算机之父—— 约翰·冯·诺依曼 John Von Neumann (1903-1957) 20世纪科学界最著名的全 才大师,在数学、物理学、经 济学等方面都有极高的成就, 一生会七种语言,而其在计算 机发展历史中的地位无人能及 ,被誉为“计算机之父”,他 所提出的计算机体系结构被称 为 “冯·诺依曼”体系结构, 今天绝大多数的计算机都是按 照这一体系结构设计实现的
冯诺依曼体系结构 冯诺依曼机包括五大组成部分: 运算器C 逻辑控制器LC 存器M 输入设备I 输出设备O
冯·诺依曼体系结构 • 冯·诺依曼机包括五大组成部分: - 运算器C - 逻辑控制器 LC - 存储器M - 输入设备I - 输出设备 O
什么是虚拟机? 虚拟机是一种对计算机物理硬件计算环境的 软件实现 虚拟机是一种抽象机器,内部包含一个解释 器( interpreter,可以将其它高级语言编译为 虚拟机的解释器可以执行的代码(称这种代 码为中间语言 ntermediate Language,实现 高级语言程序的可移植性
什么是虚拟机? • 虚拟机是一种对计算机物理硬件计算环境的 软件实现 • 虚拟机是一种抽象机器,内部包含一个解释 器(Interpreter),可以将其它高级语言编译为 虚拟机的解释器可以执行的代码(称这种代 码为中间语言 Intermediate Language),实现 高级语言程序的可移植性
虚拟机的优点 平台无关性( System Independence) c无论是运行在嵌入式设备还是多个处理器的服 所使用 库也具有标准的AP和完全相同或相似的行为 安全( Security 虚拟机可以根据要求对其中执行的程序进行控 制,使其无法访问虚拟机运行的操作系统的其它资 源
虚拟机的优点 • 平台无关性 (System Independence) • 安全 (Security) 无论是运行在嵌入式设备还是多个处理器的服 务器上,虚拟机都执行相同的指令,所使用的支持 库也具有标准的API和完全相同或相似的行为。 虚拟机可以根据要求对其中执行的程序进行控 制,使其无法访问虚拟机运行的操作系统的其它资 源
什么是Java虚抄机M? Java虚拟机(JM是专门针对Java语言设计 的一种虚拟机实现,有自己的指令系统(字 节码),用软件模拟了处理器、堆栈、寄存 器等计算机物理组件,可以运行Java语言编 译后得到的字节码程序,实现了Java程序的 可移植性
什么是Java虚拟机 (JVM)? • Java虚拟机(JVM)是专门针对Java语言设计 的一种虚拟机实现,有自己的指令系统(字 节码),用软件模拟了处理器、堆栈、寄存 器等计算机物理组件,可以运行Java语言编 译后得到的字节码程序,实现了Java程序的 可移植性
理解Jav程序可移植性 经编写,随处运行? JVM规范的一严一宽 JVM规范对可移植代码的严格性 JⅥM规范对虚拟机实现的宽松性 更好的理解 WOCRAC Write Once Carefully, Run Anywhere Conditionally (精心编写一次就可以有条件的到处运行)
理解Java程序可移植性 • 一经编写,随处运行? • JVM规范的一严一宽 • 更好的理解 — WOCRAC - JVM规范对可移植代码的严格性 - JVM规范对虚拟机实现的宽松性 Write Once Carefully, Run Anywhere Conditionally. (精心编写一次就可以有条件的到处运行)
JVM的体系结构 JM由多个组件构成,包括: -类装载器( Class loader) 字节码解释器( Bytecode Interpreter) 安全管理器( Security Manager) 垃圾收集器( Garbage Collector 线程管理( hread Management) 图形( Graphics
JVM的体系结构 • JVM由多个组件构成,包括: - 类装载器(Class Loader) - 字节码解释器(Bytecode Interpreter) - 安全管理器(Security Manager) - 垃圾收集器(Garbage Collector) - 线程管理(Thread Management) - 图形(Graphics)
JVM体系结构图 Java virtual machine 子 安全管理器 码 类装载器 字节码 垃圾收集器 解释器 线程管理 文件 图形 Operating System
JVM体系结构图 类 装 载 器 字节码 解释器 安全管理器 垃圾收集器 线程管理 图形 Java Virtual Machine Operating System 字 节 码 *.class 文 件
类装载器( Class loader °类装载器负责加载(load类的字节码文 件,并完成类的链接和初始化工作
类装载器(Class Loader) • 类装载器负责加载(load)类的字节码文 件,并完成类的链接和初始化工作
类的加载步强 把要加载的类名转换为类的字节码文件名,并在环 境变量 CLASSPATH指定的每个目录搜索该文件 把字节码文件读入缓冲区 将类转换为JM内部的数据结构 使用校验器检查类的合法性 如何类是第一次被加载,则对类中的静态数据进行 初始化 加载类中所引用的其它类 把类中的某些方法编译为本地代码
类的加载步骤 • 把要加载的类名转换为类的字节码文件名,并在环 境变量CLASSPATH指定的每个目录搜索该文件 • 把字节码文件读入缓冲区 • 将类转换为JVM内部的数据结构 • 使用校验器检查类的合法性 • 如何类是第一次被加载,则对类中的静态数据进行 初始化 • 加载类中所引用的其它类 • 把类中的某些方法编译为本地代码