什么是编译JDK以及为什么编译JDK

JDK(Java Development Kit )中文名是Java开发工具包。

JDK有两种:一种是JDK成品包,一种是JDK源码包。

JDK成品包: 我们在oracle官网下载的JDK一般都是JDK成品包,它是由oracle公司编译JDK源码之后形成的JDK成品,我们可以直接安装它以此来执行java程序。

JDK源码包: 我们下载的openJDK一般都是JDK源码包,里面放的是JDK的源码,我们要使用它的话必须先进行编译。我们编译的好处就是这个是我们自己的JDK,我们有它的源码可以对其进行我们想要的修改,以此来进行实验。

我们编译jdk的意义:

我们无法直接操作oracle官网下载的JDK因为它是已经编译好的,我们没有它的源码所以无法把我们对它的修改应用到我们的程序上,因为那并不是JDK源码,而JVM执行的是class文件,官网的JDK源码我们没有,所以我们无法编译官网的JDK。这就导致我们如果想修改JDK源码来做实验就只能用属于自己的JDK,这时我们就需要去下载JDK源码,然后可以进行修改或者直接编译,然后把编译后的JDK成品用于我们想要做实验的环境。

比如我们如果想要窥探Java虚拟机内部的实现原理,就可以编译一套自己的JDK,然后跟踪调试我们自己编译的JDK一次来了解Java技术体系的运作。

这里需要注意我们每一次修改JDK源码都需要重新编译,它跟我们手写的java程序是一样的,我们修改的是JDK源码,JVM执行的是class字节码文件,所以想要执行我们的修改内容就需要重新编译。

猜你喜欢

转载自juejin.im/post/7123868797231955982