JDK1.9新特性有哪些

這篇文章主要為大家展示了“JDK 1.9 新特性有哪些”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“JDK 1.9 新特性有哪些”這篇文章吧。

成都創(chuàng)新互聯(lián)-云計算及IDC服務提供商,涵蓋公有云、IDC機房租用、雙線服務器托管、等保安全、私有云建設等企業(yè)級互聯(lián)網(wǎng)基礎服務,歡迎咨詢:028-86922220

JDK 1.9 新特性

1、Java9 新特性之---目錄結構  

包含jdk8及以前的jdk版本,所有目錄結構以及目錄含義如圖:

JDK 1.9 新特性有哪些

JDK 1.9 新特性有哪些

jdk9之后,目錄結構發(fā)生變化如圖:

JDK 1.9 新特性有哪些

這個新特性只要了解下就可以了,這個目錄結構是方便為了接下來新特性做保證

2、Java9新特性之---JShell工具

怎么理解,怎么用呢?這個只是針對于java9來說,相當于cmd工具,你可以和cmd一樣,直接寫方法等等,不過我認為只是適用于初學者做一些最簡單的運算和寫一些方法:

在cmd中打開這個工具:

JDK 1.9 新特性有哪些

進入工具后可以做一些簡單的java操作

JDK 1.9 新特性有哪些

等等,我認為只適用于初學者學習java不用其他編輯工具就可以學習java

3、Java9新特性之---模塊化

一個大型的項目,比如淘寶商城等,都會包含多個模塊,比如訂單模塊,前臺模塊,后臺管理模塊,廣告位模塊,會員模塊.....等等,各個模塊之間會相互調(diào)用,不過這種情況下會很少,只針對特殊情況,如果一個項目有30個模塊系統(tǒng)進行開發(fā),但是只要某個單獨模塊運行時,都會帶動所有的模塊,這樣對于jvm來說在內(nèi)存和性能上會很低,所以,java9提供了這一個特性,某一個模塊運行的時候,jvm只會啟動和它有依賴的模塊,并不會加載所有的模塊到內(nèi)存中,這樣性能大大的提高了。寫法上如下:

JDK 1.9 新特性有哪些

一個項目中的兩個模塊,模塊之間通過module-info.java來關聯(lián),在IDEA編輯器右鍵創(chuàng)建package-info.java

JDK 1.9 新特性有哪些

在這個兩個模塊java9Demo和java9Test中,java9demo編寫一個實體類Person,在java9Test調(diào)用這樣一個過程

這個是java9Demo 將 java9Test 模塊需要的文件導出 exports 把它所在的包導出

JDK 1.9 新特性有哪些

然后在java9Test模塊中創(chuàng)建一個package-info.java,引入java9Demo模塊導出包名

JDK 1.9 新特性有哪些

這樣就可以直接在java9Test中引入Person實體類了,這只是一個簡單的例子。exports 控制著那些包可以被模塊訪問,所以不被導出的包不能被其他模塊訪問

4、Java9新特性之---多版本兼容Jar包

怎么理解呢?

好多公司用的jdk大部分還是老版本,jdk6,7 都有,他們都不敢升級主要是因為兼容的問題,但是java9做到了這一點,就是不管公司的項目是用的java6,7,8甚至5,他都可以兼容不出錯,打個比方,你之前用的是iphone5,現(xiàn)在出現(xiàn)了iPhone6,iphone7,iphon8和iphone9,但是你不敢買9,因為你自己已經(jīng)適應了iphone5的所有手機的運行流程,6,7,8每個手機的運行流程不一樣,但是這個9很強大,它能夠識別你現(xiàn)在所用的版本iphone是5,所以當你升級到iphone9的時候,你的這個手機運行流程還是iphone5的流程,只是在原有基礎上擁有了更多的iphone9的所有優(yōu)勢。

5、Java9新特性之---接口Interface的升級

JDK 1.9 新特性有哪些

6、Java9新特性之---鉆石操作符的升級

JDK 1.9 新特性有哪些

7、Java9新特性之---異常處理try升級

首先看下jdk6,7,8,9 的try catch的比較

Java6處理方式:

JDK 1.9 新特性有哪些

java7,8 共同的處理方式:

JDK 1.9 新特性有哪些

java9的處理方式:

JDK 1.9 新特性有哪些

這下子應該一幕了然了吧

8、Java9新特性之---特殊標識符增加限制

java8 之前 String _ ="hello"; 這樣的標識符可以用,java9就用不到。

9、Java9新特性之---String底層存儲結構更換

java8之前 String的底層結構類型都是 char[] ,但是java9 就替換成 byte[] 這樣來講,更節(jié)省了空間和提高了性能

JDK 1.9 新特性有哪些

JDK 1.9 新特性有哪些

之所以替換是因為 之前一直是最小單位是一個char,用到兩個byte,但是java8是基于latin1的,而這個latin1編碼可以用一個byte標識,所以當你數(shù)據(jù)明明可以用到一個byte的時候,我們用到了一個最小單位chat兩個byte,就多出了一個byte的空間。所以java9在這一方面進行了更新,現(xiàn)在的java9 是基于ISO/latin1/Utf-16 ,latin1和ISO用一個byte標識,UTF-16用兩個byte標識,java9會自動識別用哪個編碼,當數(shù)據(jù)用到1byte,就會使用iSO或者latin1 ,當空間數(shù)據(jù)滿足2byte的時候,自動使用utf-16,節(jié)省了很多空間

JDK 1.9 新特性有哪些

同理,StringBuilder StringBuffer也更換了底層數(shù)據(jù)結構

10、Java9新特性之---Stream API 新方法的添加

在原有Stream API 新添加了4個方法,takeWhile dropWhile ofNullable iterate(新重載方法)

首先解釋 takeWhile 當達到一定條件就結束:輸出結果為45 43,如圖

JDK 1.9 新特性有哪些

而 dropWhile 則和takeWhile 相反

ofNullable, 在java8中 Stream中的元素不能完全為null,否則空指針異常,而在java9的升級中,允許創(chuàng)建null

iterate 不加條件無線循環(huán)

JDK 1.9 新特性有哪些

11、Java9新特性之---引進HttpClient

以往我們都是通過maven添加httpclient ,java9直接引入即可

Java9所有特性都是為了提高性能和內(nèi)存。

以上是“JDK 1.9 新特性有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文名稱:JDK1.9新特性有哪些
文章來源:http://muchs.cn/article38/gedopp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、營銷型網(wǎng)站建設、電子商務、虛擬主機用戶體驗、網(wǎng)站導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設計