日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

JDK源码——JDK8源码编译全流程(linux)

發布時間:2023/12/10 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JDK源码——JDK8源码编译全流程(linux) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

摘要

大家平時用的JDK都是orcal官網等進行編譯好了。但是有同學在公司做開發時候或者是自學習的時候需要對源碼進行操作,甚至對JDK做定制化的開發的時候,就需要我們自己進行源碼進行重新編譯。因此博文將詳細介紹JDK8源碼自編譯的流程,給大家一個學習和參考的方法。

一、linux系統安裝所需的依賴

yum install alsa-lib-devel cups-devel libX* gcc gcc-c++ freetype-devel libstdc++-static ant make yum install clang -y yum install clang++ -y yum install autoconf -y yum install freetype freetype-config -y

?檢查依賴是否安裝成功:

?二、安裝一個jdk作為bootstrap jdk

你要編譯openjdk8 那么電腦上至少都要裝一個jdk7,下圖是我電腦上配置的jdk,配置流程跟在Linux上配置jdk一樣的

三、下載openjdk源碼

Java Platform, Standard Edition 8 ReferenceImplementations

四、自動配置

解壓下載好的源碼包之后,進入解壓后的源碼包(下圖為目錄結構),輸入 sh configure 進行自動配置(默認沒有build目錄,這是編譯成功后生成的)

五、進行編譯

第一次編譯輸入make all (全量編譯)指令,等待時間比較久,耐心等待

進入build目錄在進入生成的 linux-x86_64-normal-server-release目錄

這里面的images目錄是編譯生成的jdk成品鏡像,?

六、源碼編譯結果測試

修改好自己的代碼后進行 make images(增量編譯) 就能完成源碼的修改并生效。PS:給虛擬機的內存要大,不然打開idea執行編譯是內存會不夠用,或者把idea關閉之后執行編譯

特別提示:注意的是此JDK源碼是在linux下進行編譯的,因此生成的SDK的包只能在linux下能運行成功。如果將這個SDK導入woidow將不會起作用。

有朋友就會問,我平時碼代碼的時候都是在window工作的,你用Unix內核的系統給我編譯出來的玩意能在window上運行么?回答肯定是不行的,還記得java為什么能跨平臺么?沒錯不是java能跨平臺,而是JVM的實現是居于不同平臺的,那就意味著,不同平臺編譯出來的JDK只能在對應平臺上運行,JVM根據不同平臺翻譯為對應的機器碼,JVM才是java能跨平臺的基石;那么window平臺的碼友就不好意思了,只能自己嘗試在window上編譯。

博文參考

JDK---00Linux上編譯openjdk8 - Jenne - 博客園

Ubuntu14.04LTS編譯JDK1.8 - _小妖 - 博客園

Linux下編譯OpenJDK源碼 - 簡書

Java Platform, Standard Edition 8 ReferenceImplementations

總結

以上是生活随笔為你收集整理的JDK源码——JDK8源码编译全流程(linux)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。