吾先後編譯過openjdk8/openjdk12,都有詳細編譯記錄。解決了一些問題,同樣覺得有兩個問題急需解決:
這兩個特性,實際上在最新版本的jdk中已經有了。可是目前用得最廣泛的openjdk8沒有啊。吾想自己動手,可是這樣大的工程,顯然不是個人簡單動手就能解決的。公司目前也不可能支援吾搞這樣的大專案。
只支援linux/arm。windows,別的cpu怎麼辦?好不好解決編譯問題?吾試著在windows上編譯了一下,果然不通過。錯誤如下:
c:\develop\bishengjdk-8\hotspot\src\share\vm\runtime\arguments.cpp(2178) : error c2057: 應輸入常量表示式
c:\develop\bishengjdk-8\hotspot\src\share\vm\runtime\arguments.cpp(2178) : error c2466: 不能分配常量大小為 0 的陣列
c:\develop\bishengjdk-8\hotspot\src\share\vm\runtime\arguments.cpp(2178) : error c2133: 「buffer」: 未知的大小
nmake : fatal error u1077: 「c:\progra~2\micros~2.0\vc\bin\amd64\cl.exe」: 返回**「0x2」
測試jdk8的cds,效果很一般,沒有想象的那麼好。也不知道什麼原因。 JDK8的新特性
這兩天開始看jdk8的新特性,先看了lembda表示式和stream,就乙個感覺,優雅。趕緊將這兩天的成果總結一下 lembda表示式是乙個簡潔 可傳遞的匿名函式,實現了把 塊賦值給乙個變數的功能 格式就是 parameters expression,需要注意的是 引數可以為空 引數為乙個值得時候,...
jdk8的新特性
lambda表示式 格式為 符號左邊為表示式需要的所有引數 符號右邊為表示式要執行的功能 將之前的匿名內部內作為引數傳遞直接可以使用lambda表示式完成 比如lists new arraylist new arraylist stirng public int compare string a,s...
JDK8中的鎖優化
參考 longadder 類似automiclong,但是提供了 熱點分離 過程如下 如果併發不激烈,則與automiclong 一樣,cas賦值。如果出現併發操作,則使用陣列,陣列的各元素之和為真實value,讓操作分散在陣列各個元素上,把併發操作壓力分散,一遇到併發就擴容陣列,最後達到高效率。一...