JVM深度解析

Ubuntu上编译 openjdk 源码

2018-09-20  本文已影响45人  Ethan_Walker

编译 openjdk 源码能够获得两种版本的 jdk,一种是 debug 版本,还有一种是 product 版本

虚拟机大部分参数可以在 product 版本上直接操作,但是跟踪本地代码生成的具体过程相关参数信息(如 -XX:PrintIdealGraphLevel=2等),必须在 debug 版本的 openjdk 才能执行。

两种版本的编译方式仅仅在下面所述的第 5 步有差别

1 安装 mercurial工具

sudo apt-get install mercurial

2 安装必要的依赖

sudo apt-get install build-essential gawk m4 libasound2-dev libcups2-dev libxrender-dev xorg-dev xutils-dev x11proto-print-dev binutils libmotif-dev ant

3 获取 jdk9 源码

hg clone http://hg.openjdk.java.net/jdk9/jdk9
cd jdk9
sudo chmod u+x get_source.sh
./get_source.sh

4 安装 bootstrap jdk(本机使用的 jdk 版本)

该版本一般要大于等于 9(编译的jdk版本号)-1=8 ,最好是 8u 以上版本

sudo apt-get install openjdk-8-jdk
查找 jdk 安装目录
whereis jdk

5 配置

如果是构建 product 版本的jvm

bash configure

在目录: build/linux-x86_64-normal-server-release

如果是构建 fastdebug 版本的 JVM

bash configure --enable-debug

在目录: build/linux-x86_64-normal-server-fastdebug

6 编译

make all

上一篇下一篇

猜你喜欢

热点阅读