運行java程序首先要搭建JDK環(huán)境,所以深入了解java底層就需要了解JDK內部實現(xiàn)赖阻,從哪里開始呢艰匙?
讓我們從編譯OpenJDK開始吧
OpenJDK是JDK的開源版本享完,大部分源碼是一致的,可以通過調試OpenJDK了解JDK的實現(xiàn)废膘,這篇文章讓我們一起先編譯OpenJDK吧竹海。
環(huán)境準備:CentOS操作系統(tǒng)
1、安裝mercurial
yum install hg
2丐黄、下載OpenJDK
選擇一個文件夾存放下載包斋配,我使用的路徑是/usr/mg/jdk
下載OpenJDK源碼
hg clone http://hg.openjdk.java.net/jdk8u/jdk8u openjdk8
成功后,執(zhí)行
sh get_source.sh
下載很慢,會出現(xiàn)失敗的情況艰争,實踐經(jīng)驗早上7-9點是下載比較快坏瞄,成功概率比較高
下載成功后,目錄如下圖
3甩卓、安裝依賴包
yum install alsa-lib-devel cups-devel libX* gcc gcc-c++ freetype-devel libstdc++-static ant make
4鸠匀、編譯配置
chmod +x configure
./configure --enable-debug
5、開始編譯
#清理 如果make失敗了逾柿,需要先清理一下
make clean
#開始編譯
make
運行成功如下圖
6缀棍、試著編譯一個java文件,創(chuàng)建文件Hello.Java
public?class?Hello{
public?static?void?main(String[] args)
{
System.out.println("Hello OpenJdk8");
}
}
執(zhí)行javac編譯java文件生成class文件机错,并執(zhí)行class文件
../jdk8u/build/linux-x86_64-normal-server-fastdebug/jdk/bin/javac Hello.java
../jdk8u/build/linux-x86_64-normal-server-fastdebug/jdk/bin/java Hello
執(zhí)行結果如圖
OPENJDK編譯完成爬范,最好能動手試一下,編譯過程中有問題弱匪,可以留言
更多好文章可以關注公眾號 MG驛站