Java SE 8新功能导览:Java开发世界中的重大变化
與其他專業(yè)團隊成員一樣,我是采用OpenJDK的成員之一,但是從最近8個月開始加入,我們經(jīng)歷了Java SE 8 開發(fā),編譯,編碼,討論等各個階段,直到將其付諸實踐為止。 。 它于2014年3月18日發(fā)布,現(xiàn)在可供您使用。
我很高興宣布本系列“ Java SE 8新功能之旅 ”,我將在其中編寫示例,以簡化Java SE 8知識的獲取,開發(fā)經(jīng)驗,新功能以及將利用您的知識的API,增強您的編碼方式,并提高生產(chǎn)率。 希望您喜歡它,就像我在編寫時一樣。
我們將瀏覽Java SE 8(項目和API)中的新主要和重要功能,該平臺旨在支持更快,更輕松的Java開發(fā)。 我們將學(xué)習(xí)Project Lambda ,這是一種支持Java代碼中l(wèi)ambda表達式的新語法。
檢查新的Stream API以處理集合并管理并行處理。
使用DateTime API計算時間跨度,以表示,管理和計算日期和時間值。
除了Nashorn之外,新的引擎還可以更好地支持Java虛擬機使用JavaScript代碼。
最后,我還將介紹一些鮮為人知的功能,例如將字符串連接到列表的新方法,以及其他將在日常任務(wù)中為您提供幫助的其他功能。
有關(guān)Java SE 8功能和教程的更多信息,我建議您也參考Java教程官方網(wǎng)站和Java SE 8 Java API文檔 。
我們將在本系列中討論的主題包括:
安裝Java SE 8,注意事項和建議。
在Windows上安裝Java SE 8
為了在Microsoft Windows上運行Java SE 8,請首先檢查您擁有哪個版本。 Windows 8、7,Vista和XP支持Java SE 8。 具體來說,您將需要這些版本。 對于Windows 8或8.1,您需要Windows的桌面版本。 不支持Windows RT。 您可以在任何版本的Windows 7以及最新版本的Windows Vista和Windows XP上運行Java SE 8。 在基于Server的Windows版本上,您可以運行2008和64位版本的2012。如果要在Java Applet上運行,則需要64位瀏覽器,這些瀏覽器可以包括Internet Explorer 7.0及更高版本,Firefox 3.6和更高版本。以上版本以及Windows上支持的Google Chrome,但Mac上不支持。您可以從以下網(wǎng)址下載Java SE 8的Java開發(fā)者工具包:
在Mac上安裝Java SE 8
為了在Mac OS X上使用Java SE 8,必須具有運行Mac OS X 10.7.3的基于Intel的Mac,即Lion或更高版本。 如果您使用的是Mac的舊版本,則將無法編程或運行Java 8應(yīng)用程序。 為了安裝Java SE 8,您需要在Mac上具有管理權(quán)限。 為了在瀏覽器中運行Java applet,您需要使用Safari或Firefox之類的64位瀏覽器.Google Chrome是32位瀏覽器 ,并且不能用于此目的 。 Windows上的SE,同一網(wǎng)站上有MAC OS .dmg版本可供下載和安裝。 實際上包含所有操作系統(tǒng)版本。 但是,我們的重點是Windows和MAC。
現(xiàn)在,您可以在Windows和MAC OS X平臺上開始使用Java SE 8進行編程了。
大概安裝了Java SE 8之后,讓我們深入了解第一點,并簡要地了解一下Java SE 8的主要功能,以開始我們最喜歡的IDE的編碼之旅。
引入Java SE 8的主要功能后,變化很大。
JSR 337:Java SE 8發(fā)行內(nèi)容概述
Java SE 8是Java編程語言和Java虛擬機的主要發(fā)行版。 它包括許多更改。 有些文章比Lambda表達式等文章有更多的報道,但是我將同時討論主要變化和一些次要變化。
JSR 335:Lambda表達式
可能最受關(guān)注的是Project Lambda,這是一組新的語法功能,可讓Java開發(fā)人員充當(dāng)函數(shù)程序員。 這包括lambda表達式,方法引用和其他一些功能。
JSR 310:日期和時間API
有一個用于管理日期和時間的新API。 替換舊的類。 這些較舊的類仍在Java Runtime中,但是在構(gòu)建新應(yīng)用程序時,您可能希望移至這套新功能,這些功能可以簡化代碼并更加直觀地編程。 有一些新類可以管理本地日期,時間和時區(qū),以及計算不同時間之間的差異。
流API
添加了用于管理集合的新工具,包括列表,地圖,集合等。流允許您處理集合中的每個項目,而無需編寫明確的循環(huán)代碼。 它還使您可以將處理分為多個CPU。 因此,對于大型,復(fù)雜的數(shù)據(jù)集,您可以看到顯著的性能提升。
納斯霍恩項目
Nashorn JavaScript引擎也是Java SE 8的新功能。 這是一個全新JavaScript引擎,從頭開始編寫,可以使用JavaScript進行編碼,但可以集成Java類和對象。Nashorn的目標(biāo)是在Java中使用本機JVM實現(xiàn)輕量級高性能JavaScript運行時。 該項目旨在使Java開發(fā)人員能夠通過JSR-223在Java應(yīng)用程序中嵌入JavaScript,并使用jrunscript命令行工具開發(fā)獨立JavaScript應(yīng)用程序。在有關(guān)Nashorn的文章中,我將介紹如何從命令行運行Nashorn代碼。 還有如何在單獨的文件中編寫JavaScript,然后從Java代碼執(zhí)行這些文件。
并發(fā)API增強。
并發(fā)框架也有增強,使您可以管理和累積多個線程中的值。 還有很多較小的變化。
字符串,數(shù)字有新工具
在字符串類和其他新類中,有一些用于創(chuàng)建分隔列表的新工具。 有一些用于匯總數(shù)字的工具,包括整數(shù),雙精度數(shù),雙精度數(shù)等等。
其他新功能
還有一些工具可以更好地檢測空情況,我將在本系列中介紹所有這些工具。
我將介紹如何使用新的便捷方法來處理文件。
那么,Java SE 8何時可用?
答案是,現(xiàn)在。 它于2014年3月18日發(fā)布。對于使用Java構(gòu)建客戶端站點應(yīng)用程序的開發(fā)人員,JavaFX富互聯(lián)網(wǎng)應(yīng)用程序框架現(xiàn)在支持Java 8。 而且大多數(shù)Java企業(yè)版供應(yīng)商也都支持Java 8。 是否立即遷移到Java SE 8取決于您正在處理的項目類型。
對于許多服務(wù)器和客戶端站點應(yīng)用程序,它立即可用。
尚不支持Android。
Android開發(fā)人員要當(dāng)心; 目前,Android不支持Java SE 8語法和API。
直到最近,Android才采用了一些最新的Java 7語法。 因此,Android可能需要一些時間才能支持此最新語法或最新API。 但是對于所有其他Java開發(fā)人員來說,值得一看的是這些新功能。
那IDE呢?
所有主要的Java開發(fā)環(huán)境都支持Java SE 8。 包括Oracle的Netbeans , Intellij Idea和Eclipse 。 在本系列中,我將使用Netbeans版本8在Netbeans中進行所有演示,可以從https://netbeans.org/downloads/下載。
但是,在開始研究本系列之前,讓我們先檢查一下,我們可能已經(jīng)安裝了Java SE 8,并在Netbeans下啟動了一個新項目,該項目將包含我們將要編寫的所有代碼。 然后開發(fā)一個lambda代碼來測試我們的項目是否可以在Java SE 8中正常工作。
或者,您可以從我的Github帳戶下載系列源代碼,使用Netbeans打開它,然后按照我接下來顯示的內(nèi)容以及即將發(fā)布的系列代碼進行操作。
Github上的項目: https : //github.com/mohamed-taman/JavaSE8-Features
帶有Lambda表達式的Java SE 8上的Hello world應(yīng)用程序。
步驟(如果瀏覽我的代碼,則不需要):
這些代碼大多數(shù)都可以在Java 7上運行 ,但是Java SE 8中在此處添加了一個注釋,即FunctionalInterface 。 如果未正確為Java 8配置Netbeans環(huán)境,則此注釋將導(dǎo)致錯誤,因為它不會被識別為有效的Java代碼。 我沒有看到任何錯誤,因此這很好地表明Eclipse正在按我的期望工作。
接下來,我將打開名為Print.java的此類定義。 這是具有主要方法的類,因此我可以將其作為控制臺應(yīng)用程序運行,并且它具有新的Java 8語法的關(guān)鍵行。
它正在創(chuàng)建一個功能接口的實例,我剛剛使用lambda表達式向您展示了,該表達式是Java在Java 8之前不存在的一種語法樣式。我將在下一篇文章的早期部分解釋這種語法的作用。
但是,您現(xiàn)在只需要知道,如果這段代碼沒有引起任何錯誤,那么Netbeans就會再次將其識別為有效的Java語法。 我正在創(chuàng)建該接口的實例,然后調(diào)用該接口的print方法。 因此,我將運行代碼。
我將單擊工具欄上的“運行”按鈕,然后在控制臺中看到成功的結(jié)果。 我創(chuàng)建了一個對象,它是使用lambda表達式的該接口的實例。 我已經(jīng)調(diào)用了它的方法,并將其輸出到控制臺。 因此,如果一切正常,那么您的狀態(tài)就很好。 您已經(jīng)準(zhǔn)備好開始在Netbeans中使用Java SE 8進行編程。 如果您在使用過程中遇到任何問題,請返回之前的步驟并逐步進行操作。 一次一步 。
資源:
翻譯自: https://www.javacodegeeks.com/2014/06/java-se-8-new-features-tour-the-big-change-in-java-development-world.html
總結(jié)
以上是生活随笔為你收集整理的Java SE 8新功能导览:Java开发世界中的重大变化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何用Excel制作一份简历电脑如何制作
- 下一篇: 如何用鲁大师检测电脑温度如何看电脑温度