自己编译JDK

自己编译JDK

前言

买了《深入理解JAVA虚拟机 JVM高级特性与最佳实践》(周志明,第二版),作者在第一章作了一些介绍后就提出:

想要一探JDK内部的实现机制,最便捷的路径之一就是自己编译一套JDK,通过阅读和跟踪调试JDK源码去了解Java技术体系的原型。虽然门槛会高一点,但肯定比阅读各种书籍、文章更加贴近本质。另外,JDK中的很多底层方法都是本地化(Native)的,需要跟踪这些方法的运作或对JDK进行Hack的时候,都需要自己编译一套JDK。

准备

操作系统

作者说Windows,Linux,Mac都可以,但Windows会麻烦一些,而我目前没有Mac,所以我选择在笔记本上安装的双系统中的Centos7上执行。

源码

两种方式获取源码,一个是用Mercurial在Repository中获取:

hg clone http://hg.openjdk.java.net/jdk7u/jdk7u-dev
cd jdk7u-dev
chmod 755
get_source.sh

我采用的就是这一方式,但速度比较慢,全部下载到本地需要数个小时的时间。

第二个方式是到自己到网站上去下载,作者给出的网址如下:

http://jdk7.java.net/source.html

但似乎页面已经变化,不提供下载了。我在OpenJDK中只找到jdk1.6的源码:
https://download.java.net/openjdk/jdk6
通过修改链接虽然也能找到jdk7的源码下载页面,但这一下载途径似乎已经被禁止了。
在这里插入图片描述

Bootstrap JDK

由于Openjdk7和Oracle jdk8都会报错,我选择安装Oracle jdk7。
详细可以参考下面的链接1。

需要安装的库

yum groupinstall “Development Tools”
yum install alsa-lib-devel cups-devel freetype-devel libXi-devel gcc gcc-c++ libX* ant
这里我参照了下面的链接2和3,具体需要哪些我也不太清楚。

环境变量设置和执行编译(参照《深入理解Java虚拟机》

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值