java平台简介
java平台
在初学java时,我学了有关java的一些类库,以及一些有关线程和服务器搭建的知识。
那么,后来我便有了疑问,我想要知道,java平台到底是什么。
所以我查阅了一些资料,总结一下,也是加深一下我自己的理解。
- 符合java语法的源文件通过javac命令被编译成class文件,然后又可以通过不同操作系统平台的java命令行运行相同的class文件,得到相同的接过;
- 那么,在这个过程中支撑着完成一整套操作的系统才应该是完整的java平台。
Java是什么?
简单来说,包括两点,其一是字节码,其二便是class文件。
- 字节码bytecode; 是Java规范中的内容,是java程序跨平台的基础,也就是说通过这种规范,我可以让代码既可以在windows平台上跑也可以在Linx平台上跑;
- class文件; Java源文件可以被编译生成class文件,而class文件就是由字节码组成的;只要有一种合适的编译器,那么不管什么语言也可以被编译生成可执行的class文件;
- 最后,执行字节码文件的就是我们熟悉的Java虚拟机JVM;我们通常直观感受到JVM存在的则是一系列java命令的执行,而不同的操作系统可以有不同的JVM来执行相同的字节码文件;所以这就是我们通常所说的Java中的“一次编写,到处执行”。
JVM
- JVM Specification:JAVA虚拟机规范,核心功能是执行字节码;
- 由此,只要满足了这个规范,就可以是JAVA虚拟机;
- Azul的Zing虚拟机是业界公认的性能最好的虚拟机;阿里也开放了自己的虚拟机DragonWell,不过只支持Linx操作系统;
重新认识Java是什么
- JAVA最核心的正是规范,包括我们前面提到的JVM规范,也包括字节码规范;OpenJDK实现了这些规范,并在GPLv2协议下开源;也就是厂商都会在OpenJDK的基础上进行一系列开发;
- Java是一个开放的平台,可以通过JSR(Java Specification Requests)的形式向JCP(Java Community Process)提出对java规范的修改。