如今不少語言都不開發運行環境了,都選擇在JRE上運行,足以證實JVM的優越。你精通了JVM,將來的路纔可能走得輕鬆。這篇文章是你走近jvm的第一篇,編譯Openjdk8源碼java
操做系統:Ubuntu16 (ubuntu-16.04.6-desktop-amd64.iso)linux
boot jdk:jdk7 (jdk-7u80-linux-x64.tar.gz)shell
Openjdk:jdk8 (openjdk-8u40-src-b25-10_feb_2015.zip)ubuntu
Ubuntu提供兩種進入方式,一個是咱們日常最熟悉的圖形界面形式,還有一種是純命令行方式vim
Ctrl + Alt + F6 便可進入純命令行模式,進入後,須要輸入用戶名,密碼bash
接着安裝vim工具,並用vim打開以下文件網絡
sudo vim /etc/network/interfaces
添加如下內容ssh
修改以下文件,將managed設置爲true,若是是隻讀文件,須要受權(此處再也不贅述)jvm
/etc/NetworkManager/NetworkManager.conf
打開以下文件, 添加內容工具
/etc/resolvconf/resolv.conf.d/base
重啓網絡服務
service network-manager restart
Ubuntu 更改文件權限及chmod詳細用法以下:
1、經常使用方法以下:(其中×××指文件名)
(全部者有讀和寫的權限,組用戶只有讀的權限)
sudo chmod 644 ×××
(每一個人都有讀和寫以及執行的權限)
sudo chmod 777 ×××
輸入如下命令進行安裝遠程ssh服務
# sudo apt-get install openssh-server
若沒有ssh,須要執行
# sudo apt-get install ssh
(設置完靜態ip,並用xshell遠程鏈接成功,以下圖)
一、安裝依賴(這步比較慢,耐心等待)
sudo apt-get install libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev libcups2-dev libfreetype6-dev libasound2-dev ccache
或者
sudo apt-get install libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev sudo apt-get install libcups2-dev sudo apt-get install libfreetype6-dev sudo apt-get install libasound2-dev
二、安裝boot jdk
由於openjdk源碼中有些功能是用Java代碼實現的,好比調試工具:jps、jstat等,還有一些核心jar包,如rt.jar、tools.jar等,都須要相應版本的JDK。boot jdk須要比你編譯的jdk版本低,這裏咱們用jdk7
直接解壓到Documents目錄下,而後配置下環境
tar zxvf jdk-7u80-linux-x64.tar.gz
配置path
vim ~/.bashrc
文件底部加入下面三句話(改爲你本身的用戶名)
export JAVA_HOME=/home/lusai/Documents/jdk1.7.0_80 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH
讓配置的path從新生效
source ~/.bashrc
查看是否安裝成功
java -version
3.解壓openjdk8 ,
安裝 unzip
sudo apt install unzip
進入 openjdk8 的主目錄,解壓文件
unzip openjdk-8u40-src-b25-10_feb_2015.zip
進去解壓的文件
cd /home/lusai/Documents/openjdk
執行配置命令,填寫Boot jdk的安裝目錄
sudo bash configure --with-target-bits=64 --with-boot-jdk=/home/lusai/Documents/jdk1.7.0_80/ --with-debug-level=slowdebug --enable-debug-symbols ZIP_DEBUGINFO_FILES=0
若是配置成功,則會顯示以下信息:
開始編譯(時間較長,請耐心等待)
sudo make all DISABLE_HOTSPOT_OS_VERSION_CHECK=OK ZIP_DEBUGINFO_FILES=0
看到下面這個畫面就證實編譯成功,就能夠用了
若在編譯過程當中,出現如下錯誤,請不要慌張,這並無太大問題(網上是這麼說的,最後確實也是沒太大問題):
查看剛纔編譯成功的openjdk版本。首先進入 如下目錄,
cd /home/lusai/Documents/openjdk/build/linux-x86_64-normal-server-slowdebug/jdk/bin
再執行命令 ./java -version。可得以下結果:
./java -version
至此,Openjdk8編譯大功告成