最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

jdk版本的選擇(推薦1.8)

2018-11-30 15:44 作者:校招VIP  | 我要投稿

對(duì)java新手來說,選擇jdk的版本也是個(gè)頭暈的事情,今天小拿就給大家講講。內(nèi)容包括

  1. jdk從1.5到1.11,選哪個(gè)最好

  2. jdk和jre的區(qū)別

一、jdk版本選擇

jdk是java開發(fā)工具包,除了運(yùn)行和編譯相關(guān)的工具外,最重要的是封裝了很多方法(function/method/api)。比如寫一個(gè)輸出“Hello world”的程序,直接調(diào)用System.out.println方法就好。

但是安裝jdk的時(shí)候,有的人推薦1.6(也有叫6.0的),也有說用1.7和1.8的。竟然這么混亂,不如先官網(wǎng)看看是什么情況。

java下載官網(wǎng)直達(dá):https://www.oracle.com/technetwork/java/javase/downloads/index.html

神馬!真是不看不知道,一看嚇一跳,jdk原來在今年的9月26日已經(jīng)發(fā)布了了11.0(也就是1.11),從jdk1.5到1.11,到底選哪個(gè)版本?

問題1:JDK為什么頻繁升級(jí),從1.7到1.8、1.9、1.0、1.11?

這個(gè)問題新手可以了解下,java和C++都是高級(jí)語言,但是兩者之間最大的區(qū)別就是C++底層直接調(diào)用操作系統(tǒng)運(yùn)行硬件;而java是在操作系統(tǒng)之上加了一層JVM(java虛擬機(jī)),也就是運(yùn)行上硬件之上的一個(gè)層級(jí),所以一般來說C++性能更好。

早期的大型客戶端游戲、網(wǎng)絡(luò)和大數(shù)據(jù)算法、和硬件驅(qū)動(dòng)都是用C++(或者C)語言來開發(fā)的。但是人無完人,語言也是這樣,要不然就不會(huì)有像java、python、go等五花八門的語言。與操作系統(tǒng)的強(qiáng)鎖定使C++在不同操作系統(tǒng)或者硬件平臺(tái)運(yùn)行時(shí),都要對(duì)程序進(jìn)行改進(jìn)和調(diào)整。

而java因?yàn)榈讓佑幸惶滋摂M機(jī)的存在,號(hào)稱各平臺(tái)運(yùn)行無障礙?,F(xiàn)在智能電器、家居基本上跑的都是基于java語言開發(fā)的程序。

但是java說我也是運(yùn)用這么廣泛的語言,怎么能老戴著性能不如C++的帽子呢?所以隨著技術(shù)的提高和數(shù)據(jù)結(jié)構(gòu)算法的應(yīng)用,通過不斷的小版本(如1.8.1,1.8.2)和大版本(1.7、1.8等)的發(fā)布,jvm的性能也一直在升級(jí),普通應(yīng)用場(chǎng)景下,已經(jīng)和C++性能相關(guān)不大。

另外,語法一直比較死板的java語言,也在吸收其它語言的精華,比如1.8引入了Lambda表達(dá)式,1.9引入var變量等。(雖然,java程序員大都不買賬,一直用著原來死板的語法~~)

問題二:到底取選哪個(gè)

先給答案,選1.8或者1.9,1.8優(yōu)先

話要從Sun公司(也就是太陽)被Oracle收購說起,java原來是個(gè)開源項(xiàng)目,社區(qū)來維護(hù)。被收購后就帶有商業(yè)和屬性,Oracle公司也慢慢開始向java開刀和收費(fèi)了,雖然現(xiàn)在jdk se?標(biāo)準(zhǔn)版還不收費(fèi),但是高級(jí)版已經(jīng)向使用的企業(yè)要錢了。

有這個(gè)打算后的java語言走的路子就快了很多,比如10.0和11.0的發(fā)布就很快,一些新增的功能還需要市場(chǎng)來反饋是不是合理的,而且java開發(fā)依賴于很多框架(如spring),如果這些框架還沒有完全支持新版本,可能就運(yùn)行不起來。所以建議新版本(10.0和11.0),除非只想從語言層面去體驗(yàn)新功能,還是不要在實(shí)際業(yè)務(wù)開發(fā)中用。

1.5和1.6就太老了,連1.8,Oracle都發(fā)出2019年1月停止更新的通知了,我們就更不要用這些老古董了。

1.7、1.8、1.9都是成熟版本,原則上都可以選用。公司的商業(yè)項(xiàng)目jdk一般不輕易升級(jí),1.9用的就比較少了,加上上面的配套框架升級(jí)速度的考慮,1.9版本第二推薦位。1.8和1.7的應(yīng)用都比較廣泛了,那自然選更新更高級(jí)的版本,所以,最推薦用1.8版本。

二、jdk和jre的區(qū)別

有同學(xué)在配置系統(tǒng)時(shí),經(jīng)常遇到j(luò)dk和jre的問題,但是也搞不清兩者的區(qū)別。這里作為常識(shí)了解下,早期不知道也沒什么問題。

其實(shí)從就兩個(gè)詞的字面就可以區(qū)分開,jdk(java development kit)是java的開發(fā)工具包,jre (java runtime environment) 是java程序的運(yùn)行環(huán)境。

本地開發(fā)的時(shí)候也可以運(yùn)行,但是作為網(wǎng)站或者項(xiàng)目運(yùn)行時(shí),代碼都打個(gè)war包或者jar包了,跟開發(fā)相關(guān)的工具和包就沒有用了。

也就是說jre是jdk的一個(gè)子集。

下圖是官方1.8的文檔說明:? ? ?https://docs.oracle.com/javase/8/docs/

運(yùn)行時(shí)使用jre而不使用jdk,一方面是為了減少硬盤空間的使用,另一方面也有一定的安全考慮,防止jdk里的一些執(zhí)行命令被惡意篡改。當(dāng)然,現(xiàn)在大部分公司運(yùn)行時(shí)已經(jīng)不那么區(qū)分jdk和jre了,直接在服務(wù)器上跑JDK。



本文為【拿OFFER】原創(chuàng),轉(zhuǎn)載請(qǐng)標(biāo)明出處。

jdk版本的選擇(推薦1.8)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
肥东县| 河津市| 安顺市| 迁西县| 岳西县| 将乐县| 莲花县| 阿克| 射阳县| 蕲春县| 宜兰县| 黔西县| 石阡县| 荃湾区| 舟曲县| 临猗县| 六安市| 安吉县| 邓州市| 九台市| 伊宁县| 什邡市| 彰武县| 弥渡县| 汝州市| 崇阳县| 万荣县| 双柏县| 淮安市| 弥勒县| 南投县| 乐山市| 徐闻县| 泰和县| 苗栗县| 吉安县| 鸡东县| 金昌市| 汉阴县| 乌什县| 元谋县|