JAVA8新特性之入門簡介
一:JAVA8新特性簡介
1:速度更快 首先速度很快,它是體現在很多的方面,比如說它對底層的資料結構做了一定的更新的改動,對於垃圾回收機制 也就是記憶體結構也做了改變。改變的例子如下: ⑴底層機構最核心的HashMap做了改動,原本HashMap是陣列加上鍊表結構,現在JAVA8在原本的 基礎上添加了紅黑樹結構,就是陣列+連結串列+紅黑樹,使得HashMap的速度得到了很大的提高。 ⑵對底層記憶體結構的更新 java8移除了PermGen(永久區),取而代之的是MetaSpace,叫做元空間。意味著不會再有 java.lang.OutOfMemoryError: PermGen問題,也不再需要你進行調優及監控記憶體空間的使用, 但是新特性不能消除類和類載入器導致的記憶體洩漏。你需要使用不同的方法以及遵守新的命名約定來追蹤這些問題。 預設情況下,類元資料只受可用的本地記憶體限制(容量取決於是32位或是64位作業系統的可用虛擬記憶體大小)。 新引數(MaxMetaspaceSize)用於限制本地記憶體分配給類元資料的大小。如果沒有指定這個引數,元空間會在執行 時根據需要動態調整。
2:程式碼更少(增加了新的語法Lambda表示式)
3:強大的Stream API
4:便於並行
5:最大化減少空指標異常Optional
二:Lambda表示式的簡單使用
1:為什麼要使用Lambda表示式 Lambda是一個匿名函式,我們可以把Lambda表示式理解為是一段可以傳遞的程式碼(將程式碼像資料一樣傳遞), 可以寫出更簡潔,更靈活的程式碼。作為一種更緊湊的程式碼風格,使java的語言表達能力得到提升。 2:java8之前匿名內部類的優化程式碼例子