最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文徹底搞懂Java和JDK的版本命名問題

 更新時(shí)間:2021年06月04日 16:35:29   作者:程序員慶哥  
今天通過本文給大家分享我對Java的版本號以及JDK的命名的了解,通過實(shí)例圖文展示給大家介紹的非常詳細(xì),需要的朋友跟隨小編一起看看吧

Java是面向?qū)ο蟮木幊陶Z言,在我們開發(fā)Java應(yīng)用的程序員的專業(yè)術(shù)語里,Java這個(gè)單詞其實(shí)指的是Java開發(fā)工具,也就是JDK(Java Development Kit)。所以我們常常在CSDN等各大程序員論壇討論到安裝Java8或者JDK8或者JDK1.8或J2SE8或J2SE1.8或J2SE8或J2SE1.8,其實(shí)這3個(gè)專業(yè)詞匯的概念是一樣的。

告訴慶哥,你對Java的版本號以及JDK的命名真正清楚嘛?比如:

  1. Java8
  2. Java SE 8.0
  3. JDK1.8
  4. ……

知道這些是怎么回事嘛?知道還有個(gè)Java 2的說法嘛?知道還有以下說法嘛?

  • J2SE1.3
  • J2SE1.4
  • ……

現(xiàn)在已經(jīng)6月份了,到了9月份,一個(gè)新的長期支持版本,Java17就要發(fā)布了,啥?Java版本都到17了?不不不,我一直在用JDK1.8啊,咦,JDK1.8?Java17?

在這里插入圖片描述

這是怎么回事呢?別著急,今天慶哥帶你徹底搞懂這些蜜汁操作!

Java版本和JDK版本

要搞懂這些令人疑惑的人命名,那理解的一個(gè)關(guān)鍵就是Java版本和JDK版本了,首先啊,咱們常說Java有三個(gè)版本,對吧,分別是:

  • JavaSE(Java Platform,Standard Edition)Java標(biāo)準(zhǔn)版
  • JavaME(Java Platform,Micro Edition)Java微型版
  • JavaEE(Java Platform,Enterprise Edition) JAVA企業(yè)版

其實(shí)啊,你只要關(guān)注JavaSE就行,這個(gè)是Java的標(biāo)準(zhǔn)版本,像ME忽視就行,至于JavaEE是在JavaSE的基礎(chǔ)上升級而來的一套規(guī)范,我們平常做Java開發(fā),你想下,是不是就是需要個(gè)JDK,這個(gè)JDK是與JavaSE相對應(yīng)的。

完了,我知道你們又懵了……

JavaEE到底是個(gè)啥

那我就再詳細(xì)點(diǎn)給大家說說這個(gè)JavaEE,其實(shí)我們平常聽到最多的,用到最多的就是JavaSE,因?yàn)槿思沂荍ava的標(biāo)準(zhǔn)版本,但是這個(gè)JavaSE提供的是Java的核心功能,一般是用來開發(fā)桌面應(yīng)用的,但是企業(yè)級開發(fā),我們做的項(xiàng)目啥的就不簡簡單單是個(gè)桌面級應(yīng)用了,一般是web應(yīng)用,動(dòng)態(tài)網(wǎng)站這些!

那么問題來了,面對企業(yè)級的比較大的項(xiàng)目開發(fā),JavaSE提供的一些核心基礎(chǔ)功能用倒是可以用,但是用起來太費(fèi)勁了,很多東西都得自己從頭造輪子,一步步的用代碼從最基礎(chǔ)的開始寫,費(fèi)勁啊。

于是乎,在JavaSE的基礎(chǔ)上整理出一套規(guī)范,其目的就是用來解決企業(yè)級開發(fā)中遇到的一些問題,這些問題就是單獨(dú)用JavaSE去整比較費(fèi)勁的東西!

那啥又是規(guī)范呢?說白了,就是規(guī)定你該怎樣怎樣去做,比如面對常見的web請求處理,我們知道有servlet,那JavaEE就對servlet做了規(guī)范,也就是說你如果要用servlet去處理一個(gè)web請求,首先嘞,你必須得實(shí)現(xiàn)一個(gè)HttpServlet類,這還沒完,你這個(gè)類還得繼承Servlet接口,而且你還得實(shí)現(xiàn)它的接口方法,哪些呢?就是doGet和doPost這些,咋樣,熟悉吧,再比如你這個(gè)doGet方法還必須得接收兩個(gè)參數(shù)……

你看,JavaEE就給你規(guī)定了Servlet得按照這個(gè)規(guī)定去使用,于時(shí)一些其他廠商就圍繞JavaEE的這些規(guī)范去做一些具體的實(shí)現(xiàn),比如我們常見的tomcat,它被成為servlet容器,其中的servlet實(shí)現(xiàn)就是給予JavaEE對servlet做出的規(guī)范!

說的再簡單點(diǎn),JavaEE規(guī)定了servlet如何去處理web請求,然后具體的廠商根據(jù)這個(gè)規(guī)定去做具體的實(shí)現(xiàn)和增強(qiáng),然后就搞出了tomcat……

那Spring是啥呢?最開始的Spring就是為了解決JavaEE在使用中遇到的一些問題,比如JavaEE中規(guī)定的servlet,那spring中的spring-mvc就是對這個(gè)servlet的進(jìn)一步封裝,從而讓其變得更加好用!

實(shí)際上,spring中大量使用了或者實(shí)現(xiàn)了JavaEE的一些規(guī)范標(biāo)準(zhǔn)!說的再直白點(diǎn),你JavaEE不是一組規(guī)范嘛,規(guī)定了啥啥啥該怎么用,那我spring就這樣做,你規(guī)范中確實(shí)比較好用的我就直接拿來用,不好用的我就在加工處理封裝成更好用的,可以簡單的理解成spring就是JavaEE的升級版,或者超強(qiáng)實(shí)現(xiàn)版!

隨著時(shí)間的發(fā)展,JavaEE的更新太慢了,而Spring就非常迅速,而且人家超級好用,因此,慢慢的JavaEE早就落后十萬八千里了。

你像我們平常做開發(fā),就下載配置個(gè)JDK,其實(shí)就是對應(yīng)的JavaSE,然后我們使用的一般就是以Spring為主的框架了,那JavaEE體現(xiàn)在哪里,Spring框架中大量使用和實(shí)現(xiàn)了JavaEE規(guī)范,而JavaEE又是在JavaSE基礎(chǔ)上升級而來的一組規(guī)范,那可不就是一個(gè)JDK就行了!

所以,現(xiàn)在你看一些關(guān)于JavaEE開發(fā)框架的書,其實(shí)都是在介紹SSM這些框架的,說白了,JavaEE慢慢也就成了各種給予其規(guī)范實(shí)現(xiàn)的一些框架了,為首的就是老大哥Spring了!

Java版本的蜜汁操作

以上花了較多篇幅去介紹到底啥是JavaEE以及和Spring的一些關(guān)系,你就記住:

用Spring就對了

那我們再來看Java版本號的這些神奇操作,之前也說了,理解的關(guān)鍵就是Java版本和JDK版本,重點(diǎn)理解如下:

我們無論說Java版本還是JDK版本都是對于JavaSE這個(gè)標(biāo)準(zhǔn)版本而言,最終的則是要知道,每個(gè)Java版本其實(shí)是對應(yīng)一個(gè)具體的JDK版本,也就是說Java是語言,JDK是Java這門語言的開發(fā)工具包,所以Java的版本可以說是抽象上的宏觀上的一個(gè)概念,有其自己的版本名稱,對應(yīng)的具體的實(shí)實(shí)在在存在的則是JDK了

記住啦,一個(gè)Java版本對應(yīng)著一個(gè)JDK版本!

我這里花了一個(gè)圖,大家一起來看下:

在這里插入圖片描述

也就是最開始啊,Java的早期版本是在1995年發(fā)布的,那個(gè)時(shí)候是叫做Oak,但是這個(gè)商標(biāo)被注冊了,于時(shí)在1996年的時(shí)候更改為Java,那這個(gè)時(shí)候Java的第一個(gè)正式版本Java1.0就發(fā)布了,于此同時(shí)對應(yīng)的開發(fā)工具包jdk的版本就是JDK1.0了。

J2SE是個(gè)啥

那隨著時(shí)間的發(fā)展,Java的版本不是一直叫做Java1.X這種形式,在到了1998年的時(shí)候,Java的平臺更名為J2SE,所以從那個(gè)時(shí)候,Java的版本命名就成了J2SE 1.2這種形式,也就是這里:

在這里插入圖片描述

那與之對應(yīng)的JDK的版本就是JDK1.2和JDK1.3這種形式了!

JDK1.5的重大變化

那到了2004年的時(shí)候,Java版本變化比較大,此時(shí)對應(yīng)的JDK1.5升級比較大,那為了表明該版本的重要性,于時(shí)將Java版本從原來的J2SE 1.5更名為Java SE 5.0(內(nèi)部版本號1.5.0),于是后續(xù)的Java版本號都是Java SE X的這種形式,也就是這樣:

在這里插入圖片描述

這里需要注意的是,直到2017年JavaSE 9的發(fā)布,此時(shí)對應(yīng)的JDK版本都是JDK1.X這種形式,但是到了2018年JavaSE 10的發(fā)布就變了!

JDK命名的變化

到了2018年發(fā)布JavaSE 10的時(shí)候,此時(shí)對應(yīng)的JDK版本不再是JDK1.10這種形式,而是變成了JDK10這種形式,其實(shí)這個(gè)也是比較好理解的!

那后續(xù)的版本就是這個(gè)樣子了:

在這里插入圖片描述

直到現(xiàn)在一直就穩(wěn)定這樣的命名了,比如最新的JavaSE 16對應(yīng)的JDK16,那到了這里,又有個(gè)蜜汁操作了,我們看下Oracle的官網(wǎng)上的JDK變化:

在這里插入圖片描述

看到?jīng)],這里有JDK7,JDK8還有JDK9,按照我們之前說的不應(yīng)該是這樣的嘛:

在這里插入圖片描述

所以說啊,關(guān)于Java的版本和JDK版本命名真的挺亂的,在2018年更新JavaSE 10之后,對應(yīng)的JDK版本叫做JDK10,后續(xù)為了方便統(tǒng)一,之前的JDK1.8也可以叫做JDK8了!

不過到了現(xiàn)在,Java的版本號比較穩(wěn)定了,也就是Java SE XX這種形式,比如即將發(fā)布的Java SE 17,這是一個(gè)長期受支持的版本!那對應(yīng)的JDK版本就是JDK17了。

查看JDK版本的更新內(nèi)容

作為一個(gè)Java程序員,你要隨時(shí)關(guān)注著Java的版本更新,以及JDK的升級帶來了哪些新特性,那該如何關(guān)注這些呢?

其實(shí)就是這個(gè):

在這里插入圖片描述

比如我們點(diǎn)擊最新的JDK16:

在這里插入圖片描述
在這里插入圖片描述

不知道的趕緊收藏這個(gè)地址吧:https://docs.oracle.com/en/java/javase/index.html

查看Javav版本變化

另外這里再提供一個(gè)隨時(shí)查看Java版本變化的地址,可以看到一個(gè)比較直觀的圖片,就是這樣的:

在這里插入圖片描述

是不是很直觀呢?

趕緊收藏地址吧:https://zh.wikipedia.org/wiki/Java%E7%89%88%E6%9C%AC%E6%AD%B7%E5%8F%B2

小結(jié)

以上內(nèi)容是我根據(jù)自己的經(jīng)驗(yàn)以及查找相關(guān)資料所得,當(dāng)然,其中的內(nèi)容也有可能存在一些錯(cuò)誤,比如關(guān)于JavaEE那塊的理解,我理解的可能不夠準(zhǔn)確,因此,如果你在閱讀本文中發(fā)現(xiàn)描述不夠準(zhǔn)確或有誤的地方,還請給予我一定的反饋,非常感謝!

到此這篇關(guān)于一文徹底搞懂Java和JDK的版本命名問題的文章就介紹到這了,更多相關(guān)Java和JDK的版本命名內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用java判斷質(zhì)數(shù)的3種方法代碼示例

    利用java判斷質(zhì)數(shù)的3種方法代碼示例

    這篇文章主要給大家介紹了關(guān)于利用java判斷質(zhì)數(shù)的3種方法,在大于1的整數(shù)中,如果只包含1和本身這兩個(gè)約數(shù),就被稱為質(zhì)數(shù)(素?cái)?shù)),文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-07-07
  • java nio中的ByteBuffer擴(kuò)展問題

    java nio中的ByteBuffer擴(kuò)展問題

    這篇文章主要介紹了java nio中的ByteBuffer擴(kuò)展問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • spring boot tomcat版本升級的實(shí)現(xiàn)示例

    spring boot tomcat版本升級的實(shí)現(xiàn)示例

    本文主要介紹了spring boot tomcat版本升級的實(shí)現(xiàn)示例,將tomcat升級一個(gè)小版本升級到9.0.44版本,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • 基于IO版的用戶登錄注冊實(shí)例(Java)

    基于IO版的用戶登錄注冊實(shí)例(Java)

    下面小編就為大家?guī)硪黄贗O版的用戶登錄注冊實(shí)例(Java)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Java實(shí)現(xiàn)在線語音識別

    Java實(shí)現(xiàn)在線語音識別

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)在線語音識別功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • IntelliJ IDEA 2020.1.2激活工具下載及破解方法免費(fèi)可用至2089年(強(qiáng)烈推薦)

    IntelliJ IDEA 2020.1.2激活工具下載及破解方法免費(fèi)可用至2089年(強(qiáng)烈推薦)

    這篇文章主要介紹了IntelliJ IDEA 2020.1.2激活工具下載及破解方法免費(fèi)可用至2089年(強(qiáng)烈推薦),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • idea中報(bào)錯(cuò)不支持發(fā)行版本問題及解決

    idea中報(bào)錯(cuò)不支持發(fā)行版本問題及解決

    在使用Spring框架進(jìn)行項(xiàng)目開發(fā)時(shí),有時(shí)會遇到因JDK版本不一致導(dǎo)致的項(xiàng)目運(yùn)行錯(cuò)誤,解決此問題的方法主要有兩步:首先,確保項(xiàng)目的Project和Modules設(shè)置中的JDK版本一致;其次,在IDE的Settings中找到Java?Compiler
    2024-11-11
  • XXL-Job端口額外占用問題的解決方法小結(jié)

    XXL-Job端口額外占用問題的解決方法小結(jié)

    最近博主在Spring整合XXL-JOB到項(xiàng)目時(shí)發(fā)現(xiàn)了個(gè)問題,注冊執(zhí)行器需要額外占用端口,也就是我們每啟動(dòng)一個(gè)程序,除了程序本身的API端口外,還需要額外開放一個(gè)執(zhí)行器端口,所以本文給大家分享了XXL-Job端口額外占用問題的解決方法小結(jié),需要的朋友可以參考下
    2024-05-05
  • SpringBoot中的@ConfigurationProperties注解的使用

    SpringBoot中的@ConfigurationProperties注解的使用

    本文將深入探討@ConfigurationProperties注解的概念、用法、工作原理、配置綁定、類型安全以及如何在實(shí)際開發(fā)中應(yīng)用它,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • SpringBoot中webSocket實(shí)現(xiàn)即時(shí)聊天

    SpringBoot中webSocket實(shí)現(xiàn)即時(shí)聊天

    這篇文章主要介紹了SpringBoot中webSocket實(shí)現(xiàn)即時(shí)聊天,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04

最新評論

白沙| 海门市| 洪泽县| 花莲市| 黄石市| 赤城县| 新巴尔虎右旗| 鄂托克旗| 宜黄县| 筠连县| 崇左市| 温泉县| 河西区| 乳源| 北辰区| 东丽区| 澄城县| 武定县| 南溪县| 大余县| 云霄县| 望奎县| 新巴尔虎左旗| 治县。| 建昌县| 日土县| 罗源县| 西吉县| 肥城市| 碌曲县| 明水县| 莱州市| 吉隆县| 高阳县| 达拉特旗| 盐边县| 济阳县| 金平| 聊城市| 衡东县| 星座|