Java程序运行机制
。Java是一种特殊高级语言,既有解释型语言特征,也有编译型语言特征。
。Java程序要先编译后解释
高级语言运行机制
。高级语言按程序执行方式分为编译型语言和解释型语言
。。编译型语言:
*一次性编译成机器码,可脱离开发环境独立运行,运行效率较高
*编译型语言程序编译成特定平台机器码,编译生成的可执行性程序通常无法移植到其他平台
*C、C++、Objective-、Pascal等
*若要移植,则需将代码赋值到特定平台,针对特定平台进行修改
。。解释型语言:
*每次执行解释型语言程序都需要进行编译,不能脱离解释器独立运行,运行效率较低
*跨平台容易,提供特定平台解释器即可
*可方便实现源程序的移植,D但以牺牲执行效率为代价
*Ruby、Python
Java程序的运行机制和JVM
。Java既是编译型语言也是解释型语言/Java既不是纯粹编译型语言,也不是纯粹解释型语言
。Java执行过程需经过先编译后解释:
。。java语言需要经过编译步骤,但该编译步骤不会生成特定平台的机器码,而是生成与平台无关的字节码(.class文件)。
。。该字节码不可执行,必须使用java解释器来解释执行
。。java程序执行步骤
*Java虚拟机(JVM=JavaVirtual Machine)解释执行字节码文件(*.class)
**JVM是可运行java字节码的虚拟计算机
**所有平台上的JVM向编译器提供相同的编程接口,而编译器只需面相虚拟机
。JDK(Java SE Development Kit,Java标准开发包)
。。提供编译、运行Java程序所需的各种工具和资源
*Java编译器
*Java运行时环境
*常用jJava类库
。JVM与JRE(Java Runtime Environment,Java运行时环境)关系
。。JRE包括JVM。
*JVM是运行java程序的核心虚拟机;
*运行java程序需要核心虚拟机外,还需要其他类加载器、字节码校验其以及大量的基础类库。
*JRE包括JVM以及运行java程序的其他环境支持
CLASSPATH环境变量
。使用1.5以上版本的JDK可以不设置环境变量(*)
。CLASSPATH区别大小写