标签:int pem out phi 字节 哪些 void 特定 gif
JVM:Java Virtual Machine(Java虚拟机)
? 源文件(myProgram.java)→编译器(Compiler) →字节码文件(myProgram.class)→解释器(Interpreter)→程序
JRE:Java Runtime Environment(Java运行时环境)
JDK:Java Developement Kit(Java开发工具包)
第一步:安装JDK
第二步:配置环境变量
JAVA_HOME:配置JDK安装路径 (C:\Program Files\Java\jdk1.8.0_211)
PATH:配置JDK命令文件位置 (C:\Program Files\Java\jdk1.8.0_211\bin)
? 配置类库文件位置 (C:\Program Files\Java\jdk1.8.0_211\lib)
查看开发环境搭建是否成功,在命令行输:
java -version
javac
我们编写的源代码是人类语言,我们自己能够轻松理解;但是对于计算机硬件(CPU),源代码就是天书,根本无法执行,计算机只能识别某些特定的二进制指令,在程序真正运行之前必须将源代码转换成二进制指令。所谓的二进制指令,也就是机器码,是 CPU 能够识别的硬件层面的“代码”。
编译型:有的编程语言要求必须提前将所有源代码一次性转换成二进制指令,也就是生成一个可执行程序(Windows 下的 .exe),比如C语言、C++、Go、Pascal(Delphi)、汇编等,这种编程语言称为编译型语言,使用的转换工具称为编译器。
解释型:有的编程语言可以一边执行一边转换,需要哪些源代码就转换哪些源代码,不会生成可执行程序,比如 Python、JavaScript、PHP、Shell、MATLAB 等,这种编程语言称为解释型语言,使用的转换工具称为解释器。
Java和 C#是一种比较奇葩的存在,它们是半编译半解释型的语言,源代码需要先转换成一种中间文件(字节码文件),然后再将中间文件拿到虚拟机中执行
编译型语言一般是不能跨平台的,也就是不能在不同的操作系统之间随意切换。体现在:1) 可执行程序不能跨平台,2) 源代码不能跨平台
相比于编译型语言,解释型语言几乎都能跨平台,可以做到“一次编写,到处运行”。这里所说的跨平台,是指源代码跨平台,而不是解释器跨平台。解释器用来将源代码转换成机器码,它就是一个可执行程序,是绝对不能跨平台的。
Java 源程序与编译型运行区别:
总结如下
类型 | 原理 | 优点 | 缺点 |
---|---|---|---|
编译型语言 | 通过专门的编译器,将所有源代码一次性转换成特定平台(Windows、Linux 等)执行的机器码(以可执行文件的形式存在)。 | 编译一次后,脱离了编译器也可以运行,并且运行效率高。 | 可移植性差,不够灵活。 |
解释型语言 | 由专门的解释器,根据需要将部分源代码临时转换成特定平台的机器码。 | 跨平台性好,通过不同的解释器,将相同的源代码解释成不同平台下的机器码。 | 一边执行一边转换,效率很低。 |
新建一个Java文件,文件后缀为.java。
Hello.java
编写代码
public class Hello{
public static void main(String[] args){
System.out.print("Hello,World!");
}
}
编译Java文件,命令javac,生成class文件
javac Hello.java
运行class文件,命令java
java Hello
标签:int pem out phi 字节 哪些 void 特定 gif
原文地址:https://www.cnblogs.com/dongxt/p/14534509.html