一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 什么是Java SE?生產環境裝JDK還是JRE?

什么是Java SE?生產環境裝JDK還是JRE?

2021-07-26 23:22BAT的烏托邦YourBatman Java教程

JVM、JRE、JDK是口上最為常說的J系列縮略語,那么JDK 8和Java 8是一回事嗎?還有Java SE 8有時候著實分不清道不明。含糊其辭難免會讓”他人“覺得不專業,本文就花上幾分鐘來了解了解。

什么是Java SE?生產環境裝JDK還是JRE?

前言

你好,我是A哥(YourBatman)

上篇文章搞完什么是Java EE意猶未盡,在敦促之下一口氣把Java SE也拿下。如果說搞Java EE是在炒冷飯,但Java SE必定是永恒。

JVM、JREJDK是口上最為常說的J系列縮略語,那么JDK 8和Java 8是一回事嗎?還有Java SE 8有時候著實分不清道不明。含糊其辭難免會讓”他人“覺得不專業,本文就花上幾分鐘來了解了解。

所屬專欄

  • BATutopia-Java EE

相關下載

  • Java EE工程源代碼:https://github.com/yourbatman/BATutopia-java-ee
  • JSR-JCP工程源代碼:https://github.com/yourbatman/JSR-JCP
  • JSR文件網盤下載:https://wangpan.yourbatman.cn/s/nRtq 密碼:jsrjcp

版本約定

  • Java SE 8(非Open JDK)

正文

 

什么是Java SE?生產環境裝JDK還是JRE?

什么是Java技術?

Java技術既是一種編程語言,又是一種平臺。Java語言的主要特性有:

  • 簡單
  • 面向對象
  • 分布式
  • 多線程
  • 高性能(編譯型非解釋型)
  • 健壯性強
  • 安全

在Java編程語言中,所有源代碼首先以.Java擴展名結尾的純文本文件編寫。這些源文件由javac編譯器編譯成.class文件,.class文件不包含處理器本機代碼(也就是說和本機OS無關)。而是包含字節碼 -> JVM的機器語言,然后.class是運行于特定的JVM虛擬機上的。

什么是Java SE?生產環境裝JDK還是JRE?

由于不同的操作系統上都有各自對應平臺的JVM,所以一份Java代碼(一份.class字節碼)可以運行在不同的操作系統上,實現跨平臺的目的。正所謂Java是跨平臺的語言,JVM是跨語言的平臺。

什么是Java SE?生產環境裝JDK還是JRE?

API和Java虛擬機將程序與底層硬件隔離開來,做到程序無關性。

什么是Java SE?生產環境裝JDK還是JRE?

JVM、JRE、JDK三者關系

其實這個問題的答案,官方早已非常準確的給了答案,可能鮮有人關注。這里我就把它強調出來,一切都源自官方出品的張圖:

什么是Java SE?生產環境裝JDK還是JRE?

這張圖是不是清清楚楚、明明白白的告知了JVM、JRE、JDK三者的關系?咱們把這個關系簡化一下:

什么是Java SE?生產環境裝JDK還是JRE?

一目了然了吧,它們哥弎是一種包含關系。

JVM是什么?

Java Virtual Machine:Java虛擬機。負責支持的Java應用程序的執行,是讓Java實現一處編寫,到處運行的保證。

起初JVM僅作為Java語言的運行時環境,現在它儼然發展為一個平臺,能夠支持多種語言的運行如Kotlin、Groove

每個操作系統(Windows、Linux、Mac OS)都有自己的JVM實現,屏蔽掉應用程序對底層OS的感知,方可讓Java具有跨平臺的能力。

什么是Java SE?生產環境裝JDK還是JRE?

值得注意的是,JVM是一種規范,從而允許不同廠商實現自己的JVM。當然Sun/Oracle官方自己也有,那便是Hotspot虛擬機。它是Sun JDK和OpenJDK中所自帶的虛擬機,也是使用范圍最廣的Java虛擬機。

除此之外比較著名的還有IBM的J9 VM、安卓上的KVM、微軟的Microsoft JVM、Oracle的JRockit VM(現已和Hotspot合并)...

我們熟悉的CMS、G1、ZGC都屬于官方的垃圾回收算法,是JVM核心性能指標

JRE是什么?

Java Runtime Environment:Java運行時環境。為Java程序有效運行的工具(環境),同樣的,它和底層OS系統版本綁定。我們常見的那些API都在這里,比如rt.jar,比如這些包名:

什么是Java SE?生產環境裝JDK還是JRE?

Java是一門偏向保守的語言,因此JRE在向后兼容性方便一直都非常謹慎,保持得都非常非常非常好。基于此呢,可以看到官方總是建議你升級到最新版本,以獲取更好的性能表現、安全表現。你看Java SE都已經發布到16/17版本了,但:你發任你發,我用Java 8。

Sun官方對JRE是提供了單獨下載的,如果只是想運行一個已編輯/打包好的Java程序,使用JRE就夠了。它的體積更小,下載安裝起來更便捷。體積上差異不小啊:“以Java SE 8u291版本為例:JRE僅87m,而對應的JDK高達271m,3倍有余”

什么是Java SE?生產環境裝JDK還是JRE?

什么是Java SE?生產環境裝JDK還是JRE?

JDK是什么?

Java Development Kit:Java開發工具包,它包含有JRE。新手注意了這是知識點:若安裝了JDK,無需再額外安裝JRE。

可認為JDK它是JRE的擴展,為方便開發人員開發Java程序的工具包。包含有編譯器javac、Javadoc工具、debugger斷點調試工具、javap反編譯工具等,還有更多,看官網就清楚了:https://docs.oracle.com/javase/8/docs/technotes/tools

為了方便閱讀,這里我把JDK這些工具截圖給你,應該能看見不少眼熟的工具,不出意外也使用過不少吧。

什么是Java SE?生產環境裝JDK還是JRE?

雖然JDK提供了非常多好用的工具,但如今我們開發人員似乎使用得越來越少,這也是為何你看到上圖還是很陌生的原因。

JDK的這些工具,“替代品”大都可完成,如:

  • 使用Maven/Gradle來完成自動編譯(底層可以是Javac或者eclipse的jdt)
  • 使用IDE集成開發工具完成自動編譯(如IDEA、Eclipse等)
  • 使用IDE來debug調試程序(如IDEA、Eclipse等)
  • 使用IDE來查看運行時內存信息(如IDEA)
  • ...

總之,集成開發環境IDE越來越強大,使得開發者可通過圖形化界面直接操作從而提升效率,間接的就是JDK的工具就被使用得越來越少了。這并非一個“好消息”,因為在脫離了IDE的場景下依舊還得原生的工具出馬,比如線上部署環境。

生產環境應該安裝JDK還是JRE?

一般來講,線上環境只會扔一個jar/war包(或者一個制品庫)上去直接運行,不可能在上面調試更不可能編碼,所以使用更加輕量級的JRE更合適?

非也非也!生產環境應該安裝JDK而非JRE!!! 理由如下:

1.JDK是JRE的超集,功能只多不少

2.JDK相較于JRE的劣勢是安裝時間長點、占用硬盤空間大點。但相比之下這根本都不算劣勢

  • JDK僅需安裝一次,時間再長都能接受
  • 占用硬盤空間大這個,額,不說了

3.JDK提供不少順手的工具集,如:jmap、jstack、jinfo、jps等等,相信有經驗的程序員同學對這些“實用小工具”不陌生

4.JDK有編譯器,能實現“動態編譯”的能力

想想當年流行的JSP文件,它是在運行期間首次訪問時通過JSP->Servlet->.class文件有的.java文件是通過網絡動態讀取的,這個時候也需要運行期間的試試編譯能力

那么單獨的JRE就沒有用武之地了嗎?當然有,桌面端程序就是典型的例子。比如Java程序員最常用的IntelliJ IDEA它就自帶JRE嘍(桌面端程序完全沒必要安裝JDK嘛),當然還有Eclipse(舊版Eclipse必須依賴于本機的JRE環境才能運行,新版已經和IDEA一樣把環境內置了)。

Oracle的JDK的是免費的嗎?

答:不是。

可能你早就聽聞過Oracle對JDK要開始收費,時間撥回到2019年4月份,Oracle發布了JDK 8的兩個更新補丁:8u211和8u212,記住這兩個特殊的版本。

作為小版本功能上肯定并無多少變化,重點在于:新版本的許可協議從BCL換成了OTN,也就是說你將不能在生產環境使用新版/更新版 JDK,若要使用就必須付費了。嗯,這很Oracle:先收購,再收費。

BCL vs OTN許可協議

BCL許可協議:Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX(Java SE平臺產品和JavaFX的Oracle二進制代碼許可協議)。簡而言之:它是一種開放協議,只要你同意此協議就可以使用它,無需費用。除了不能修改它外,私用和商用都可以。

OTN許可協議:Oracle Technology Network License Agreement for Oracle Java SE(針對Oracle Java SE的Oracle技術網絡許可協議)。簡而言之:它是一種商業授權協議,必須付費授權后才能商用(私用免費),否則...

為了方便查找到自己當前使用的JDK是否需要付費,這里給出一張表格一目了然:

什么是Java SE?生產環境裝JDK還是JRE?

嘿嘿,默默的查看自己服務器上的JDK版本,中招了嗎?

收費標準

既然JDK開始收費,那到底貴不貴呢?來看看現在的收費標準:

什么是Java SE?生產環境裝JDK還是JRE?

桌面版:類似于windows一人一份,按設備數/人頭數來計算。每人200元/年樣子(若人數超過5萬人,聯系Oracle的銷售代表有更大優惠)服務器版:用于服務器、云計算等。按照機器數量來計算,每臺2000元/年樣子(若數量超過2w臺,聯系Oracle的銷售代表有更大優惠)

也許你會覺得奇怪:也沒見個人/自己公司為此付過費呀,怎么肥四?答:這是因為你在天朝,就像你為windows付過費么?

大企業、國企、央企除外...

當然,不使用Oracle的JDK并不是不能做Java開發了,還有Open JDK嘛。比如流行的就有:

  • 阿里巴巴的dragonwell
  • Amazon的Corrett
  • 華為的畢昇JDK
  • 騰訊的Kona
  • IBM的JDK
  • ...

附:Oracle JDK的下載方式

這完全是獻給剛學Java的初學者的,但不瞞你說,隨著Oracle改變了JDK的下載方式(隱藏較深、需要登錄等等),不止一次遇到工作N年的同事下個JDK搞了半天(真實的半天哦)。

1、Java官網下載

這里指的是鼎鼎大名的域名java.com,也叫Java 官網。擁有這么nx的域名,現在貌似只做著一件事:提供JRE的下載

什么是Java SE?生產環境裝JDK還是JRE?

下載頁面地址:https://www.java.com/zh-CN/download特點:

  • 無需登錄,下載十分便捷
  • 只能下載JRE 8版本(畢竟8現在依舊是主流),更新的下載不了
  • 只能下載JRE,并不能下載到JDK(倘若這里直接能下載到JDK的話,那應該沒Oracle官網什么事了)

小細節:實際仍是從oracle服務器下載的文件

什么是Java SE?生產環境裝JDK還是JRE?

2、Oracle官網下載

根正苗紅,最具權威性,是Java開發者首選的下載JDK方式。這里可以下載Java 16、Java 11、Java 8、Java 7等所有版本,這里以Java 8為例:

什么是Java SE?生產環境裝JDK還是JRE?

當然下載的時候依舊少不了“大字報”提示你記得付費:

什么是Java SE?生產環境裝JDK還是JRE?

下載頁面:https://www.oracle.com/cn/java/technologies/javase-downloads.html特點:

  • 需要登錄,方可下載(也就是說必須有Oracle賬戶且登錄了才行)
  • 可下載到所有版本的JDK、JRE

小細節:從java.com上下載到的jre與oracle官網下載到的是同一個文件(文件名、大小均相同),但下載地址稍有差別哦(估計是為了區分:一個需要登錄,一個不需要登錄吧

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国语自产拍在线播放不卡 | 蜜汁肉桃全文免费阅读 | 成人免费淫片95视频观看网站 | 男女男精品视频网站 | 91会员| 国产一级在线观看视频 | 免费被黄网站在观看 | 四虎影视黄色 | 国产麻豆流白浆在线观看 | 亚洲欧美日韩中文字幕网址 | 极品奶妈漫画 | 成人国产午夜在线视频 | 欧美一级片免费看 | 欧亚精品一区二区三区 | 波多野结衣教师未删减版 | 特黄特级高清免费视频毛片 | 亚洲精品福利一区二区在线观看 | 国产成人啪精品午夜在线播放 | 国产乱子伦真实china | 国产亚洲女在线线精品 | 欧美高清milf在线播放 | 亚洲男人天堂网址 | 国产高清在线精品一区二区三区 | 9999视频| 国产成人久久久精品一区二区三区 | 亚洲欧美日韩特级毛片 | 糖心视频在线观看 | 久久久精品日本一区二区三区 | 免费国产白棉袜踩踏区域 | 四虎在线最新地址公告 | 日本偷拍xxxxxxww | 国产xxxxxx久色视频在 | 美女扒开屁股让男人进去 | 国产夜趣福利第一视频 | 91久久精品国产一区二区 | 亚洲白拍 | 范冰冰好紧好滑好湿 | 免费大片 | 欧美黑人性猛交╳xx╳动态图 | 视频在线观看入口一二三2021 | 国内精品视频一区二区三区八戒 |