<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>

          教妹學(xué)Java(三):Java 為什么如此流行?

          共 3238字,需瀏覽 7分鐘

           ·

          2020-09-29 03:05

          小伙伴們,大家好,我是沉默王二,一枚沉默但有趣的程序員。這是《教妹學(xué) Java》專欄的第三篇文章,我們來談?wù)劇癑ava 為什么如此流行?”

          我準(zhǔn)備了 51 本 Java 必讀電子書和 7 張高清 Java 工程師進階之路思維導(dǎo)圖,微信搜索“沉默王二”回復(fù)關(guān)鍵字“Java”,即可免費獲取。

          發(fā)第一篇文章的時候,就有小伙伴留言說,“教妹學(xué)”很適合她,雖然最后有個“狗頭”,但我還是開心了很久,淡淡的笑容在我的臉上經(jīng)久不衰。專欄名是不是很帶勁?對,力求超凡脫俗,我相信小伙伴們在閱讀的過程中一定能感受到思維的樂趣,還能真的學(xué)習(xí)到知識。

          強調(diào)一點,《教妹學(xué) Java》專欄面向的是零基礎(chǔ)的 Java 學(xué)習(xí)者,我希望這個專欄能夠帶領(lǐng) Java 初學(xué)者輕松邁進編程世界的大門,并且能夠讀寫編寫出規(guī)范、有用的 Java 代碼。同時,為后續(xù)的深入學(xué)習(xí)打下堅實的基礎(chǔ)。

          我妹(親妹)今年上大學(xué)了,學(xué)的計算機編程,立志像我一樣做一名正兒八經(jīng)的 Java 程序員。我一開始極力反對,因為程序員這行業(yè)容易掉頭發(fā),作為一名需要美貌的女生,掉頭發(fā)可不太妙。

          但我妹說了一句略帶嘲諷的話“二哥,你為啥發(fā)量那么茂密?”,我頓時無言以對。那不如做點更積極的事情吧,比如說寫點有趣的文章,教我妹更快地掌握 Java 這門編程語言。

          ------正兒八經(jīng)的分割線--------

          “二哥,開講吧,我準(zhǔn)備好了。”三妹咪了一口奶茶后對我說。

          “好的,三妹,這就開始。”三妹喝的是我最喜歡的布丁奶茶,我也好想來一口,但突然莫名其妙地想到了發(fā)福后的周杰倫,不得已把口水咽回去了。

          盡管 Java 已經(jīng) 25 歲了,但仍然“寶刀未老”。在 Stack Overflow 2019 年流行編程語言調(diào)查報告中,Java 位居第 5 位,有 41% 的受調(diào)開發(fā)者認(rèn)為 Java 仍然是一門受歡迎的編程語言。

          很多大型的互聯(lián)網(wǎng)公司都在使用 Java,國內(nèi)最有名的當(dāng)屬阿里巴巴,國外最有名的當(dāng)屬谷歌。那為什么 Java 如此流行呢?

          1)簡單性

          Java 為開發(fā)者提供了簡單易用的用戶體驗,與其他面向?qū)ο缶幊陶Z言相比,Java 的設(shè)計和生態(tài)庫具有巨大的優(yōu)勢。Java 剔除了 C++ 中很少使用、難以理解、易混淆的特別,比如說指針運算、操作符重載,內(nèi)存管理等。

          Java 可以做到堆棧分配、垃圾回收和自動內(nèi)存管理,在一定程度上為開發(fā)者減輕了入門的難度。

          2)可移植性

          如果 Java 直接編譯成操作系統(tǒng)能識的二進制碼,可能一個標(biāo)識在 Windows 操作系統(tǒng)下是1100,而 Linux 下是 1001,這樣的話,在 Windows 操作系統(tǒng)下可以運行的程序到了 Linux 環(huán)境下就無法運行。

          為了解決這個問題,Java 先編譯生成字節(jié)碼,再由 JVM(Java 虛擬機)來解釋執(zhí)行,目的就是將統(tǒng)一的字節(jié)碼轉(zhuǎn)成操作系統(tǒng)可以識別的二進制碼,然后執(zhí)行。而針對不同的操作系統(tǒng),都有相應(yīng)版本的 JVM,所以 Java 就實現(xiàn)了可移植性。

          3)安全性

          Java 適用于網(wǎng)絡(luò)/分布式環(huán)境,為了達到這個目標(biāo),在安全方面投入了巨大的精力。使用 Java 可以構(gòu)建防病毒、防篡改的程序。

          從一開始,Java 就設(shè)計了很多可以防范攻擊的機制,比如說:

          • 運行時堆棧溢出,這是蠕蟲病毒常用的攻擊手段。

          • 字節(jié)碼驗證,可以確保代碼符合 JVM 規(guī)范并防止惡意代碼破壞運行時環(huán)境。

          • 安全的類加載,可以防止不受信任的代碼干擾 Java 程序的運行。

          • 全面的 API 支持廣泛的加密服務(wù),包括數(shù)字簽名、消息摘要、(對稱、非對稱)密碼、密鑰生成器。

          • 安全通信,支持 HTTPS、SSL,保護傳輸?shù)臄?shù)據(jù)完整性和隱私性。

          4)并發(fā)性

          Java 在多線程方面做得非常突出,只要操作系統(tǒng)支持,Java 中的線程就可以利用多個處理器,帶來了更好的交互響應(yīng)和實時行為。

          “二哥,那 Java 還會繼續(xù)流行下去嗎?”三妹眨了眨她的長睫毛,對我說。

          “當(dāng)然。”我斬釘截鐵地回答到。

          大數(shù)據(jù)領(lǐng)域:

          與 Python 一樣,Java 在大數(shù)據(jù)領(lǐng)域占據(jù)著主導(dǎo)地位,很多用于處理大規(guī)模數(shù)據(jù)的框架都是基于 Java 開發(fā)的。

          • Apache Hadoop,用于在分布式環(huán)境中處理大規(guī)模數(shù)據(jù)集。Hadoop 采用了主副架構(gòu)模式,其中主節(jié)點負責(zé)控制整個分布式計算棧。Hadoop 在需要處理和分析大規(guī)模數(shù)據(jù)的公司當(dāng)中很流行。

          • Apache Spark,大型的 ETL(數(shù)據(jù)倉庫技術(shù))、預(yù)測分析和報表程序經(jīng)常使用到 Spark。

          • Apache Mahout,用于機器學(xué)習(xí),比如分類、聚類和推薦。

          • JFreechart,用于可視化數(shù)據(jù),可以用它制作各種圖表,比如餅圖、柱狀圖、線圖、散點圖、盒狀圖、直方圖等等。

          • Deeplearning4j,用于構(gòu)建各種類型的神經(jīng)網(wǎng)絡(luò),可以與 Spark 集成,運行在 GPU(圖形處理器)上。

          • Apache Storm,用于處理實時數(shù)據(jù)流,一個 Storm 節(jié)點可以在秒級處理數(shù)百萬個作業(yè)。

          物聯(lián)網(wǎng)(IoT)領(lǐng)域:

          Oracle 表示,靈活性和流行度是 IoT 程序員選擇 Java 的主要原因。Java 提供了大量的 API 庫,可以很容易應(yīng)用到嵌入式應(yīng)用程序中。相比其他編程語言,比如 C 語言,Java 在切換平臺時更加順暢,不容易出錯。

          金融服務(wù)領(lǐng)域:

          • 聊天機器人,由于可移植性、可維護性、可視化等諸多方面的因素,Java 成了開發(fā)聊天機器人最好的工具。

          • 欺詐檢測和管理,銀行和金融公司使用 AI(人工智能)工具來進行金融欺詐和信用卡欺詐檢測,而 Java 常用來開發(fā)這些 AI 工具。

          • 交易系統(tǒng),Java 虛擬機提供的動態(tài)運行時編譯優(yōu)化在很多情況下比編譯型語言(如 C++)具有更好的性能,讓交易系統(tǒng)運行得更順暢。

          • 移動錢包,基于 AI 和 Java 算法開發(fā)的移動錢包,可以幫助用戶在花錢時做出更智能的決策。

          Web 領(lǐng)域:

          Java 技術(shù)對 Web 領(lǐng)域的發(fā)展注入了強大的動力,主流的 Java Web 開發(fā)框架有很多:

          • Spring 框架,一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架,滲透了 Java EE 技術(shù)的方方面面,絕大部分 Java 應(yīng)用都可以從 Spring 框架中受益。

          • Spring MVC 框架,是一種基于 Java 實現(xiàn)的 MVC(Model-View-Controller)設(shè)計模式的請求驅(qū)動類型的輕量級 Web 框架。

          • MyBatis 框架,一個優(yōu)秀的數(shù)據(jù)持久層框架,可在實體類和 SQL 語句之間建立映射關(guān)系,是一種半自動化的 ORM(Object Relational Mapping,對象關(guān)系映射)實現(xiàn)。

          • JavaServer Faces 框架,由 Oracle 開發(fā),能夠?qū)⒈硎緦优c應(yīng)用程序代碼輕松連接,它提供了一個 API 集,用于表示和管理 UI 組件。

          總之,Oracle 宣稱,Java 正運行在 97% 的企業(yè)計算機上——有點厲害的樣子。


          “好了,三妹,今天我們就學(xué)到這吧。”晃動一下僵硬的脖子后,我對三妹說。

          “好的,二哥,我再重溫一遍今天學(xué)習(xí)的內(nèi)容,感覺 Java 學(xué)起來還是很有前途的。”三妹似乎對未來充滿了希望,這正是我想看到的。

          這是《教妹學(xué) Java》專欄的第三篇文章,能看到這里的小伙伴都是最帥的,最美的,升職加薪就是你了?。

          寫這個專欄的初衷就是為了幫助那些零基礎(chǔ)學(xué) Java,或者自學(xué) Java 感覺特別痛苦,特別難入門的小伙伴。

          另外,我還創(chuàng)建了一些「技術(shù)交流群」,群里氛圍很不錯,有不少小伙伴會分享一些校招或者社招經(jīng)驗,更重要的是,群里時不時會有「紅包」等福利,當(dāng)然,群里不允許任何形式的廣告。掃描下方的二維碼,回復(fù)「加群」即可。


          瀏覽 68
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  爱爱激情综合 | 波多野结衣大香蕉 | 狠狠躁天天躁中文字幕无码野外 | 人妻体内射精一区二区 | 一区二区三区无码翻白眼 |