深入理解JVM(一)编译openJDK
生活随笔
收集整理的這篇文章主要介紹了
深入理解JVM(一)编译openJDK
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
此文總結(jié)的很不錯(cuò):https://www.cnblogs.com/ACFLOOD/p/5528035.html
-
準(zhǔn)備openJDK源碼和環(huán)境
1.在linux和macOS上編譯openJDK更加友好,我是在linux上編譯的;
2.編譯jdk有利于理解jvm的運(yùn)行過(guò)程,下載openJDK:https://my.oschina.net/u/2518341/blog/1931088
3.編譯openJDK的過(guò)程也需要jdk,我編譯的是openJDK 1.7,jdk我也是用的1.7;
4.編譯所需要的linux環(huán)境安裝:
sudo yum install build-essential gawk m4 libasound2-dev libcups-dev libxrender-dev xorg-dev xutils-dev x11proto-print-dev binutils libmotif3 libmotif-dev ant5.配置環(huán)境變量:vim /etc/profile
#語(yǔ)言選擇,必須配置 export LANG=C #編譯過(guò)程所依賴的jdk export ALT_BOOTDIR=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.191-2.6.15.4.el7_5.x86_64 #允許自動(dòng)下載依賴 export ALLOW_DOWNLOADS=true#并行編譯的線程數(shù) #export HOTSPOT_BUILD_JOBS=6 #export ALT_PARALLEL_COMPILE=6
#使用預(yù)編譯頭文件,編譯更快
export USE_PRECOMPILED_HEADER=true
#要編譯的內(nèi)容
export BUILD_LANGTOOLS=true
#export BUILD_JAXP=false
#export BUILD_JAWS=false
#export BUILD_CORBA=false
export BUILD_HOTSPOT=true
export BUILD_JDK=true
#避免Javaws和Java插件之類(lèi)的build
BUILD_DEPLOY=false
#避免build出安裝包
BUILD_INSTALL=false
#編譯結(jié)果的路徑
export ALT_OUTPUTDIR=/usr/local/openjdk/jdk-9b8c96f96a0f/build
#另外,這兩個(gè)必須配置上
unset JAVA_HOME
unset CLASSPATH
配置好之后輸入make sanity來(lái)檢驗(yàn)是否正確
-
編譯
輸入"make"指令,需要一定的時(shí)間,最終編譯出的源碼在上面配置的ALT_OUTPUTDIR中。
?
轉(zhuǎn)載于:https://www.cnblogs.com/lcmlyj/p/9958781.html
總結(jié)
以上是生活随笔為你收集整理的深入理解JVM(一)编译openJDK的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java之对象的复制
- 下一篇: Day004_Linux基础命令之特殊符