电商网站页面布局,施工企业自营率怎么算,windows7PHP网站建设,wordpress网店主题下载JDK
jdk是编译java源文件成class文件的#xff0c;我们使用javac命令把java源文件编译成class文件。 我们在java安装的目录下找到bin文件夹#xff0c;如下图所示:
遵循着编译原理#xff0c;把java源文件编译成JVM可识别的机器码。 其中还包括jar打包工具等。主要是针对…JDK
jdk是编译java源文件成class文件的我们使用javac命令把java源文件编译成class文件。 我们在java安装的目录下找到bin文件夹如下图所示:
遵循着编译原理把java源文件编译成JVM可识别的机器码。 其中还包括jar打包工具等。主要是针对开发人员使用。
JRE
JRE包含java虚拟机和java所需要的核心类库。核心类库主要是java.lang包和java程序执行所需要系统类如基本数据类型、基本数学函数、字符串的处理、线程、异常类。jdk1.8和之前的安装中会把jre安装好。在之后的版本中(oracle)后需要编译jre文件
JVM
Java Virtual Machine是java虚拟机虚拟机可识别class文件不同的平台有对应的JVMjvm对class文件的识别也是一致的。所以java语言能够跨平台。
什么是字节码
java源代码编译成的class文件正常的处理器识别不了class文件只有JVM可识别class文件。class文件就是字节码文件
采用字节码的好处
Java语言通过字节码的方式在一定程度上解决了传统解释型语言执行效率低的问题同时又保留了解释型语言可移植的特点。所以Java程序运行时比较高效而且由于字节码并不专对一种特定的机器因此Java程序无须重新编译便可在多种不同的计算机上运行
java的编译器和解释器
Java中引入了虚拟机的概念即在机器和编译程序之间加入了一层抽象的虚拟机器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机生成虚拟机能够理解的代码然后由解释器来将虚拟机代码转换为特定系统的机器码执行。在Java中这种供虚拟机理解的代码叫做字节码即扩展为.class的文件它不面向任何特定的处理器只面向虚拟机。每一种平台的解释器是不同的但是实现的虚拟机是相同的。Java源程序经过编译器编译后变成字节码字节码由虚拟机解释执行虚拟机将每一条要执行的字节码送给解释器解释器将其翻译成特定机器上的机器码然后在特定的机器上运行这就是上面提到的Java的特点的编译与解释并存的解释
Java源代码–编译器–jvm可执行的Java字节码(即虚拟指令)–jvm–jvm中解释器—机器可执行的二进制机器码–程序运行
Oracle JDK 和 OpenJDK 的对比
Oracle JDK版本将每三年发布一次而OpenJDK版本每三个月发布一次OpenJDK 是一个参考模型并且是完全开源的而Oracle JDK是OpenJDK的一个实现并不是完全开源的Oracle JDK 比 OpenJDK 更稳定。OpenJDK和Oracle JDK的代码几乎相同但Oracle JDK有更多的类和一些错误修复。因此如果您想开发企业/商业软件我建议您选择Oracle JDK因为它经过了彻底的测试和稳定。某些情况下有些人提到在使用OpenJDK 可能会遇到了许多应用程序崩溃的问题但是只需切换到Oracle JDK就可以解决问题在响应性和JVM性能方面Oracle JDK与OpenJDK相比提供了更好的性能Oracle JDK不会为即将发布的版本提供长期支持用户每次都必须通过更新到最新版本获得支持来获取最新版本Oracle JDK根据二进制代码许可协议获得许可而OpenJDK根据GPL v2许可获得许可