啥叫Native Code

Native Code — 本机代码

已被编译为特定于处理器的机器码的代码。
这些代码可以直接被虚拟机执行。
与字节码的区别:虚拟机是一个把通用字节码转换成用于特定处理器的本地代码的程序

本地代码(native code)是计算机编程(代码),编译用来运行一个特殊的处理器(如英特尔x86级的处理器)和它的特殊指令集。如果同一个程序在不同的处理器上执行的话软件就必须能够模拟出旧的处理器的指令。这种情况下,同一个程序是在模拟模式下运行的,这样就会导致它比在本机模式下运行速度慢。(这个程序可以重写并且重新编译这样就可以用新的处理器执行本机模式了。)

本地代码也可以与字节码区分开来(有时候叫做编译代码),这种代码可以在虚拟机上运行(比如JAVA虚拟机)。虚拟机是一个把通用字节码转换成用于特定处理器的本地代码的程序。微软的.NET编译器产生的就是字节码微软叫它作中间语言)。Java字节码和微软的中间语言都能在执行前被即时编译器编译成高性能的本机代码。

Java程序编译执行过程

java编译器将源文件(.java)编译成机器码(.class)。然后java虚拟机再将这些机器码解释成为本地具体平台可执行的指令集。

为何说Java是解释性语言

它与C++相比有何不同?

  • C++编译器是将源代码一次性地直接编译链接成本地可执行的本地代码。即C++编译好的程序不需要任何其他环境,可直接执行。
  • Java编译器只是将源代码编译成通用字节码,运行需要JVM的支持,JVM将字节码再转换成本地可执行的本地代码。它是边翻译字节码边执行,故而称为解释器。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章