<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          為什么Java會一直深受企業(yè)歡迎?

          共 3299字,需瀏覽 7分鐘

           ·

          2021-04-09 15:31


          讓我們來看一下Java的廣告詞:
          • 97%的企業(yè)桌面運(yùn)行Java
          • 美國有89%的桌面(或計算機(jī))運(yùn)行Java
          • 全球有900萬Java開發(fā)人員
          • 開發(fā)人員的頭號選擇
          • 排名第一的部署平臺
          • 有30億部移動電話運(yùn)行Java
          • 100%的藍(lán)光盤播放器附帶了Java
          • 有50億張Java卡在使用
          • 1.25億臺TV設(shè)備運(yùn)行Java
          • 前5個原始設(shè)備制造商均提供了Java ME

          很牛逼不是嗎?OK,這么牛逼的背后,我們Java開發(fā)人員有想過每天和我們朝夕相處的Java到底是什么呢?當(dāng)然,很多人腦海里第一反應(yīng)一定是,Java不就是一門編程語言嗎,咱們每天寫代碼的語言啊。當(dāng)然,這么說也是對的,只是Java實際包含的面更廣,一起往下來看下。



          一、什么是Java


          經(jīng)過了多年的發(fā)展,Java早已由一門單純的計算機(jī)編程語言,演變?yōu)榱艘惶讖?qiáng)大的技術(shù)體系。是的,什么是Java,我想技術(shù)體系四個字應(yīng)該是最好的概括了吧。Java設(shè)計者們將Java劃分為3種結(jié)構(gòu)獨立但卻彼此依賴的技術(shù)體系分支,它們分別對應(yīng)著不同的規(guī)范集合和組件:

          1. Java SE(標(biāo)準(zhǔn)版),主要活躍在桌面領(lǐng)域,主要包含了Java API組件。


          2. Java EE(企業(yè)版),活躍在企業(yè)級領(lǐng)域,除了包含Java API組件外,還擴(kuò)充有Web組件、事務(wù)組件、分布式組件、EJB組件、消息組件等,綜合這些技術(shù),開發(fā)人員完全可以構(gòu)建出一個具備高性能、結(jié)構(gòu)嚴(yán)謹(jǐn)?shù)钠髽I(yè)級應(yīng)用,并且Java EE也是用于構(gòu)建SOA(面向服務(wù)架構(gòu))的首選平臺。


          3. Java ME(精簡版),活躍在嵌入式領(lǐng)域,稱之為精簡版的原因是,它僅保留了Java API中的部分組件,以及適應(yīng)設(shè)備的一些特有組件。

          上面講到Java技術(shù)體系的分支,那既然Java是一種技術(shù)體系,我們來看一下組成這種技術(shù)體系的技術(shù):

          1. Java編程語言
          2. 字節(jié)碼
          3. Java API,包括Java API類庫和來自商業(yè)機(jī)構(gòu)以及開源社區(qū)的第三方類庫
          4. Java虛擬機(jī)

          很多時候我們只關(guān)注了第一點,因為第一點才是和工作切實相關(guān)的。



          二、Java的優(yōu)點


          Java能獲得如此廣泛的認(rèn)可,除了它擁有一門結(jié)構(gòu)嚴(yán)謹(jǐn)、面向?qū)ο蟮木幊陶Z言之外,還有許多不可忽視的優(yōu)點:

          1、它擺脫了硬件平臺的束縛,實現(xiàn)了“一次編寫、到處運(yùn)行”。

          2、它提供了一個相對安全的內(nèi)存管理和訪問機(jī)制,避免了絕大部分的內(nèi)存泄露和指針越界問題。

          3、它實現(xiàn)了熱點代碼檢測和運(yùn)行時編譯及優(yōu)化,這使得Java應(yīng)用能隨著運(yùn)行時間的增加而獲得更高的性能。

          4、它有一套完整的應(yīng)用程序接口,還有無數(shù)來自商業(yè)機(jī)構(gòu)和開源社區(qū)的第三方類庫來幫助它實現(xiàn)各種各樣的功能。

          5、它與身俱來對分布式技術(shù)的支持就比較完善。

          但是,Java最大的優(yōu)勢和財富還不是以上這些,就像高翔龍老師在《Java虛擬機(jī)精講》中寫的,Java真正強(qiáng)大的地方是因為擁有全世界最多的技術(shù)擁護(hù)者和開源社區(qū)支持,他們無時無刻都保持著最充沛的體力與思維,一步一步地驅(qū)動著Java技術(shù)的走向。



          三、JDK和JRE


          兩個常見的重要概念。其實上面的圖中已經(jīng)劃分出了JDK和JRE的范圍了。我們對這張圖做一個歸納,用我們的語言簡單地總結(jié)一下什么是JDK和JRE:

          1、JDK(Java Development Kit),是用于支持Java程序開發(fā)的最小環(huán)境,基本上Java程序設(shè)計語言、Java虛擬機(jī)、Java API類庫這三部分組成了JDK。

          2、JRE(Java Runtime Enviroment),是支持Java程序運(yùn)行的標(biāo)準(zhǔn)環(huán)境,Java API類庫中的Java SE API自己和Java虛擬機(jī)這兩部分組成了JRE。



          四、OpenJDK


          前面有講過,“Java真正強(qiáng)大的地方是因為擁有全世界最多的技術(shù)擁護(hù)者和開源社區(qū)支持,他們無時無刻都保持著最充沛的體力與思維,一步一步地驅(qū)動著Java技術(shù)的走向”。其實JDK在一開始并不是開源的,但是隨著開源運(yùn)動的蓬勃發(fā)展,2006年Sun公司宣布將對Java開放源代碼,開源的Java平臺開發(fā)主要集中在OpenJDK項目上。

          OpenJDK中的代碼基本上都來自于Oracle JDK,屬于Oracle JDK的一個分支,但是其中去除了一些非開源的組件和代碼,替換成了開源的組件和代碼,主要是加密和圖形的部分。因此用OpenJDK代替Oracle JDK可能會有一些的不兼容。


          五、JCP和JSR


          JCP(Java Community Process)是一套制定Java技術(shù)規(guī)范的機(jī)制,通過制定和審查JSR(Java Specification Requests)推動Java技術(shù)規(guī)范的發(fā)展。一個已經(jīng)提交的JSR要想成為最終狀態(tài),需要經(jīng)過正式的公開審查,并由JCP委員會投票決定,最終的JSR會提供一個參考實現(xiàn),它是免費(fèi)而且公開源代碼的。

          JSR并非只由Oracle管理,任何個人都可以注冊并參與審查JSR,對于Java語言發(fā)展動態(tài)感興趣的人來說,跟蹤JSR的動態(tài)發(fā)展是一條不錯的學(xué)習(xí)途徑。在JCP官網(wǎng)http://www.jcp.org/中可以查看所有的JSR,下面列舉幾個大家熟悉的JSR:

          1. JSR 14,泛型
          2. JSR 51,NIO
          3. JSR 175,注解
          4. JSR 201,枚舉以及自動裝箱等
          5. JSR 221,JDBC4.0 API



          六、Java虛擬機(jī)


          最后,輪到這個大哥登場,也是之后文章的主角。為什么Java可以實現(xiàn)所謂的“一次編寫,到處運(yùn)行”,主要是因為虛擬機(jī)的存在。Java虛擬機(jī)負(fù)責(zé)Java程序設(shè)計語言的安全特性和平臺無關(guān)性。

          Java虛擬機(jī)屏蔽了與具體操作系統(tǒng)平臺相關(guān)的信息,使得Java語言編譯器只需要生成在Java虛擬機(jī)上運(yùn)行的字節(jié)碼,就可以在多種平臺上不加修改地運(yùn)行。Java虛擬機(jī)使得Java擺脫了具體機(jī)器的束縛,使跨越不同平臺編寫程序成為了可能。

          要多提一句,我們現(xiàn)在說的Java虛擬機(jī)基本上都是JDK自帶的虛擬機(jī)HotSpot,這款虛擬機(jī)也是目前商用虛擬中市場份額最大的一款虛擬機(jī),可以通過在命令行程序中輸入“java -version”來查看。

          那其實市面上還有很多別的優(yōu)秀的虛擬機(jī)。Sun公司除了有大名鼎鼎的HotSpot外,還有KVM、Squawk VM、Maxine VM,BEA公司有JRockit VM、IBM公司有J9 VM等等。



          后記


          越學(xué)習(xí)Java虛擬機(jī),越覺得它有意思,工作中越能解決一些復(fù)雜的、奇怪的、別人解決不了的問題(為什么你比別人厲害、為什么你比別人拿更高的工資?說白了不就是你能解決別人解決不了的問題、做到別人做不到的事嗎?)。

          又或者,當(dāng)一個Java項目龐大到一定程度之后,就會根據(jù)自己的業(yè)務(wù)需求,定制自己的虛擬機(jī),比如淘寶網(wǎng)就基于OpenJDK深度定制了Taobao VM,能做到這一點的基礎(chǔ)就是對Java虛擬機(jī)有深入的理解。

          作為一個Java開發(fā),如果目標(biāo)只是把寫代碼這件事情做好,那么OK,完全不需要去學(xué)習(xí)、研究Java語言之外的任何東西,每到一個公司,只要簡單理解公司項目的整體架構(gòu)以及理清業(yè)務(wù)就好了。

          但是如果目標(biāo)是成為一名Java技術(shù)專家、CTO,相信代碼可以改變世界(至少我本人是朝著這個方向努力的),那么學(xué)習(xí)、研究虛擬機(jī)絕對是不可缺少的一課。

          對于想學(xué)Java卻又不敢貿(mào)然行動的同學(xué),點擊下方閱讀原文即可報名達(dá)內(nèi)免費(fèi)試聽課,這是你免費(fèi)了解、學(xué)習(xí)的Java技術(shù)最佳途徑,體驗名師面對面教導(dǎo),多年實戰(zhàn)經(jīng)驗傾囊相授,少走彎路,零基礎(chǔ)快速入門到精通!

          學(xué)互聯(lián)網(wǎng)技術(shù)不能猶豫,否則你就和高薪擦肩而過了。不論你是0基礎(chǔ)還是轉(zhuǎn)行,都有大牛老師手把手教你學(xué)習(xí)最新熱門技術(shù),找一份自己滿意的高薪工作。

          課程咨詢后臺回復(fù):客服,真人在線答疑方便又快捷。達(dá)妹微信:tedu521,獲取學(xué)習(xí)資源。

          IT方向技術(shù)內(nèi)容免費(fèi)學(xué)

          Java/Java架構(gòu)師/Java大數(shù)據(jù)

          掃碼即可免費(fèi)預(yù)約

          ↓↓↓


          點擊下方“閱讀原文”搶免費(fèi)試聽名額吧!

          瀏覽 21
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  在线的成人网站 | 夜夜躁恨恨躁爱躁 | 丁香五月天婷国产 | 日韩艹逼网 | 免费无码婬片AAAA片直播 |