現實世界中哪些地方用到了Java?
英文原文:Where does Java used in Real World?
如果你是一個起步者或者只是剛剛開始學習 Java,你或許會疑慮,Java 到底是在哪里被運用的呢?除了 Minecraft 這款游戲以外,你沒有見過用 Java 編寫的游戲吧?桌面工具 Adobe Acrobat、微軟的 Office 辦公軟件,他們都不是用 Java 編寫,以至于連我們電腦所應用的操作系統(Linux 和 Windows)都不是,那么人們如何運用 Java 的呢?現實世界中到底有沒有運用 Java 的應用呢?這個問題所有的程序員都會在初學 Java 或者在為了畢業必須掌握一門編程語言而開始學習之后時產生這個疑問。
當你在安裝 Java 在你的桌面時會得到答案,或者 Oracle 會告訴你超過了 30 億的設備正在運行著 Java,這難道不是一個龐大的數字嗎?大多數大公司都以不同的方式運用著 Java。許多服務器程序都是拿 Java 來編寫以處理每天超過數以千萬的數據,網絡上的交易系統也是拿 Java 編寫例如 LMAX 交易平臺系統,其覆蓋內部路徑的阻斷式的內部通信線程,Disruptor。這篇文章里,我們會看到許多跟貼切的例子,哪些項目是在 Java 的基礎上完成的,哪些領域和部門在運用 Java,如何正確的在現實世界中運用 Java。
現實世界中的 Java 程序
其實現實生活中有很多地方應用到了 Java,從電子商務網站到 Android 應用,從科學應用到金融應用比如電子交易系統,從游戲(Minecraft)到桌面應用好比 Eclipse,NetBeans 以及 IntelliJ,從開源的文檔到 J2ME 應用。下面來詳細的介紹這些。
1. Android 應用
如果你還在尋找 Java 在哪運用,你不用東奔西走的尋找,你的身邊就是。打開的 Android 手機,隨便打開一個 App 應用,他們就是完全的用 Java 語言,從 Google 上搜索 Android 的 API 文檔,你就會發現它和 Java 的 JDK 文檔驚人的相似。從兩年前的 Android 剛剛起步,到今天許多的 Android 應用都是 Java 程序員開發者開發。雖然 Android 運用了不同的 JVM 以及不同的封裝方式(這可以參考原先的文章 how Android app works ),但是代碼還是用 Java 語言所編寫。
2. 在金融業應用的服務器程序
Java 在金融服務業的應用非常廣泛,許多跨國投資銀行例如:Goldman Sachs(高盛投資),Citigroup(花旗集團),Barclays(巴克萊銀行),Standard Charted(標準渣打銀行)以及其他銀行,都用 Java 來編寫前臺和后臺的電子交易系統,結算和確認系統,數據處理項目以及其他項目。大多數情況下,Java 被用在服務器端開發,但多數沒有任何前端,它們通常是從一個服務器(上一級)接收數據,處理后發向另一個處理系統(下一級處理)。Java Swing 技術旨在開發可視化界面客戶端供交易者使用,但是隨著近幾年 C# 的崛起使程序員在客戶端開發時舍棄了繁瑣的代碼,C# 正慢慢取代 Swing 成為可視化開發的主流。
3. 網站
同樣,Java 在電子商務領域以及網站開發領域占據這大部分席位。你可以運用許多不同的框架來創建 web 項目,SpringMVC,Struts2.0 以及 frameworks。即使是簡單的 servlet,jsp 和以 struts 為基礎的網站在政府項目中也是很受歡迎的。例如醫療救護,保險,教育,國防以及其他的不同部門網站都是以 Java 為基礎來開發的。
4. 軟件工具
許多常用的軟件和開發工具都是運用 Java 來編寫和開發的。比如 Eclipse,IneteliJIdea 和 Netbans IDE。我認為他們去都是用 Java 來編寫的。就如上面所說,Swing 曾經在可視化桌面客戶端開發非常流行,它們大多數應用與金融服務領域以及投資銀行,JavaFx 雖說已經得到流行,但是依然無法取代 Swing。現在 C# 已經幾乎取代了 Swing 在金融開發領域的地位。
5. 交易系統
第三方交易系統,現已是金融服務產業的一個很大的部分,它們同樣也是 Java 編寫。例如受歡迎的交易平臺 Murex ,它也是 Java 編寫,并與許多的銀行前臺所連接,提供服務。
6. J2ME 系統
隨著近幾年 IOS 和 Android 的出現,幾乎占據了 J2ME 市場,但仍然有低端諾基亞、三星手機使用 J2ME。這個時代的大多數手機游戲,手機應用都采用 J2ME 的一部分 MIDP 和 CLDC 編寫,以適應 Android 系統。但是 J2ME 依然在藍光,磁卡,機頂盒這些產品中流行。通信應用之所以這么火是因為 Nokia 的手機依舊支持 J2ME。
7. 嵌入式領域
Java 在嵌入式領域發展空間很大。在這個平臺上,你只需 130KB 就能夠使用 Java 技術(在智能卡或者傳感器上)。最初,Java 被設計用來在嵌入書設備上工作。事實上,這只是其中的一個領域,這只是當初的“一次寫入,隨便暢游”的項目,現在看起來是這樣了。
8. 大數據技術
Hadoop 以及其他大數據處理技術都是用 Java 或者其他,例如 Apache 的基于 Java 的 HBase 和 Accumulo 以及 ElasticSearchas。但是 Java 在此領域并未占太大空間,如 MongoDB 就是在 C++ 技術基礎上編寫的。總的來說,只要 Hadoop 和 ElasticSearchas 能夠成長壯大,Java 依舊還有潛力去在這個市場占據一部分。
9. 高頻交易的空間
Java 平臺大幅度提高了這個平臺的特性和即使編譯,他同時也能夠像 C++ 一樣傳遞數據。正是由于這個原因,Java 成為的程序員編寫交易平臺的語言,因為雖然性能不比母語,但你可以避開它的安全性,可移植性和可維護性,以更快的速度運行,一個沒有經驗的 C++ 程序員會使應用程序變的更加緩慢和不可靠。
10. 科學應用
今天,Java 依然是在科學應用中最好選擇,包括自然語言處理。最主要的原因是因為 Java 比 C++ 或者其他語言相對其安全性、便攜性、可維護性以及其他高級語言的并發性更好。
1990 年,Java 因為其 Applet 在 Internet 上相當龐大,但是隨著這幾年的下來,Applet 失去了其光環,最主要原因是因為各種各樣的安全問題在 Applet 上出現。今天我們電腦上已經不存在桌面 Java 和 Applet。但 Java 任然是默認的軟件行業的應用程序開發語言,在金融服務行業的大量使用,投資銀行和電子商務應用的空間,任何一個學習 Java 的學者都有著光明的未來。Java 8 只是加強了信念,Java 將持續多年來控制軟件的發展空間。
<span id="shareA4" class="fl">
</span>
</div>