Java 會不會被新興語言取代组力?看完之后我不冷靜了

Java會被新興語言取代嗎?

雖然現(xiàn)在不能完全說Java 經(jīng)久不衰抖拴,但是未來一段時間內(nèi)燎字,想要完全取代Java 并不是那么容易的事。

Java 為何經(jīng)久不衰阿宅?

1995年5月23日 Java 誕生候衍。

憑借著"Write Once,run Anywhere(一次編寫,到處運行)"的經(jīng)典宣言洒放、每六個月更新一次的發(fā)版頻率蛉鹿,其在Tiobe、Pypl 以及 RedMonk 等編程語榜上笑傲多年往湿,并且在計算技術(shù)數(shù)十年的發(fā)展演變之后仍保持著旺盛的活力妖异。

時至今日,Java 仍是后臺開發(fā)人員最為可靠的技能儲備之一领追。

1.Java 的定義

Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的高級程序設(shè)計語言他膳。

Java是一門面向?qū)ο蟮木幊陶Z言,不僅吸收了C++語言的各種優(yōu)點绒窑,還摒棄了C++里難以理解的多繼承棕孙、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征些膨。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表蟀俊,極好地實現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進行復(fù)雜的編程订雾。

2肢预、Java 的特性

2.1、簡單性

跟C++相比較而言洼哎,因為Java沒有結(jié)構(gòu)烫映,數(shù)組和串都是對象,所以不需要指針谱净。Java能夠自動處理對象的引用和間接引用窑邦,實現(xiàn)自動的無用單元收集,使用戶不必為存儲管理問題煩惱壕探,能更多的時間和精力花在研發(fā)上郊丛。

2.2李请、面向?qū)ο?/h5>

Java是一個面向?qū)ο蟮恼Z言。對程序員來說导盅,這意味著要注意其中的數(shù)據(jù)和操縱數(shù)據(jù)的方法(method)较幌,而不是嚴格地用過程來思考白翻。在一個面向?qū)ο蟮南到y(tǒng)中,類(class)是數(shù)據(jù)和操作數(shù)據(jù)的方法的集合滤馍。數(shù)據(jù)和方法一起描述對象(object)的狀態(tài)和行為岛琼。每一對象是其狀態(tài)和行為的封裝。

2.3槐瑞、分布性

網(wǎng)絡(luò)變成軟件應(yīng)用的分布運載工具。Java程序只要編寫一次阁苞,就可到處運行。

2.4那槽、編譯和解釋性

Java編譯程序生成字節(jié)碼(byte-code)悼沿,而不是通常的機器碼。Java字節(jié)碼提供對體系結(jié)構(gòu)中性的目標文件格式显沈,代碼設(shè)計成可有效地傳送程序到多個平臺。Java程序可以在任何實現(xiàn)了Java解釋程序和運行系統(tǒng)(run-time system)的系統(tǒng)上運行逢唤。

2.5、穩(wěn)健性

比如異常處理是Java中使得程序更穩(wěn)健的一個特征鳖藕。異常是某種類似于錯誤的異常條件出現(xiàn)的信號魔慷。使用 try/catch/finally 語句,程序員可以找到出錯的處理代碼著恩,這就簡化了出錯處理和恢復(fù)的任務(wù)院尔。

2.6、安全性

Java的存儲分配模型是它防御惡意代碼的主要方法之一喉誊。Java沒有指針邀摆,所以程序員不能得到隱蔽起來的內(nèi)幕和偽造指針去指向存儲器。更重要的是伍茄,Java編譯程序不處理存儲安排決策栋盹,所以程序員不能通過查看聲明去猜測類的實際存儲安排。編譯的Java代碼中的存儲引用在運行時由Java解釋程序決定實際存儲地址敷矫。

2.7例获、可移植性

Java使得語言聲明不依賴于實現(xiàn)的方面汉额。例如,Java顯式說明每個基本數(shù)據(jù)類型的大小和它的運算行為(這些數(shù)據(jù)類型由Java語法描述)榨汤。

Java環(huán)境本身對新的硬件平臺和操作系統(tǒng)是可移植的蠕搜。Java編譯程序也用Java編寫,而Java運行系統(tǒng)用ANSIC語言編寫收壕。

2.8妓灌、高性能

Java是一種先編譯后解釋的語言,所以它不如全編譯性語言快蜜宪。但是有些情況下性能是很要緊的虫埂,為了支持這些情況,Java設(shè)計者制作了“及時”編譯程序端壳,它能在運行時把Java字節(jié)碼翻譯成特定CPU(中央處理器)的機器代碼告丢,也就是實現(xiàn)全編譯了。

Java字節(jié)碼格式設(shè)計時考慮到這些“及時”編譯程序的需要损谦,所以生成機器代碼的過程相當簡單岖免,它能產(chǎn)生相當好的代碼。

2.9照捡、多線程性

Java是多線程語言颅湘,它提供支持多線程的執(zhí)行(也稱為輕便過程),能處理不同任務(wù)栗精,使具有線索的程序設(shè)計很容易闯参。Java的lang包提供一個Thread類,它支持開始線索悲立、運行線索鹿寨、停止線索和檢查線索狀態(tài)的方法。

Java的線索支持也包括一組同步原語脚草。這些原語是基于監(jiān)督程序和條件變量風范,由C.A.R.Haore開發(fā)的廣泛使用的同步化方案原献。用關(guān)鍵詞synchronized,程序員可以說明某些方法在一個類中不能并發(fā)地運行姑隅。這些方法在監(jiān)督程序控制之下,確保變量維持在一個一致的狀態(tài)讲仰。

2.10慕趴、動態(tài)性

Java語言設(shè)計成適應(yīng)于變化的環(huán)境,它是一個動態(tài)的語言霹俺。例如柔吼,Java中的類是根據(jù)需要載入的,甚至有些是通過網(wǎng)絡(luò)獲取的愈魏。

3觅玻、Java 三劍客Jdk培漏,Jre、Jvm之間啥關(guān)系呢牌柄?

JVM:英文全拼是 Java Virtual Machine,翻譯過來就是Java虛擬機珊佣。它只認識class類型的文件蹋宦,也就是Java文件被編譯后生成的文件咒锻,它能夠?qū)lass文件中的字節(jié)碼指令進行識別并調(diào)用操作系統(tǒng)上的API完成作業(yè)。也是Java能夠?qū)崿F(xiàn)跨平臺惑艇,一次編譯蒿辙,到處運行的核心滨巴。

JRE:英文全拼是Java Runtime Environment,翻譯過來也就是Java運行時環(huán)境恭取,它主要包含兩個部分,JVM和運行時所需要的核心類庫秽荤,負責提供Java運行環(huán)境和Java文件的編譯工作甜奄。

在JDK的安裝目錄下有一個名為jre的目錄窃款,里面有兩個文件夾bin和lib,在這里可以認為bin里的就是jvm晨继,lib中則是jvm工作所需要的類庫烟阐,而jvm和lib和起來就稱為jre。

JDK:英文全拼是Java Development Kit唉擂,翻譯過來就是Java開發(fā)工具包。是Java開發(fā)的核心檀葛,它集成了JRE和一些好用的工具命令。例如:java屿聋、javac、jar等常用命令润讥。

4转锈、Java 工作原理

把源文件編譯生成一種二進制中間碼楚殿,存儲在class文件中,然后再通過運行與操作系統(tǒng)平臺環(huán)境相對應(yīng)的Java虛擬機來運行class文件脆粥,執(zhí)行編譯產(chǎn)生的字節(jié)碼,調(diào)用class文件中實現(xiàn)的方法來滿足程序的Java API調(diào)用 冠绢。

5抚吠、我的第一個Java程序

打開我們的記事本弟胀,來展示我們的 Java 編程,創(chuàng)建文件 HelloWorld.java(文件名需與類名一致), 代碼如下:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

Hello World 就這樣孵户,我們的 Java 程序就正式問世了。

javac 編譯夏哭,java 執(zhí)行我們的字節(jié)碼 class文件就 Ok了检柬。

是不是很簡單呢竖配?

6、 Jdk版本迭代

1990年末进胯,Sun公司啟“Green計劃”,由James Gosling領(lǐng)導胁镐,旨在開發(fā)嵌入式系統(tǒng)偎血,C++到 Oak。

1992 年 Oak 相關(guān)操作系統(tǒng)颇玷、類庫等完成笨农,11 月帖渠,“Green 計劃”被轉(zhuǎn)化成“FirstPerson 有限公司”(致力高度互動的設(shè)備),關(guān)于機頂盒的交易屢敗阿弃,Green 項目幾乎接近夭折羞延。

1994 年互聯(lián)網(wǎng)和瀏覽器出現(xiàn)渣淳,對 Oak 改進出現(xiàn)第一個 Java 語言的網(wǎng)頁瀏覽器 WebRunner伴箩,并得到 Sun 的賞析,由于 Oak 已被別人注冊嗤谚,因此改名為 Java棺蛛。

1995 年 Sun 公司發(fā)布了 Java 語言巩步,并將源代碼毫不保留地放到互聯(lián)網(wǎng)上,幾個月后椅野,Java 成為互聯(lián)網(wǎng)上最熱門的寶貝终畅,涌現(xiàn)了大量 Java 小程序(Applet)竟闪,Java 在移動互聯(lián)網(wǎng)上主要用于交互、動畫炼蛤。至此妖爷,Java 誕生理朋。

1996 年 Flash 的出現(xiàn)逐漸吞噬了 Java 在網(wǎng)頁上的應(yīng)用。第一個 JDK 誕生嗽上。

1998 年定位到企業(yè)、桌面和移動 3 個領(lǐng)域炸裆,Java 飛速發(fā)展垃它。

1999 年 Sun 公司發(fā)布 J2SE、J2EE国拇、J2EE。

2004 年 Java SE5.0 發(fā)布酱吝。

2007 年 Google 推出的 Android 給 Java 帶來了新的發(fā)展機會。

2009 年 Sun 公司被 Oracle 以總價值約 74 億美元收購务热,獲得兩項軟件資產(chǎn)忆嗜,Java 和 Solaris崎岂。

2012 年,Java 7 發(fā)布 冲甘。

2014年3月绩卤,JavaSE 8 發(fā)布江醇。

2017年9月,JavaSE 9 發(fā)布陶夜。

2018年3月凛驮,Java SE 10 發(fā)布条辟。

2018年9月,Java SE 11 發(fā)布捂贿。

2019年3月纠修,Java SE 12 發(fā)布厂僧。

2019年9月,Java SE 13 發(fā)布颜屠。

2020年3月,Java SE 14 發(fā)布甫窟。

2020年9月密浑,Java SE 15 發(fā)布粗井。

2021年3月街图,Java SE 16 發(fā)布。

2021年9月懒构,Java SE 17 發(fā)布。

2022年3月胆剧,Java SE 18 發(fā)布絮姆。


不得不說版本的更新迭代類似社區(qū)用戶的活躍度秩霍,更新越快,就代表它的活躍度越高铃绒。

7、中國編程語言排行榜

過去的十多年匿垄,java幾乎每年都是全世界使用人數(shù)第一的語言移宅。推薦:Java椿疗,屠榜之王糠悼!編程界的半壁山。

7.1倔喂、編程語言比例

7.2铝条、Java 占比人數(shù)依然最多


8席噩、廣泛的應(yīng)用領(lǐng)域


全世界數(shù)百萬的IT企業(yè)構(gòu)建了龐大的Java生態(tài)圈,大量的軟件基于Java開發(fā)悼枢。

Java目前在企業(yè)級軟件開發(fā)、安卓開發(fā)馒索、大數(shù)據(jù)莹妒、云計算等方方面面都是主流的編程語言绰上。

8.1、有關(guān)通信及網(wǎng)絡(luò)的大型企業(yè):移動蜈块、聯(lián)通鉴腻、電信、網(wǎng)通主要的信息化都是Java爽哎;
8.2、有關(guān)金融行的大型企業(yè)倦青,所有的銀行瓮床、證券公司如工商銀行产镐、建設(shè)銀行;大型管理系統(tǒng)如供應(yīng)鏈癣亚、客戶管理系統(tǒng)等丑掺;
8.3述雾、電子政務(wù),主要使用JavaEE玻孟,相關(guān)的政府部門絕大多數(shù)的信息化系統(tǒng)是Java開發(fā)的唆缴;
8.4黍翎、游戲,很多手機游戲都是用Java的匣掸。

這個生態(tài)圈的影響力越來越大趟紊,需要的人才也越來越多碰酝。越多人會Java,就有越多軟件使用Java編寫送爸,反過來促進需要更多的Java人才铛嘱。

這就是著名的“馬太效應(yīng)”碱璃,即“強者越強,弱者越弱”嵌器。選擇方向這件事肛真,有時候就是看興趣爽航,看機遇乾忱,看你能堅持多久,如果你對一個方向感興趣历极,并且愿意持續(xù)學習,不斷深挖趟卸,這個方向可能就適合你蹄葱,當你在這個方向投入了一定時間之后锄列,有了一定積累和經(jīng)驗,就不太容易再改變方向了邻邮。如果你下定決心選擇Java竣况,就得在這條技術(shù)路上不斷深挖筒严,不可老是搖擺不定,否則只是浪費時間鸭蛙。

看到這里摹恨,你認為Java 會被新興語言取代嗎规惰?

記得點贊評論哦!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末歇万,一起剝皮案震驚了整個濱河市勋陪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌诅愚,老刑警劉巖寒锚,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件违孝,死亡現(xiàn)場離奇詭異,居然都是意外死亡雌桑,警方通過查閱死者的電腦和手機喇喉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門校坑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來千诬,“玉大人,你說我怎么就攤上這事膏斤。” “怎么了莫辨?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長沮榜。 經(jīng)常有香客問我盘榨,道長敞映,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任振愿,我火速辦了婚禮捷犹,結(jié)果婚禮上冕末,老公的妹妹穿的比我還像新娘。我一直安慰自己档桃,他們只是感情好枪孩,可當我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布藻肄。 她就那樣靜靜地躺著,像睡著了一般嘹屯。 火紅的嫁衣襯著肌膚如雪攻询。 梳的紋絲不亂的頭發(fā)上州弟,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天,我揣著相機與錄音婆翔,去河邊找鬼。 笑死啃奴,一個胖子當著我的面吹牛潭陪,可吹牛的內(nèi)容都是我干的纺腊。 我是一名探鬼主播畔咧,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼誓沸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起拜隧,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤宿百,失蹤者是張志新(化名)和其女友劉穎洪添,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體干奢,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡痊焊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年忿峻,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逛尚。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖绰寞,靈堂內(nèi)的尸體忽然破棺而出到逊,到底是詐尸還是另有隱情,我是刑警寧澤觉壶,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站件缸,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏停团。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一佑稠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧旗芬,春花似錦、人聲如沸疮丛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽履恩。三九已至锰茉,卻和暖如春切心,著一層夾襖步出監(jiān)牢的瞬間飒筑,已是汗流浹背绽昏。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留全谤,地道東北人肤晓。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓认然,卻偏偏與公主長得像,于是被迫代替她去往敵國和親季眷。 傳聞我的和親對象是個殘疾皇子余蟹,可洞房花燭夜當晚...
    茶點故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內(nèi)容