屌絲就愛嘗鮮頭——java8初體驗


  Java8已經推出,讓我們看看他的魅力。讓我們看看他改變較大的部分。

  一、java8概述

  Java8是由Oracle(甲骨文)公司與2014年3月27日正式推出的。Java8同時推出有3套語言系統,分別是Java SE8、Java SE Emebbled 8、Java ME8。

  Java SE8較以往的系統增強的功能有:

  ①增強了對集合式操作語言——lambda表達式的支持,“Lambda 表達式”(lambda expression)是一個匿名函數,Lambda表達式基於數學中的λ演算得名,直接對應於其中的lambda抽象(lambda abstraction),是一個匿名函數,即沒有函數名的函數。Lambda表達式可以表示閉包(注意和數學傳統意義上的不同)。注意Lambda表達式在C#,c++等語言中得到廣泛的應用,因此Java SE8將其納入了其中。

  ②增強一些新的時間操作的api,讓你對Java中的時間操作不再那么的煩惱。總而言之,就是Instant,LocalDate,LocalTime和LocalDateTime這幾個類,讓你操作時間的不再需要指定所謂的時區,系統自動判斷,這樣我們程序員的工作輕松了很多。

  ③Java SE8 引入了全新的Nashorn js 解析引擎,這個新的解釋器將會代替Java現有的Rhino解釋器。據說它執行JavaScript的速度非常之快,就像世界上最快的跑車 V8s。

  ④Java SE8 省去了不少的配置工作,這樣ssh架構不再繁瑣。

  ⑤增強對一些了編譯前的代碼的異常的動態的判斷,例如媽媽再也不用擔心我的空指針問題的異常了。

  ⑥去掉Jvm process 影響,性能大大的增加。

  Java Emblemed SE8 與Java SE8一樣的api,不同的是能夠使用更小的架構來建立相應的應用。

  Java SE8 主要使其Java 更加專注與嵌入式設備的開發,例如,機頂盒的開發。 

  二、下載JDK8

  在Google中,輸入Java 8 download Oracle,如圖:

  

  打開相應的連接,打開Oracle的下載頁面,我這里是windows x64位,所以進行x64位的下載。如圖:

 

  這樣,就下好了。

  三安裝JDK8

   將jdk8下載以后,進行下一步下一步以后就安裝好了。如圖所示:

  

 

  四在eclipse中使用JDK
  注意了eclipse一定4.4及其以上的版本,eclipse4.4以下版本不支持Java se8。所以了需要下載eclipse4.4以上的版本了,這里了就不做過多的贅述。

  五lambda概述

  首先,我們這里簡單明白了lambda表達式的定義。Lambda表達式基於數學中的λ演算得名,直接對應於其中的lambda抽象(lambda abstraction),是一個匿名函數,即沒有函數名的函數。

  lambda表達式解決了Java語言的一些頑疾有:

  Java不能像函數式語言 ,實現了函數的嵌套。

  匿名內部類雖然能夠實現當前線程的調用,但是不能夠跨線程調用。

  匿名內部類還帶來了一個壞處,就是this與當前對象無非區別。

  Java不能調用外部非靜態非final對象。

  這種函數式接口,我們總結為:

  函數式接口(functional interface 也叫功能性接口,其實是同一個東西)。簡單來說,函數式接口是只包含一個方法的接口。比如Java標准庫中的java.lang.Runnable和java.util.Comparator都是典型的函數式接口。java 8提供 @FunctionalInterface作為注解,這個注解是非必須的,只要接口符合函數式接口的標准(即只包含一個方法的接口),虛擬機會自動判斷,但 最好在接口上使用注解@FunctionalInterface進行聲明,以免團隊的其他人員錯誤地往接口中添加新的方法。

  Lambda語法

  包含三個部分

  一個括號內用逗號分隔的形式參數,參數是函數式接口里面方法的參數

  一個箭頭符號:->

  方法體,可以是表達式和代碼塊,方法體函數式接口里面方法的實現,如果是代碼塊,則必須用{}來包裹起來,且需要一個return 返回值,但有個例外,若函數式接口里面方法返回值是void,則無需{}

  總體看起來像這樣

  1(parameters) -> expression 或者 (parameters) -> { statements; }

  這就是我對lambda的概述。

  以上篇幅,是我對java8的一些初體驗,Java8的體驗是確實是在性能有所提高,大概提高15%左右,對語法檢測也有所增強,對lambda表達式引入無非是Java8最大的亮點,這樣子,我們在寫函數操作時候,更加方便,總而言子,Java8一切為了開發人員


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM