如果你是一個(gè)起步者或者只是剛剛開(kāi)始學(xué)習(xí)Java,你或許會(huì)疑慮,Java 到底是在哪里被運(yùn)用的呢?除了 Minecraft 這款游戲以外,你沒(méi)有見(jiàn)過(guò)用 Java 編寫的游戲吧?桌面工具 Adobe Acrobat、微軟的 Office 辦公軟件,他們都不是用 Java 編寫,以至于連我們電腦所應(yīng)用的操作系統(tǒng)(Linux 和 Windows)都不是,那么人們?nèi)绾芜\(yùn)用 Java 的呢?現(xiàn)實(shí)世界中到底有沒(méi)有運(yùn)用 Java 的應(yīng)用呢?這個(gè)問(wèn)題所有的程序員都會(huì)在初學(xué) Java 或者在為了畢業(yè)必須掌握一門編程語(yǔ)言而開(kāi)始學(xué)習(xí)之后時(shí)產(chǎn)生這個(gè)疑問(wèn)。
當(dāng)你在安裝 Java 在你的桌面時(shí)會(huì)得到答案,或者動(dòng)力節(jié)點(diǎn)的Java老師會(huì)告訴你超過(guò)了30億的設(shè)備正在運(yùn)行著 Java,這難道不是一個(gè)龐大的數(shù)字嗎?大多數(shù)大公司都以不同的方式運(yùn)用著 Java。許多服務(wù)器程序都是拿 Java 來(lái)編寫以處理每天超過(guò)數(shù)以千萬(wàn)的數(shù)據(jù),網(wǎng)絡(luò)上的交易系統(tǒng)也是拿 Java 編寫例如 LMAX 交易平臺(tái)系統(tǒng),其覆蓋內(nèi)部路徑的阻斷式的內(nèi)部通信線程,Disruptor。今天這篇文章里,Java老師會(huì)講到很多跟貼切的例子,哪些項(xiàng)目是在 Java 的基礎(chǔ)上完成的,哪些領(lǐng)域和部門在運(yùn)用 Java,如何正確的在現(xiàn)實(shí)世界中運(yùn)用 Java。
現(xiàn)實(shí)世界中的Java程序
其實(shí)現(xiàn)實(shí)生活中有很多地方應(yīng)用到了 Java,從電子商務(wù)網(wǎng)站到 Android 應(yīng)用,從科學(xué)應(yīng)用到金融應(yīng)用比如電子交易系統(tǒng),從游戲(Minecraft)到桌面應(yīng)用好比 Eclipse,NetBeans 以及 IntelliJ,從開(kāi)源的文檔到 J2ME 應(yīng)用。下面動(dòng)力節(jié)點(diǎn)Java老師來(lái)詳細(xì)的介紹這些。
1. Android應(yīng)用
如果你還在尋找Java在哪運(yùn)用,你不用東奔西走的尋找,你的身邊就是。打開(kāi)的 Android 手機(jī),隨便打開(kāi)一個(gè) App 應(yīng)用,他們就是完全的用 Java 語(yǔ)言,從 Google 上搜索 Android 的 API 文檔,你就會(huì)發(fā)現(xiàn)它和 Java 的 JDK 文檔驚人的相似。從兩年前的 Android 剛剛起步,到今天許多的 Android 應(yīng)用都是 Java 程序員開(kāi)發(fā)者開(kāi)發(fā)。雖然 Android 運(yùn)用了不同的 JVM 以及不同的封裝方式,但是代碼還是用 Java 語(yǔ)言所編寫。
2. 在金融業(yè)應(yīng)用的服務(wù)器程序
Java 在金融服務(wù)業(yè)的應(yīng)用非常廣泛,許多跨國(guó)投資銀行例如:Goldman Sachs(高盛投資),Citigroup(花旗集團(tuán)),Barclays(巴克萊銀行),Standard Charted(標(biāo)準(zhǔn)渣打銀行)以及其他銀行,都用 Java 來(lái)編寫前臺(tái)和后臺(tái)的電子交易系統(tǒng),結(jié)算和確認(rèn)系統(tǒng),數(shù)據(jù)處理項(xiàng)目以及其他項(xiàng)目。大多數(shù)情況下,Java 被用在服務(wù)器端開(kāi)發(fā),但多數(shù)沒(méi)有任何前端,它們通常是從一個(gè)服務(wù)器(上一級(jí))接收數(shù)據(jù),處理后發(fā)向另一個(gè)處理系統(tǒng)(下一級(jí)處理)。Java Swing 技術(shù)旨在開(kāi)發(fā)可視化界面客戶端供交易者使用,但是隨著近幾年 C# 的崛起使程序員在客戶端開(kāi)發(fā)時(shí)舍棄了繁瑣的代碼,C# 正慢慢取代 Swing 成為可視化開(kāi)發(fā)的主流。
3. 網(wǎng)站
同樣,Java 在電子商務(wù)領(lǐng)域以及網(wǎng)站開(kāi)發(fā)領(lǐng)域占據(jù)這大部分席位。你可以運(yùn)用許多不同的框架來(lái)創(chuàng)建web項(xiàng)目,SpringMVC,Struts2.0 以及 frameworks。即使是簡(jiǎn)單的 servlet,jsp 和以 struts 為基礎(chǔ)的網(wǎng)站在政府項(xiàng)目中也是很受歡迎的。例如醫(yī)療救護(hù),保險(xiǎn),教育,國(guó)防以及其他的不同部門網(wǎng)站都是以 Java 為基礎(chǔ)來(lái)開(kāi)發(fā)的。
4. 軟件工具
許多常用的軟件和開(kāi)發(fā)工具都是運(yùn)用Java來(lái)編寫和開(kāi)發(fā)的。比如 Eclipse,IneteliJIdea 和 Netbans IDE。我認(rèn)為他們?nèi)ザ际怯?/span> Java 來(lái)編寫的。就如上面所說(shuō),Swing 曾經(jīng)在可視化桌面客戶端開(kāi)發(fā)非常流行,它們大多數(shù)應(yīng)用與金融服務(wù)領(lǐng)域以及投資銀行,JavaFx 雖說(shuō)已經(jīng)得到流行,但是依然無(wú)法取代 Swing?,F(xiàn)在 C# 已經(jīng)幾乎取代了 Swing 在金融開(kāi)發(fā)領(lǐng)域的地位。
5. 交易系統(tǒng)
第三方交易系統(tǒng),現(xiàn)已是金融服務(wù)產(chǎn)業(yè)的一個(gè)很大的部分,它們同樣也是 Java 編寫。例如受歡迎的交易平臺(tái) Murex ,它也是 Java 編寫,并與許多的銀行前臺(tái)所連接,提供服務(wù)。
6. 嵌入式領(lǐng)域
Java 在嵌入式領(lǐng)域發(fā)展空間很大。在這個(gè)平臺(tái)上,你只需130KB就能夠使用 Java 技術(shù)(在智能卡或者傳感器上)。開(kāi)始,Java 被設(shè)計(jì)用來(lái)在嵌入書設(shè)備上工作。事實(shí)上,這只是其中的一個(gè)領(lǐng)域,這只是當(dāng)初的“一次寫入,隨便暢游”的項(xiàng)目,現(xiàn)在看起來(lái)是這樣了。
7. 大數(shù)據(jù)技術(shù)
Hadoop 以及其他大數(shù)據(jù)處理技術(shù)都是用 Java 或者其他,例如 Apache 的基于 Java 的 HBase 和Accumulo 以及 ElasticSearchas。但是 Java 在此領(lǐng)域并未占太大空間,如 MongoDB 就是在 C++ 技術(shù)基礎(chǔ)上編寫的。總的來(lái)說(shuō),只要 Hadoop 和 ElasticSearchas 能夠成長(zhǎng)壯大,Java 依舊還有潛力去在這個(gè)市場(chǎng)占據(jù)一部分。
8. 高頻交易的空間
Java 平臺(tái)大幅度提高了這個(gè)平臺(tái)的特性和即使編譯,他同時(shí)也能夠像 C++ 一樣傳遞數(shù)據(jù)。正是由于這個(gè)原因,Java 成為的程序員編寫交易平臺(tái)的語(yǔ)言,因?yàn)殡m然性能不比母語(yǔ),但你可以避開(kāi)它的安全性,可移植性和可維護(hù)性,以更快的速度運(yùn)行,一個(gè)沒(méi)有經(jīng)驗(yàn)的 C++ 程序員會(huì)使應(yīng)用程序變的更加緩慢和不可靠。
9. 科學(xué)應(yīng)用
今天,Java 依然是在科學(xué)應(yīng)用中很好的選擇,包括自然語(yǔ)言處理。主要的原因是因?yàn)?/span> Java 比 C++ 或者其他語(yǔ)言相對(duì)其安全性、便攜性、可維護(hù)性以及其他高級(jí)語(yǔ)言的并發(fā)性更好。
現(xiàn)在Java可以運(yùn)用的領(lǐng)域已經(jīng)基本介紹完了,所有學(xué)習(xí)Java的同學(xué)或者準(zhǔn)備報(bào)名Java培訓(xùn)班的同學(xué),可以放心了,畢業(yè)后找工作的范圍還是廣闊的。參加動(dòng)力節(jié)點(diǎn)Java培訓(xùn)班,高薪就業(yè)不是夢(mèng)想。
更多Java培訓(xùn),Java視頻,Java教程盡在動(dòng)力節(jié)點(diǎn)Java培訓(xùn),關(guān)注動(dòng)力節(jié)點(diǎn)官方微信,獲得一手Java全新知識(shí)。