深刻理解JVM原理之編譯openjdk7

        Java虛擬機種類不少例如:HotSpot 丶 JRockit 丶 J9等java

咱們通常用的就是HotSpot,若是咱們電腦上裝了JDK,能夠運行java -version查看相關信息linux

java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

以前想着編譯openjdk7,可是試過windows系統,linux系統,各類不如意,尤爲是windows系統操做起來比linux更復雜,最後不得不放棄,centos試過,redhat也試過,各類不行 ,簡直要吐血,windows

不過蒼天不負有心人,通過一週的不斷嘗試,終於使用Ubuntu16.04.3搞定.centos

準備階段:ui

①.須要安裝的:使用 apt-get install 命令debug

build-essential 
gawk 
libasound2-dev 
libcups-dev 
libxrender-dev
xorg-dev 
ant(1.7以上)
libxtst-dev
libxi-dev
libxt-dev

②.openjdk7 , jdk6code

我使用的jdk6爲:jdk-6u45,get

③.將CurrencyData.properties文件中的日期必定要改爲10年內,虛擬機

不然在編譯過程當中會報錯從而致使編譯失敗:it

Error: time is more than 10 years from present: 1136059200000

文件位置: 

/usr/openjdk/jdk/src/share/classes/java/util/CurrencyData.properties

開始編譯:

①.進入openjdk目錄下執行make sanity命令若出現以下提示表示檢查經過:

sanity check passed.

②.

執行以下命令:

export LANG=C
export ALT_BOOTDIR="/usr/local/jdk6"
export ALT_JDK_IMPORT_PATH="/usr/local/jdk6"
export BUILD_LANGTOOLS=true
export BUILD_HOTSPOT=true
export BUILD_JDK=true
export SKIP_COMPARE_IMAGES=true
export SKIP_DEBUG_BUILD=false 
export SKIP_FASTDEBUG_BUILD=true 
export DEBUG_NAME=debug
export USE_PRECOMPILED_HEADER=true
export ARCH_DATA_MODEL=64
export HOTSPOT_BUILD_JOB=4
export ALT_PARALLEL_COMPILE_JOBS=4
BUILD_DEPLOY=false
BUILD_INSTALL=false
export ALT_OUTPUTDIR=/usr/local/openjdk/build
export ALLOW_DOWNLOADS=true
unset JAVA_HOME
unset CLASSPATH
make DISABLE_HOTSPOT_OS_VERSION_CHECK=OK

如上命令建議放入到一個可執行文件中

③.靜靜的等待便可(時間有點漫長,大概三四十分鐘左右,你能夠選擇喝杯咖啡,聽首音樂放鬆一下)

④.能夠看到編譯開始及結束的時間,恭喜編譯經過.

>>>Finished making images @ Tue Dec 12 22:16:37 CST 2017 ...
make[2]: Leaving directory '/usr/local/openjdk/jdk/make'
########################################################################
##### Leaving jdk for target(s) sanity all docs images             #####
########################################################################
##### Build time 00:34:22 jdk for target(s) sanity all docs images #####
########################################################################

#-- Build times ----------
Target debug_build
Start 2017-12-12 21:22:34
End   2017-12-12 22:16:37
00:04:43 corba
00:11:40 hotspot
00:00:49 jaxp
00:01:05 jaxws
00:34:22 jdk
00:01:23 langtools
00:54:03 TOTAL
相關文章
相關標籤/搜索