macOS编译openjdk8/11
为了看jdk和jvm源码,我们可以动手编译一个自己的jdk
-
下载jdk源码包并且解压文件,我这里就下了常见的两个版本:jdk8和jdk11
下载
我就把它放在想要的目录位置下: -
检查编译环境是否完整
我使用的是macOS 10.14.3,需要安装Xcodegcc --version g++ --version make --version autoconf --version freetype-config --ftversion
如果上面的环境不完整就brew install一下
另外还需要本机已经具有一个jdk环境了,如果要编译jdk8,需要至少jdk7,如果编译jdk11,我自己用的jdk8也可以这里编译的是jdk11会比较方便,因为jdk8需要的是gcc但是我这个版本的macOS默认使用Clang作为编译器,configure会失败
如果要编译openjdk8,戳这篇文章:mac下编译openjdk8?so easy! -
执行编译步骤(这里就以编译jdk11为例)
进入解压后目录,执行下面命令:sh configure make all
首先执行全量编译,等待时间比较长,编译结果位于当前目录下的build文件夹下
位于 /build/macosx-x86_64-normal-server-release/jdk目录下的就是编译好的jdk了
我们可以cd进这个目录,查看编译好的java版本信息:
可以看到上面的标识已经有我们的名称了,说明是我们自己编译的jdk -
在idea中使用自己编译的jdk,并且查看自己jdk的源码
新建一个idea空项目,并且更换jdk为自己编译的jdk
打开项目设置添加jdk
第二步,把source下的内容更换为自己编译的openjdk目录下的src内容,这样就能查看openjdk源码了
这个目录位置就是解压后的openjdk包下的src目录
第三步,记得在这里更改当前项目的jdk
最后我们运行一个hello world试试看,现在已经使用的是我们编译好的jdk了 -
使用自己的jdk并且对源码做出各种注释之后,需要重新编译自己的jdk来生效
进入jdk的项目目录下,然后执行make image
这次是增量编译,只编译了改动部分,速度比较块,然后在我们debug源码的时候就不会有注释错位的情况产生了。
上一篇: Django入门开发流程
下一篇: centos7 安装jdk1.8
推荐阅读
-
macOS编译openjdk8/11
-
Ubuntu16.04上编译OpenJDK8源代码
-
有关GCC4.7.0编译器对C++11(0x)标准的支持的讨论 编译器C++GCCC++0xC++11
-
使用了auto后仍然无法识别变量的类型?需要在编译时加入-std=c++11
-
在Windows系统中使用VC9、VC11编译32位、64位PHP及其扩展
-
微软:Win11居中开始菜单/圆角窗口不是抄袭macOS、也不影响性能
-
在Oracle 11.2上用Gcc进行64bit编译(Solaris 11, x86)
-
JVM-Ubuntu18.04.1下编译OpenJDK8
-
部分MacBook Pro升级macOS 11系统后黑屏变砖:苹果给出解决方案
-
window10上编译openJDK8