java语言的运行机制

 计算机高级编程语言按其程序的执行方式可分为编译型语言和解释型语言。php

       编译型语言是指使用专门的编译器,针对特定操做系统将源程序代码一次性翻译成计算机识别的机器指令。例如C、C++等都属于编译型语言。java

       解释性语言是指使用专门的解释器,将源程序代码逐条地解释成特定平台的机器指令,解释一句执行一句,相似于“同声翻译”。例如ASP、PHP等都属于解释型语言。程序员

       Java既不是编译型语言也不是解释型语言,它是编译型和解释型语言的结合体。首先采用通用的Java编译器将Java源程序编译成与平台无关的字节码文件(class文件),而后由Java虚拟机(JVM)对字节码文件解释执行。编程

       编译型语言和解释型语言都有其各自的优缺点,好比编译型语言会在程序第一次执行时将其所有编译成与当前系统平台相对应的机器指令,在后续执行时,直接运行第一次编译的结果,减小了编译次数,提升了程序运行效率,可是程序在第一次编译时与系统平台相对应,所以移植性比较差。而解释型语言在程序每次运行时都要将源程序解释成当前系统平台相对应的机器指令,所以么一次运行都须要解释并执行,运行效率较低,可是移植性强。架构

       Java语言综合了编译型和解释型语言的优势,采起了一种折中方案。即Java语言首次运行时采起编译机制将Java源程序编译成Java字节码文件,该字节码与系统平台无关,是介于源代码和机器指令之间的一种状态。在后续执行时,采起解释机制将Java字节码解释成与系统平台对应的机器指令。这样既减小了编译次数,又加强了程序的可移植性,所以被称为“一次编译,多处运行!”。jvm

注:Java字节码具备平台无关性,能够在各类不一样系统平台中运行,可是,须要有不一样版本的Java虚拟机,不一样系统平台的Java运行环境其Java虚拟机是不同的。编程语言

JVM定义优化

       JVM(Java Virtual Machine)意思是Java虚拟机。它是一个虚拟出来的计算机,可在实际的计算机上虚拟各类计算机功能。JVM有本身完善的硬件架构,例如处理器、堆栈和寄存器等,还具备相应的指令系统。操作系统

JVM做用.net

       JVM是Java字节码执行的引擎,为Java程序的执行必要的执行,它还能优化Java字节码,使之转换成效率更高的机器指令。程序员编写的程序最终都要在JVM上执行,JVM中类的装载是由类加载器(ClassLoader)和它的子类来实现的。ClassLoader是Java运行时一个重要的系统组件,负责在运行时查找和装入类文件的类。

       JVM屏蔽了与具体操做系统平台相关的信息,从而实现了Java程序只需生成在JVM上运行的字节码文件(class文件),就能够在多种平台上不加修改地运行。不一样平台对应着不一样的JVM,在执行字节码时,JVM负责将每一条要执行的字节码送给解释器,解释器再将其翻译成特定平台环境的机器指令并执行。Java语言最重要的特色就是跨平台运行,使用JVM就是为了支持与操做系统无关,实现跨平台运行。

JVM工做原理

       JVM在整个JDK中处于最底层,负责与操做系统的交互,用来屏蔽操做系统环境,提供一个完整的Java运行环境,所以也称为虚拟计算器。操做系统装入JVM是经过JDK中的java.exe来实现,主要经过如下几个步骤完成。

一、  建立JVM装载环境和配置。

二、  装载jvm.dll。

三、  初始化jvm.dll。

四、  调用JNIEnv实例装载并处理class类。

五、  运行Java程序。

JVM是Java运行环境的最核心部分,是运行Java程序的最基本环境,想了解Java运行机制须要对JVM的概念和运行机制有所了解。

相关文章
相关标签/搜索