看了网上一些教程,总会遇到各种问题。先把坑列出来
- 坑1、安装 hg,下载 openJDK 8 的源码,我本地各种卡住不动,没法进行下去。
- 坑2、如果不使用 hg,直接在官网下载的 tar.gz 压缩的源码是不完整,编译时报错,缺目录与文件。
- 坑3、安装 JDK7,只装 jre 不行,还需要 jdk。
1、可以从 github 上下载源码,当时不是最新的,比如我找了一个版本
https://github.com/openjdk/jdk/tree/jdk8-b120
Centos 7.4 机器如果没有 git,可以直接下载 zip 文件,使用 unzip 解压
wget https://github.com/openjdk/jdk/archive/jdk8-b120.zip
2、yum 安装相关工具类库,每个环境不一样,需要安装的也不一样,以下是我网上找的教程然后去了重
yum install -y xrender
yum install -y freetype
yum install -y ccache
yum install -y zip unzip
yum -y install zlib zlib-devel
yum -y install bzip2 bzip2-devel
yum -y install ncurses ncurses-devel
yum -y install readline readline-devel
yum -y install openssl openssl-devel
yum -y install openssl-static
yum -y install xz lzma xz-devel
yum -y install sqlite sqlite-devel
yum -y install gdbm gdbm-devel
yum -y install tk tk-devel
yum -y install libffi-devel
yum -y groupinstall "Development Tools"
yum -y install libXtst-devel libXt-devel libXrender-devel
yum -y install alsa-lib-devel cups-devel libX* gcc gcc-c++ freetype-devel libstdc++-static ant make
3、安装 openJDK7,用于启动编译 JDK8
sudo yum install java-1.7.0-openjdk
sudo yum install java-1.7.0-openjdk-devel
4、设置环境变量,不然编译报错找不到环境
vi build_jdk.env
unset CLASSPATH
unset JAVA_HOME
source build_jdk.env
5、修改 JDK 8 源码目录下的 configure,进行可执行授权
chmod +x configure
6、执行 configure
./configure --with-debug-level=fastdebug
7、执行 make
make
虚拟机内,编译耗时 20 分钟的样子。
这个参考是最有效的:
https://my.oschina.net/u/3712005/blog/4549641
【Java学习资源】整理推荐
- Arthas 体验
- Centos 7.4 编译 OpenJDK 8
- MAT 分析堆内存快照
- jclasslib 查看类信息
- 增大 MAT 堆内存
- JVM 常用配置参数(Java 8)
- 40 道JVM面试题解答
- JVM 问题排查常用指令
- jvisualvm 远程连接服务器 JVM
- 字节码指令分类
- -verbose:gc 和 -XX:+PrintGC 的区别
- JVM字节码指令表
- 图解 Class 文件结构
- Class 文件的结构
- JVM 故障处理工具列表
- HotSpot 内存分配的主要规则
- 开启 GC 日志
- 垃圾收集器及特点
- JVM垃圾回收算法
- 什么样的 Java 对象会被当垃圾回收?
- 内存溢出复现
- HotSpot VM 中对象的内存分析
- JVM 控制的内存区域
- JVM家族
- Java 的发展史
- 常见 JVM dump 指令
【Java面试题与答案】整理推荐