java代码执行的机制,java代码执行的机制是什么

java运行机制是什么?

Java与其说是种语言,不如说是一种平台更为合适。Java的每一个类都有一个class文件和它对应,Java在程序的启动的时候将程序运行需要用到的类加载到虚拟机中,根据Java的虚拟机规范进行连接(动态连接),程序的组装是在运行的时候完成的。因此,Java程序非常容易进行组件式的开发,程序的组件非常的容易替换。

成都创新互联公司长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为望城企业提供专业的成都网站建设、网站设计望城网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。

C++和其他的编译型的语言一样,它的程序的组装方式是一种传统的组装方式。C++在编译的时候生成适用于某一平台的二进制代码,在连接的时候找到需要调用的库,然后将这些库中的代码连接进可执行程序之中,生成的可执行程序运行速度非常的快,但是可执行代码已经变成了一个整体,不可能再分开。(未考虑动态链接的情况)

C++当然也可以以组件的形式开发,如COM,但那些都是基于动态链接库的,不可跨平台的,COM实际上也是定义了一个二进制的组件标准。是不可跨平台的。

java工作原理

Java工作原理

由四方面组成:

(1)Java编程语言

(2)Java类文件格式

(3)Java虚拟机

(4)Java应用程序接口

当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类 ,通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用 。

Java语言的运行机制

在分析程序语言的运行机制时,通常会讨论两种类型的程勋执行模式: 编译行的程序语言和解释性的程序语言。语言的编译过程类似于日常生活中的翻译——翻译人员将一片文章翻译从中文翻译成英文,在过程中有批次处理和离线完成的特点。C语言就是这种类型的典型代表。解释性语言就类似于国际上的“中英同传”——在发言者将出中文的同时,对方的耳机就会有对应英文发言,此时的编译就叫做同传,在过程上有在线和及时的特点,BASIC语言就是这类典型的代表。

JAVA语言是一种变异性解释性语言,同时具备编译特性和解释特性。作为变异性语言,JAVA程序要被统一编译成字节码文件——文件后缀是class。此种文件在java中又称为类文件。java类文件不能再计算机上直接执行,它需要被java虚拟机编译成本地的机器码后才能执行,而java虚拟机的翻译过程则是解释性的。java字节码文件首先被加载到计算机内存中,然后读出一条指令,翻译一条指令,执行一条指令,该过程被称为java语言的解释执行,是有java虚拟机完成的。而在现实中,java开发工具JDK提供了两个很重要的命令来完成上面的编译和解释过程。两个命令分别是java.exe和javac.exe,前者加载java类文件,并逐步对字节码文件进行解释执行,而另一个命令则对应了java语言的编译过程。在次序上,java语言是要先进行编译的过程,接着解释执行。

java 的运行机制是什么?

简单来说Java程序的运行机制

编写 、编译 、运行 三个步骤。

运行机制 主要是指

编译 、运行的过程

1、编译

Java编译器对源文件进行错误排查的过程,编译后将生成后缀名为.class的字节码文件。好让JVM(java虚拟机)里的解释器可以正常读取。

2、运行

三步 代码的装入、代码的校验和代码的执行

2.1 、 代码的装入

JVM控制解释器中的“类装载器”去读取和装载程序所需的类(class的字节码)。然后解释器开始建立类与类之间的关系。

2.2、 代码的校验

字节码校验器进行检查:校验器可发现操作数栈溢出,非法数据类型转化等多种错误。

2.3、 代码的执行

执行也分两种情况

即时编译方式:解释器先将字节码编译成机器码,然后再执行该机器码。

解释执行方式:解释器通过每次解释并执行一小段代码来完成Java字节码程 序的所有操作。

通常采用的是第二种方法。由于JVM规格描述具有足够的灵活性,这使得将字节码翻译为机器代码的工作


本文标题:java代码执行的机制,java代码执行的机制是什么
本文来源:http://myzitong.com/article/hohcjp.html