現實世界中哪些地方用到了Java?
如果你是一個起步者或者只是剛剛開始學習 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 將持續多年來控制軟體的發展空間。
相關文章
- 世界盃快到了,看我用Python爬蟲實現(偽)球迷速成!Python爬蟲
- MVC模式在Java Web應用程式中的實現MVC模式JavaWeb
- 用Java實現Stream流處理中的滑窗Java
- Java實現DDD中UnitOfWorkJava
- 用java實現日曆demo。Java
- 用java實現ftp的功能JavaFTP
- 用java實現業務邏輯Java
- Java中HashMap的實現原理JavaHashMap
- Java中實現不可變MapJava
- Java 中的物件池實現Java物件
- Java中實現GraphQL完整指南Java
- Java中鎖的實現方式Java
- JAVA中的執行緒世界Java執行緒
- Java程式中的代理作用和應用場景及實現Java
- 如何用 Java 實現 Web 應用中的定時任務?JavaWeb
- Java用UDP實現簡單聊天JavaUDP
- 用Java實現撲克牌排序Java排序
- 用 Java 實現回撥例程 (轉)Java
- java中的鎖及實現原理Java
- Java中實現流的分割槽Java
- TRIZ的曲面化原理體現在哪些地方?
- 晶片科技:從微觀世界到現實應用的奇妙之旅晶片
- 《css世界》的那些實用技巧CSS
- 用Java實現斷點續傳(HTTP)Java斷點HTTP
- 使用Java實現在SQLserver中實現圖片的儲存JavaSQLServer
- 在 Java 中運用動態掛載實現 Bug 的熱修復Java
- 轉:java應用 tomcat中實現https安全連線的方法JavaTomcatHTTP
- 實際應用中Java Security多嗎?Java
- Java中實現執行緒的方式Java執行緒
- Java中如何實現執行緒呢?Java執行緒
- 如何在 Java 中實現無向圖Java
- Java 8中實現構建器模式Java模式
- Java中6種單例實現方法Java單例
- Java中Blowfish加密演算法實現Java加密演算法
- Java EE在SOA世界中的消亡?(轉)Java
- 用java語言用sort方法實現groupby分組Java
- 用連結串列的方式實現大數相減-Java實現Java
- 【Java基礎教程】用Java實現猜數字小遊戲Java遊戲