為什麼說Java仍將是未來的主導語言?

指尖上的代碼 發佈 2020-02-07T15:20:46+00:00

在Stack Overflow 2019 年流行程式語言調查報告中,Java 位居第 5 位,有 41% 的受調開發者認為 Java 仍然是一門受歡迎的程式語言。

在 Stack Overflow 2019 年流行程式語言調查報告中,Java 位居第 5 位,有 41% 的受調開發者認為 Java 仍然是一門受歡迎的程式語言。

使用 Java 的公司

stackshare.io 的數據顯示,大概有 9028 家公司在使用 Java,其中包括:

  • 谷歌;
  • Uber;
  • Airbnb;
  • 亞馬遜;
  • Pinterest;
  • Slack;
  • Instagram;
  • Netflix;
  • Spotify。

為何 Java 如此流行?

這得益於 Java 的關鍵特性:

  • 簡單性:Java 為開發者和最終用戶提供了簡單易用的用戶體驗。與其他面向對象程式語言相比,Java 的設計和生態庫具有巨大的優勢。
  • 可移植性:Java 可以隨時隨地運行在任意的硬體上,有很多軟硬體都在使用 Java。
  • 資源分配:堆棧分配、垃圾回收和自動內存管理,這些特性讓 Java 與其他程式語言區別開來。
  • 分布式:Java 在網絡上極具優勢,通常可以自由地發送和接收文件。
  • 安全性:Java 的安全編程模型提供了很高的安全性。

Java 會繼續流行下去嗎?

相比於 ASP.NET、PHP、Python 等程式語言,使用 Java 開發的應用程式更多,從移動應用到 Web 應用,再到運行在可穿戴設備上的應用。

Java 在大數據領域的應用

與 Python 一樣,Java 也在大數據領域占據主導地位。各種用於處理大規模數據的框架都是用 Java 開發的。

Apache Hadoop

Hadoop 是一個使用 Java 開發的框架,用於在分布式環境中處理大規模數據集。Hadoop 採用了主副架構模式,其中主節點負責控制整個分布式計算棧。Hadoop 在需要處理和分析大規模數據的公司當中很流行。

使用 Hadoop 的公司包括:IBM、亞馬遜、英特爾等。

Apache Spark

Spark 是另一個主要使用 Java 開發的大數據處理框架。Spark 是一個集群計算框架,可以運行在數千台機器(分布式集群)上。Spark 被用在大型的 ETL、預測分析和報表應用程式中。

使用 Spark 的公司包括:Uber、Slack、Hubspot、Shopify 等。

Apache Mahout

Mahout 是一個使用 Java 開發的機器學習庫和大數據工具,用於執行機器學習操作,比如分類、聚類和推薦。

使用 Mahout 的公司包括:Adobe、Facebook、LinkedIn、Foursquare、Twitter、雅虎等等。

Java JFreechart

JFreechart 是一個流行的開源大數據工具,用於可視化數據,可以用它製作各種圖表,比如餅圖、柱狀圖、線圖、散點圖、盒狀圖、直方圖等等。

Deeplearning4j

Deeplearning4j 是一個深度學習 Java 庫,用於構建各種類型的神經網絡。Deeplearning4j 可以與 Spark 集成,運行在 GPU 上。

使用 Deeplearning4j 的公司包括:JPMorgan Chase、Wells Fargo、Interactive Brokers 等等。

Apache Storm

Storm 是一個開源的分布式實時計算框架,用於處理實時數據流。一個 Storm 節點可以在秒級處理數百萬個作業。

Storm 在真實世界中的案例:

  • Twitter:Storm 為 Twitter 的很多系統提供了支持,例如實時分析、搜索、收益優化等。
  • Groupon:Storm 為 Groupon 的實時集成系統提供支持,在低延遲和高吞吐的情況下實現數據的分析、清理、規範化和處理大量不同的數據點。
  • Weather:weather.com 的 Weather Channel 使用 Storm 來收集和持久化天氣數據。

Java 在物聯網(IOT)領域的應用

甲骨文公司表示,靈活性和流行度是 IOT 程式設計師選擇 Java 的主要原因。

Java 提供了大量的 API 庫,可以很容易被應用到嵌入式應用程式中,所以 Java 適合用來進行 IOT 編程。相比其他程式語言,比如 C 語言,Java 在切換平台時更加順暢,不容易出錯。從 Java 被用在 PDA 設備和早期的手機上,它就已經成為嵌入式設備的一部分。Java 在可穿戴設備、電視、移動設備和其他電子設備上應用,這讓它成為 IOT 編程的不二之選。

Android 應用程式

Java 藉助 Android 應用程式組件統治了移動應用市場,通過谷歌應用商店安裝的移動應用超過了 73%。超過 45 萬個移動應用是用 Java 開發的,包括 YouTube、Tiktok 等等。

Java 在金融服務領域的應用

聊天機器人

因為可移植性、可維護性、調試、可視化等諸多方面的因素,Java 成了開發聊天機器人最好的工具。

IBM Watson Conversation Service、api.ai、pandorabots 都使用了 Java。

欺詐檢測和管理

銀行和金融公司使用 AI 工具進行金融欺詐和信用卡欺詐檢測。Java 被用來開發這些 AI 工具,而 AI 工具為欺詐檢測和風險管理帶來了可不預知的見解、模式和預測模型。在開發 AI 工具時,Java 的安全性提供了額外的好處,因為它可以幫助 AI 系統更好地做出判斷。

一些主要的銀行和金融機構在欺詐檢測系統中使用了 Spark。

交易系統

根據甲骨文網站對 Java 的描述,Java 為快速開發、測試和部署提供了一個平台,是開發電子交易系統的一個很好的選擇。超過 80% 的電子交易系統是用 Java 開發的,包括大部分 FIX 引擎。

Java 虛擬機提供的動態運行時編譯優化在很多情況下比編譯型語言(如 C++)具有更好的性能。官方 JVM 和 JRockit Real Time(JRRT)虛擬機提供了很低的延遲,讓交易系統運行得更順暢。

Enlyft 網站的數據顯示,有 500 多家公司在使用 JRRT,其中 7% 用在金融服務(比如交易系統)領域。

移動錢包

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

Java 在 Web 應用程式中的應用

w3tech 網站的數據顯示,3.7% 的網站使用 Java 作為伺服器端程式語言。

使用 Java 開發的主要網站:

  • Aliexpress.com
  • Tianya.cn
  • Linkedin.com
  • Booking.com
  • Caijing.com.cn
  • China.com.cn
  • Amazonaws.com
  • Rednet.cn
  • Onlinesbi.com
  • Salesforce.com

用於 Web 開發的流行框架:

  • Spring MVC:最古老但也是最好的 Web 開發框架。它靈活多變,提供了很高的安全性。它的代碼乾淨簡潔,有一個強大的社區在提供支持。
  • Google Web Toolkit:完善的文檔和支持,易學易用,可用於開發高度響應的應用程式。
  • JavaServer Faces:由甲骨文提供支持,提供了完善的文檔、豐富的開發庫。
  • Hibernate:高質量、可修改、可配置、非常方便、速度快,提供了多種資料庫驅動,具有非常好的可伸縮性。
  • Struts:是 Web 應用程式的基礎,減少了開發和測試時間,簡化了測試工作。
  • Selenium:很多公司使用 Selenium 進行測試自動化和質量控制。一些主要的公司和機構(如 MIT、Hubspot、Intuit 等)在使用 Selenium。

科學應用和高端技術

Nasa World Wind

World Wind 是 Nasa 使用 Java 開發的一款工具,可以從衛星角度放大世界的任何一個地方。

World Wind 利用了 Landsat 衛星圖像和太空梭雷達偵測到的地形數據,用戶可以以 3D 的視覺體驗「遊覽」地球。

Sun SPOT

Sun SPOT 完全使用 Java 開發,是一個小型、無線、由電池提供動力的試驗性平台,用於開發原先需要使用特定嵌入式系統的項目。

JPC(模擬器)

JPC 是一個完全使用 Java 開發的 x86 模擬器,可以運行在任何支持 Java 虛擬機的平台上。它讓用戶可以更好地控制軟體的運行環境,不管他們使用了怎樣的硬體或作業系統。JPC 的多層安全性為運行非安全軟體提供了最安全的解決方案,是電腦病毒歸檔、保護機器免受惡意軟體攻擊或運行非穩定軟體的理想選擇。

嵌入式軟體系統

據甲骨文網站透露,100% 的藍光播放器和 1 億 2 千 5 百萬台電視機設備使用了嵌入式 Java。

Java 在其他方面的應用

Java 還被廣泛應用在其他方面。很多基於雲的應用程式提供了 PaaS 服務,比如 Heroku、Google App Engine。Java(AWT、Swing 和 JavaFX)也被廣泛應用於開發桌面 GUI 應用程式。Java 是企業軟體(包括網絡應用程式和 Web 服務)的主要開發語言,甲骨文宣稱 Java 正運行在 97% 的企業計算機上。

關鍵字: