深入理解JVM原理之编译openjdk7
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
? ? ? ? Java虛擬機(jī)種類很多例如:HotSpot 丶 JRockit 丶 J9等
我們一般用的就是HotSpot,如果我們電腦上裝了JDK,可以運(yùn)行java -version查看相關(guān)信息
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系統(tǒng),linux系統(tǒng),各種不如意,尤其是windows系統(tǒng)操作起來比linux更復(fù)雜,最后不得不放棄,centos試過,redhat也試過,各種不行 ,簡(jiǎn)直要吐血,
不過蒼天不負(fù)有心人,經(jīng)過一周的不斷嘗試,終于使用Ubuntu16.04.3搞定.
準(zhǔn)備階段:
①.需要安裝的:使用 apt-get install 命令
build-essential gawk libasound2-dev libcups-dev libxrender-dev xorg-dev ant(1.7以上) libxtst-dev libxi-dev libxt-dev②.openjdk7 , jdk6
我使用的jdk6為:jdk-6u45,
③.將CurrencyData.properties文件中的日期一定要改成10年內(nèi),
否則在編譯過程中會(huì)報(bào)錯(cuò)從而導(dǎo)致編譯失敗:
Error: time is more than 10 years from present: 1136059200000文件位置:?
/usr/openjdk/jdk/src/share/classes/java/util/CurrencyData.properties開始編譯:
①.進(jìn)入openjdk目錄下執(zhí)行make sanity命令若出現(xiàn)如下提示表示檢查通過:
sanity check passed.②.
執(zhí)行如下命令:
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如上命令建議放入到一個(gè)可執(zhí)行文件中
③.靜靜的等待即可(時(shí)間有點(diǎn)漫長(zhǎng),大概三四十分鐘左右,你可以選擇喝杯咖啡,聽首音樂放松一下)
④.可以看到編譯開始及結(jié)束的時(shí)間,恭喜編譯通過.
>>>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?
轉(zhuǎn)載于:https://my.oschina.net/u/2486137/blog/1588865
總結(jié)
以上是生活随笔為你收集整理的深入理解JVM原理之编译openjdk7的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mac上配置React Native
- 下一篇: Xcode调试命令大全 (LLDB Ch