JVM体系结构目的和原理

开发 后端
我们本文将从较深层次出发,首先介绍Java虚拟机JVM的体系结构,然后说明Java的类文件(.class)的组成以及Java程序从编译到执行的完整过程,并说明这一过程中的安全处理措施。

JVM体系结构由五部分组成,分别是寄存器、栈、废区收集堆、存储区和指令集,这五部分是Java虚拟机的逻辑成份,不依赖任何实现技术或组织方式,但它们的功能必须在真实机器上以某种方式实现。

JVM体系结构目的和原理

  Java的设计目的是应用于当前使用日益广泛、影响日益扩大的互连网络。这是一个异构平台环境,可能存在多种不机型,如Intel公司的x86系列,Apple/IBM/Motorola公司的PowerPC机等等。每一种机型都有其特定的中央处理机(CPU)芯片,各芯片的处理过程是不同的。因而通用软件通常需要为每一种类型的机器特别编写版本,以保证正确运行。为了克服这一困难,实现语言的通用性和易移植性,Java的设计者采取的方法是选择一种机器作为编译的目标机,再将编译结果在其它机型上解释执行。但选中的目标机并非上述任何一种实用机型,而是一个假设的处理机平台,称为Java虚拟机JVM(JavaVirtualMachine)。

那么,什么是Java虚拟机呢?

    我们可以把它定义为:运行编译生成的Java目标代码(即.class类文件)的计算机的实现。JVM体系结构实际上是建立在实际处理机基础上的假想计算机。这一假想机可以通过软件仿真实现,也可以通过硬件实现。鉴于目前大多数Java虚拟机还是用软件方法实现的,我们这里介绍的内容也多基于软件实现。

  Java编译器产生的字节码由JVM指令构成,而JVM是虚设的,不接近于任何一种实用机型,这样,一方面编译结果具有平台中立性,不同机型的解释器都可以将字节码文件转换为本机型CPU芯片的适宜机器码来执行。对JVM这一层次而言,操作系统和硬件层都是透明的,用户编写的Java程序,可以在任何平台上运行而无需修改。另一方面,编译生成的字节码接近源生码(nativecode),可以在任何硬件平台上以较高速度解释运行,实现较高的效率。这样,Java通过虚拟机JVM来试图达到分布式系统的两个相抵触的重要特性:易移植性和高效性之间的平衡和协调。

  接着,我们进一步了解一下JVM体系结构,包括JVM的指令集、操作码和操作数语法以及取值范围等。 
 

【编辑推荐】

  1. Java虚拟机概念及体系结构
  2. 简单介绍Inside JVM体系结构
  3. 深入Java虚拟机:JVM中的Stack和Heap
  4. Java虚拟机发展回顾 为跨平台而生
  5. Java虚拟机(JVM)中的内存设置详解

 

责任编辑:佚名 来源: douzhe.com
相关推荐

2010-09-25 13:38:23

Inside JVM

2009-07-09 13:52:41

Inside JVM

2020-04-15 21:43:22

JVMJavaVMware

2009-06-03 09:11:03

Hibernate工作原理体系结构

2010-09-27 09:43:07

JVM体系结构

2009-02-04 09:48:39

体系结构服务原理Web

2016-07-28 23:19:10

云计算SOA

2011-11-30 14:12:05

JavaJVM虚拟机

2011-06-30 09:07:00

Java EEWeb服务

2009-09-11 10:38:03

LINQ体系结构

2009-06-26 15:58:28

EJB

2012-02-06 17:22:44

MySQL

2009-07-15 13:46:26

Swing体系结构

2014-07-23 09:33:52

2018-04-23 09:25:24

MySQL结构存储

2023-05-31 08:19:00

体系结构设计

2010-08-16 12:54:21

ASON路由技术

2010-06-21 14:51:14

ASON路由

2016-12-26 10:29:01

Spring框架结构

2010-04-23 09:13:05

Oracle体系结构
点赞
收藏

51CTO技术栈公众号