我們一直在期待著Java 8的新功能,雖然很大一部分是對(duì)Java 7的擴(kuò)展,發(fā)布時(shí)間也一推再推。但如今甲骨文終于承諾:新版本將是徹底的變革而不僅僅是Java 7的擴(kuò)展。那Java 8到底是什么樣的呢?
甲骨文的Java總架構(gòu)師馬克•雷納德在2011年JavaOne大會(huì)上為大家透露了Java 8的新功能,同時(shí)也談到了一些關(guān)于Java 9的計(jì)劃。他說,Java 7未能實(shí)現(xiàn)五個(gè)關(guān)鍵的功能是非常遺憾的一件事,而且另外兩個(gè)功能為了配合發(fā)布日期也只好作罷。馬克認(rèn)為,Java 7的更新是非常重要的,他還暗示,Java 8將從根本上改變編程語言的功能。看完下面的介紹你也許會(huì)明白馬克的說法不是天方夜譚。
Java 8包含兩個(gè)主要項(xiàng)目:
1. Lambda
在Lambda項(xiàng)目中,多核處理器下的Java編程將更高效,Lambda表達(dá)式可以幫助開發(fā)人員提高效率,更好地利用多核處理器。Lambda項(xiàng)目還包括一個(gè)新的處理系統(tǒng),該系統(tǒng)允許要求代碼建模的編程模式作為數(shù)據(jù)。新功能一覽:
- Lambda表達(dá)式的運(yùn)用
- 擴(kuò)展目標(biāo)類型化
- 方法和構(gòu)造函數(shù)參考
- 默認(rèn)方法
2. Jigsaw
Jigsaw項(xiàng)目的目標(biāo)是創(chuàng)建一個(gè)實(shí)用的方式來在JDK上設(shè)計(jì)和實(shí)施一個(gè)模塊系統(tǒng),然后將該系統(tǒng)應(yīng)用于JDK本身。其關(guān)鍵是令大塊的代碼更易于管理,并促進(jìn)應(yīng)用和大型運(yùn)算的代碼重用。Jigsaw項(xiàng)目還帶來了許多新的表單功能,涉及封裝、重構(gòu)、版本和模塊集成。
此外,除了這兩個(gè)項(xiàng)目,Java 8 還增加改進(jìn)了一些其他語言功能,如升級(jí)核心Java庫使并行運(yùn)算的表達(dá)更容易;虛擬擴(kuò)展方法允許對(duì)接口增加方法,為默認(rèn)實(shí)現(xiàn)指定參考;增加新的日期/時(shí)間API,同時(shí)支持傳感器,增加代碼的部署選項(xiàng)。
Java 9、10的發(fā)展規(guī)劃
甲骨文對(duì)Java 8 的前景很是看好,并已經(jīng)開始討論Java 9發(fā)展的關(guān)鍵領(lǐng)域。比如加入一個(gè)self-tuning JVM,提高本地集成和大規(guī)模多核的可擴(kuò)展性;通過新的元對(duì)象協(xié)議和資源管理器為云應(yīng)用添加跨語言支持。
甲骨文也表示,Java9和10將加入大數(shù)據(jù)、多語言的互操作性、云計(jì)算和移動(dòng),預(yù)期分別于2015年和2017年發(fā)布。而關(guān)于Java開發(fā)工具包(JDK)10以及之后的版本也正在討論中,比如使Java語言面向?qū)ο螅纬梢粋€(gè)統(tǒng)一的類型系統(tǒng),所有原語都將轉(zhuǎn)換為對(duì)象和方法。
隨著使用人數(shù)的增加,Java正逐漸成為最常用的編程語言,令每個(gè)使用者都滿意成了它的目標(biāo)。甲骨文認(rèn)為Java在將來會(huì)成為開發(fā)者們首選的編程語言,因?yàn)樗梢詫?shí)現(xiàn)的東西正好符合了開發(fā)者們的期望。
英文出自:LearnComputer
譯文出自:ITeye