Java学习之平台知识
最近伍师弟规划了一下学习路线,感觉还是要发展一下Java后端,所以就开始学习起了Java的基础知识,分享一下学习总结
Java既是一门高级编程语言也是一个开发平台,而作为开发平台,Java platform包括了两个部分:
- JVM -> Java Virtual Machine Java虚拟机
- Java API -> Java Application Programming Interface Java应用开发接口
要讲Java虚拟机就要从.java文件说起:我们平常开发大多数都是直接写源代码,而大多数编程语言写完源代码之后都需要编译或者有甚者直接运行解析;而对于java的源文件来说,我们就需要先用到 javac 编译器将 filename.java 源代码编译成 bytecode字节码 然后存放到 filename.class 的文件中去;最后当我们运行命令 java filename 的时候, JVM就会运行 filename.class 中的字节码然后输出结果。
这样做有什么好处咧?那可是大大的好处:
- 编译器将源代码转化为字节码存放,我们要知道字节码并非是硬件直接运行的机器代码,这个.class的字节码文件可以传输到各个平台(体现了java的跨平台优点),包括并不限于windows,linux,macOS等;
JVM还会把经常运行的代码标记为热点代码,并使用JIT即时编译编译成机器代码,大大提高运行性能;
- 然后这个.class文件再由各个平台的JVM来运行,只要每个平台下载安装JDK工具,基本上运行这些文件是没问题的;
并且Java平台是一个纯软件操作平台
但是启动虚拟机是要耗时和耗性能的,所以以前的人总说java没C/C++快,但是随着各个平台的优化和性能的提升,这些差距可是一直在缩小,几乎可以忽略不计;
HelloWorldApp.java
package HelloWorld;
/**
* This is the first Hello world in Java
* @ 西行修真的伍师弟
* @ 28/05/2020
*/
public class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // display string
}
}
Bash
$ javac HelloWorldApp.java
$ ls
HelloWorldApp.class HelloWorldApp.java
$ java HelloWorldApp
Hello World!
$
西行修真的伍师弟