天天看點

JAVA11 新特性(var,集合新的api,stream新的api,字元串處理,http操作。。。)

一個java的控制台工具,效果類似與浏覽器的控制台,能夠直接編寫測試代碼片段

什麼是局部變量類型推斷?

大家看出來了,局部變量類型推斷就是左邊的類型直接使用 var 定義,而不用具體的類型,編譯器能根據右邊的表達式自動推斷類型,如上面的 String

在聲明隐式類型的 lambda 表達式的形參時允許使用 var

使用 var 的好處是在使用 lambda 表達式時給參數加上注解

注意點:

var a; 這樣不可以,因為無法推斷

類的屬性的資料類型不可以使用 var

通過 of() 生成的集合,是不可變的,實際使用的是 ImmutableCollections.class 中的内部類

Arrays.asList 實際傳回對象 class java.util.Arrays$ArrayList,對象聲明後,還是可以調用 set(int, E) 更新元素

用于處理生成流的元素可能為空的情況

傳入一個判斷表達式,在周遊流對象時使用,傳回前面連續的判斷條件為 true 的所有元素

類似與 Stream.filter(Predicate<? super T>),周遊元素過濾

丢棄前面連續的判斷為 true 的所有元素,傳回剩下的元素

缺點,這是一個無限流,容易出現出乎意料的錯誤,一般需要和 .limit(int) 配置使用,截取前面  n 個元素

添加了一個條件判斷表達式,生成的元素經過判斷表達式處理後如果傳回為 false 就停止流疊代

開發一個處理記憶體配置設定但不實作任何實際記憶體回收機制的GC, 一旦可用堆記憶體用完,JVM就會退出。

用途

性能測試(它可以幫助過濾掉 GC引起的性能假象)

記憶體壓力測試(例如,知道測試用例 應該配置設定不超過1GB的記憶體, 我們可以使用-Xmx1g –XX:+UseEpsilonGC, 如果程式有問題, 則程式會崩潰)

非常短的JOB任務(對象這種任務, 接受GC清理堆那都是浪費空間)

VM接口測試

Last-drop 延遲&吞吐改進

GC暫停時間不會超過10ms

既能處理幾百兆的小堆, 也能處理幾個T的大堆(OMG)

和G1相比, 應用吞吐能力不會下降超過15%

為未來的GC功能和利用colord指針以及Load barriers優化奠定基礎

初始隻支援64位系統

開源使用

繼續閱讀