Java语言的编译运行机制
因为Java语言是高级解释性语言,需要先进行编译生成字节码(可移植性高),然后系统中下载的解释器JVM(Java虚拟计算机)运行字节码。
JVM有两种方式:
1.边解释边执行:将全部字节码边解释成机器码边执行机器码,
特点:启动速度快(因为不需要编译),且能发现代码中的热点代码和一些缺点方便后续优化,但是其执行速度慢;
2.即时编译:将Java程序热点代码(反复执行的代码)直接编译成机器码存放在内存中,
特点:启动速度慢(编译的过程慢),但是执行速度快。
而如今Java采用其混合机制
其步骤为:
1.Java程序代码编译生成字节码,然后解释器JVM将全部字节码边解释成机器码边执行机器码,
发现其中的热点代码并方便后续进行优化代码;
2.Java程序代码中的热点代码(反复执行的代码)被即时编译器(JIT)将Java程序热点代码直接编译成机器码存放在内存中,然后运行;
使其代码执行速度增快;
3.将Java程序代码中的不常用代码采用边解释边执行机制。
解释性语言编译后的字节码需要用解释器JVM进行运行,如Java/Python。
编译性语言编译后的代码直接能被电脑进行运行,如C/C++。
1. 用记事本编写一个Java程序(前提是已经安装好JDK并配置好环境变量);
(Java程序名.java,.java是后缀名)
public class Hello {
public static void main(String[] args) {
System.out.println("Hello");//将Hello显示在屏幕上
}
}
图片示例:
2. 按Win+R键运行cmd命令;
3. 然后使用java编译指令:javac Java程序名;
(javac是将程序文件编译成字节码文件,因为程序文件不能直接被解释器识别运行,
而java程序字节码文件能够直接被解释器识别运行)
4. 按Enter 键回车,在Java程序所在的位置中生成了Java程序字节码文件( Java程序名.class);
5. 然后使用java运行指令:java Java程序名 ;
6.输出运行结果。
图片示例:
如有错误或侵权,望您联系我进行修改,谢谢!