JVM虚拟机学习之(1)使用 Ubuntu 14.04 编译 OpenJDK 9

一 概念

我们平常用的 JDK 是已经编译好的,不能看到内部的运行,不同的平台JDK底层实现也有差异。编译 JDK 的目的是为了查看Java 虚拟机的内部运行,既要能看到源码,又需要运行源码。就像我们编写Java代码之后运行编译执行一样。因为 JDK 的实现有C、C++ 和 Java 的参与,C 的编译工具有gcc 和clang,Java部分需要被编译JDK的上一个版本作为环境。主流的操作系统也都可以编译,但是兼容性最好的是Ubuntu 14.04 。在编译版本的选择上因为老版本的JDK编译和现代有时间差,很可能有老坑没填,咱们也没能力填。所以我选择使用 OpenJDK 9.使用Oracle JDK 8 作为运行Java的环境。

  • 系统:Ubuntu 14.04

  • 编译JDK:OpenJDK 9

  • 运行JDK(BootStrap JDK):jdk-8u201-linux-x64.tar.gz

二 所需资源

  1. Ubuntu 14.04 运行的操作系统

  2. OpenJDK 9 用来编译的JDK

  3. jdk-8u201-linux-x64.tar.gz 用来做运行环境的JDK

  4. eclipse-cpp-helios-SR2-linux-gtk-x86_64.tar.gz 用来调试的工具

  5. make-4.0.tar.bz2 用来升级操作系统make命令的版本

所需资源已经放在网盘

链接:https://pan.baidu.com/s/1aj_-cxA_05HrhjxEZuAAKQ
提取码:jpla

三 操作步骤

1. 安装操作系统

1.1 安装请参考 https://blog.csdn.net/yonglingqin9031/article/details/80425076

1.2 配置源请参考 https://blog.csdn.net/qq_38427678/article/details/84570512

2. 安装 JDK

2.1 请参考 https://www.cnblogs.com/zsr0401/p/6279436.html

3. 安装编译所需依赖的软件

在 Bash(终端)中依次粘贴执行以下命令,如果安装失败,是源没有配置好

sudo apt-get install libfreetype6-dev
sudo apt-get install libcups2-dev
sudo apt-get install libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev
sudo apt-get install libasound2-dev
sudo apt-get install libffi-dev
sudo apt-get install libelf-dev

检测 make 命令的版本

sudo make -version

默认是3.8.3,官方文档建议使用 4.0 所以我们就安装4.0的,取出网盘中的 make-4.0.tar.bz2 文件,解压安装
请参考 https://blog.csdn.net/yaobao888/article/details/45568601

4. 使用configure 命令进行依赖检测

bash configure --disable-warnings-as-errors --with-debug-level=slowdebug --with-native-debug-symbols=internal

5. 使用make编译

make images

6. 将源码引入eclipse中

安装 eclipse 请参考 https://www.cnblogs.com/amanlikethis/p/3401370.html
引入到 eclipse 中请参考 https://blog.csdn.net/liji_xc/article/details/78649302

posted @ 2019-03-15 11:54  vwa  阅读(318)  评论(0编辑  收藏  举报