![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
java 的运行机制是什么?
展开全部
简单来说Java程序的运行机制
编写 、编译 、运行 三个步骤。
运行机制 主要是指
编译 、运行的过程
1、编译
Java编译器对源文件进行错误排查的过程,编译后将生成后缀名为.class的字节码文件。好让JVM(java虚拟机)里的解释器可以正常读取。
2、运行
三步 代码的装入、代码的校验和代码的执行
2.1 、 代码的装入
JVM控制解释器中的“类装载器”去读取和装载程序所需的类(class的字节码)。然后解释器开始建立类与类之间的关系。
2.2、 代码的校验
字节码校验器进行检查:校验器可发现操作数栈溢出,非法数据类型转化等多种错误。
2.3、 代码的执行
执行也分两种情况
即时编译方式:解释器先将字节码编译成机器码,然后再执行该机器码。
解释执行方式:解释器通过每次解释并执行一小段代码来完成Java字节码程 序的所有操作。
通常采用的是第二种方法。由于JVM规格描述具有足够的灵活性,这使得将字节码翻译为机器代码的工作
展开全部
http://dev.csdn.net/article/37/37090.shtm
Java与其说是种语言,不如说是一种平台更为合适。Java的每一个类都有一个class文件和它对应,Java在程序的启动的时候将程序运行需要用到的类加载到虚拟机中,根据Java的虚拟机规范进行连接(动态连接),程序的组装是在运行的时候完成的。因此,Java程序非常容易进行组件式的开发,程序的组件非常的容易替换。
C++和其他的编译型的语言一样,它的程序的组装方式是一种传统的组装方式。C++在编译的时候生成适用于某一平台的二进制代码,在连接的时候找到需要调用的库,然后将这些库中的代码连接进可执行程序之中,生成的可执行程序运行速度非常的快,但是可执行代码已经变成了一个整体,不可能再分开。(未考虑动态链接的情况)
C++当然也可以以组件的形式开发,如COM,但那些都是基于动态链接库的,不可跨平台的,COM实际上也是定义了一个二进制的组件标准。是不可跨平台的。
Java与其说是种语言,不如说是一种平台更为合适。Java的每一个类都有一个class文件和它对应,Java在程序的启动的时候将程序运行需要用到的类加载到虚拟机中,根据Java的虚拟机规范进行连接(动态连接),程序的组装是在运行的时候完成的。因此,Java程序非常容易进行组件式的开发,程序的组件非常的容易替换。
C++和其他的编译型的语言一样,它的程序的组装方式是一种传统的组装方式。C++在编译的时候生成适用于某一平台的二进制代码,在连接的时候找到需要调用的库,然后将这些库中的代码连接进可执行程序之中,生成的可执行程序运行速度非常的快,但是可执行代码已经变成了一个整体,不可能再分开。(未考虑动态链接的情况)
C++当然也可以以组件的形式开发,如COM,但那些都是基于动态链接库的,不可跨平台的,COM实际上也是定义了一个二进制的组件标准。是不可跨平台的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询