上学期买了本《深入理解Java虚拟机》,第一章的内容就是编译一份openjdk或者Hotspot,当时觉得有时间就去自己试一下。今天花了一整个下午的时间,终于把这个玩意(Hotspot)给搞定了。自己不去编译一次,不会知道这玩意并不简单,但是也算对Linux下的编译加深了认识,毕竟平时都在Windows平台敲代码,Linux也只有部分实验课用到了。
参考书籍:《深入理解java虚拟机 》《Hotspot实战》
好吧,先说一下我准备的原材料:
要编译的JDK版本:openjdk7 b147(这个好像是分支代号)
BOOTJDK:jdk1.6.0_45
OS:Ubuntu 14.04.1
ant:1.10.1
进入hotspot目录下,新建mymake.sh,内容如下:
比较重要的是记住unset JAVA_HOME和CLASSPATH(如果环境变量配置了这两个),否则有诡异事情发生(书籍原话),我没有遇到过。其它的配置都比较简单能看懂了。
#!/bin/bash
export LANG=C
export ALT_BOOTDIR="/usr/lib/java/java_32/jdk1.6.0_45"
export ALT_JDK_IMPORT_PATH="/usr/lib/java/java_32/jdk1.6.0_45&#