我們可以從Oracle官網下載我們想要的JDK版本
打開官網下載地址: https://www.oracle.com/technetwork/java/javase/downloads/index.html
默認看到的都是各個版本的最新一個版本,如果想要下載自己指定的版本,需要找到歸檔,歸檔版本在哪里呢,往下滑划到最下面哦,如下圖?

點擊 DownLoad! 按鈕,即可打開鏈接,結果見下圖

點擊JavaSE8(8u202 and earlier),見下圖

選擇這個版本,或者后面的版本,然后下載即可,(注意,如果你沒有Oracle賬號,建議免費注冊一個,只有登錄的用戶才可下載)
Oracle收費部分說明是摘自: https://juejin.im/post/5ccce2006fb9a032143770e4
Oracle如何對JDK收費
2019年4月16日,Oracle發布了新的JDK 8的更新,版本號為8u211和8u212。與以往不同的是,新版本的許可協議從BCL換成了OTN,這就意味着,你不能在生產環境使用這個版本了。
如果你想繼續使用8u211/8u212,或者之后發布的新版本,就需要給Oracle交錢了。
當然,並不是你用了新版本的JDK就要交錢,這個時候要區分私用和商用:
私用,是我總結的一個詞,它包括”Personal Use”和”Development Use”,前者表示一些個人用途,比方說在自己的電腦上寫一些小工具,做一些數據分析等等;后者表示開發用途,比如日常開發、做測試、做演示等等。商用不太好界定。我的理解就是拿來賺錢就是商用,比方說把網站部署到生產環境,在公司內部系統使用等。
我用的JDK使用什么協議?
BCL協議,即Oracle Binary Code License Agreement,協議規定你可以使用JDK,但是不能進行修改。私用和商用都可以,但是JDK中的某些商業特性,是需要付費才可以使用的。OTN協議,即Oracle Technology Network License Agreement,目前新發布的JDK用的都是這個協議,可以私用,商用需要付費。從下圖可以看出各個版本對應的協議:
我不想掏錢怎么辦?
商用的話使用上面BCL協議的版本,私用怎么着都行。很多時候,開發者會對什么版本用了什么協議比較迷惑,懶得搞清楚,那么可以直接使用OpenJDK。
OpenJDK是一個基於GPLv2+CE協議的開源JDK實現,他由OpenJDK社區來運作,作為OpenJDK社區的主導者,Oracle也在盡量減少OpenJDK和Oracle JDK的差別(source),將一些商業特性移植到了OpenJDK上,比如Java Flight Recorder,Java Mission Control和ZGC等等。對於普通開發者,兩者差異可忽略不計。OpenJDK同樣會每6個月發布一個新版本,不過每次新的版本發布后,舊的就不維護了,比如OpenJDK 12發布之后,11版本便停止更新,停留在11.0.2版本,沒有LTS一說了。
除了Oracle的OpenJDK,還有很多免費OpenJDK實現可以用,比如 Zulu,AdoptOpenJDK,Amazon的Corretto和阿里巴巴的dragonwell等等。具體他們有什么區別,我們以后再說。
我們大廠願意掏錢怎么辦?
可以通過訂閱Java SE Subscription來付費,桌面用途每人每月2.5刀,服務器用途每個處理器每月25刀,量多還有優惠。Oracle以前還提供Java SE Advanced, Java SE Advanced Desktop和 Java SE Suite等一次性授權,不過現在都建議新老付費用戶換成訂閱制了。
Oracle為什么這么做
當然是賺錢,OTN協議的Oracle JDK現在允許私用也只是想讓開發者養成習慣,將來開發者搞公司項目的時候,非常有可能會習慣性去Oracle官網下載JDK,這樣就導導致了商用項目未經許可違規使用。Oracle法務部的刀肯定老早就磨好了。
謝謝!
