jdk10新特性?
1.JDK10允許編譯器推斷局部變量的類型,但是局部變量類型推斷能力僅適用于局部變量。它不能用于定義實例或者類
變量也不能用于方法的參數和返回類型,但是可以在增強型for循環或者迭代器中使用它,使用局部變量類型組主要的優點是
減少了代碼的冗長,在申明變量時不用指定類型,只要在初始化時,即new的時候寫出就可以了。
2.1中的特性也有缺點,比如你無法直到返回值是什么類型,這樣代碼是難以維護的;
而且var不能與lambda使用,因為當兩者一起使用時,類型推斷效果不佳,主要是編譯器缺少類型信息,所以lambda表達式是不會被編譯的;
var不會與菱形操作符混在一起,這和lambda情況相似,編譯器對類型的處理停留在了Object,它無法知道到底是什么類型;
3.JDK10棄用了一些API,比如FileOutPutStream 中的finalize()
4.允許在不執行全局VM安全點的情況下執行線程回調,這使得停止單個線程既可行又便宜,而不是要求你停止所有的線程或不需要任何線程;
5.提高容器意識,如果你部署到像 Docker 這樣的容器,那么這個功能特別適合你。 現在 JVM 意識到它正在容器中運行,并查詢容器中可用處理器的數量,而不是查詢主機操作系統。 也可以從外部附加到在容器中運行的 Java 進程,這使監視 JVM 進程變得更加容易。
以前,JVM 不知道它的容器,并會向主機操作系統詢問活動 CPU 的數量。 在某些情況下,這會導致 JVM過度報告資源,導致多個容器在同一操作系統上運行時出現問題。