Java运行原理
电脑只能识别二进制文件,直接用二进制字符进行编程过于麻烦,这就要用计算机语言进行编程(计算机语言是指用于人与计算机之间通讯的语言。为了使电子计算机进行各种工作,就需要有一套用以编写计算机程序的数字、字符和语法规则,由这些字符和语法规则组成计算机各种指令(或各种语句),就是计算机能接受的语言)。
而JDK专门用来翻译Java这门计算机语言给计算机识别、执行,Java语言是一种先编译后解释型语言,且java语言可再任何操作系统上运行。
用Java编写的程序(存放在扩展名为java的文件中)经过编译器(即JDK根目录bin文件夹中的javac.exe文件)编译成字节码文件(即扩展名为class的文件),这个字节码文件不是针对具体平台的,而是针对抽象的Java虚拟机(Java虚拟机是一个可以执行Java字节码的虚拟机进程)的,在Java虚拟机上运行,在不同类型的平台上安装不同的Java虚拟机,这些不同的Java虚拟机屏蔽了各个不同平台的差异,从而使编译过的Java程序具有平台无关性,即Java虚拟机在执行字节码时,把字节码解析成具体平台上的机器指令执行。
大致如下图: