摘要:1. C1編譯器線程 C1編譯器(aka Client Compiler)的代碼位于 。C1編譯線程(C1 CompilerThread)會阻塞在任務隊列,當發現隊列有編譯任務即可CompileTask的時候,線程喚醒然后調用CompilerBroker,CompilerBroker再進一步選擇合適 閱讀全文
posted @ 2019-04-20 11:56 kelthuzadx 閱讀(412) 評論(0) 推薦(1) 編輯
摘要:原文https://jcdav.is/2016/09/01/How the JVM compares your strings/ 魔幻的String.compareTo 我們之前可能已經見過Java的String的比較方法,它會找出第一個不同的字符之間的距離,沒找到不同,就返回較兩個字符串長度之差 閱讀全文
posted @ 2020-05-06 17:20 kelthuzadx 閱讀(124) 評論(0) 推薦(3) 編輯
摘要:原文 "Understanding How Graal Works a Java JIT Compiler Written in Java" ,講了jvmci和ideal graph的基本概念以及一些優化技術,很不錯的一篇文章,開頭結尾不太重要的部分已經省略,請見諒。 JIT編譯器是什么 我敢說很多 閱讀全文
posted @ 2020-05-04 12:02 kelthuzadx 閱讀(146) 評論(0) 推薦(2) 編輯
摘要:如果關閉分層編譯,執行GVN優化前會使用ShortLoopOptimizer做一些簡單的循環優化,其中就包括循環不變代碼提升(Loop Invariant Code Motion,LCM)。LCM是指將循環中不變的值移動到循環外面,消除每次進行計算的必要: LCM遍歷構成循環的所有基本塊,然后遍歷基 閱讀全文
posted @ 2020-02-21 11:17 kelthuzadx 閱讀(39) 評論(0) 推薦(0) 編輯
摘要:1. 定義 逆變和協變描述的經過類型變換后的類型之間的關系。假如 和`B f`表示類型變換, 表示A是B的子類型,那么 + 如果 ,`f(A) ≤f(B)`,那么f是協變 + 如果 ,`f(B) ≤f(A)`,那么f是逆變 + 如果兩者都不是,那么f不變 這里的子類型并非是面向對象中繼承關系中的子類 閱讀全文
posted @ 2019-11-19 14:19 kelthuzadx 閱讀(74) 評論(0) 推薦(0) 編輯
摘要:編譯 下載brew然后安裝hg,freetype,ccache 一切完成后 就是編譯產出。 xcode調試 打開xcode創建一個項目,然后選擇macOS,創建一個命令行項目: 然后選中新項目自動創建的文件右鍵刪除 接著配置啟動項。對著停止那個方塊按鈕旁邊的按鈕右鍵Edit Scheme 在運行里面 閱讀全文
posted @ 2019-06-04 13:28 kelthuzadx 閱讀(507) 評論(1) 推薦(0) 編輯
摘要:JVM的很多參數命名很有迷惑性, ,` XX:+UseParallelOldGC XX:+UseParNewGC XX:+UseConcMarkSweepGC`咋一看容易混淆,而且JDK升個級某個GC就可能不見了,為了詳細了解這些參數的區別,先來看看到底都有哪些類型的GC: 好消息是 在 "JDK9 閱讀全文
posted @ 2019-05-25 22:03 kelthuzadx 閱讀(1236) 評論(0) 推薦(0) 編輯
摘要:[Inside HotSpot] Java分代堆 1. 宇宙初始化 JVM在啟動的時候會初始化各種結構,比如模板解釋器,類加載器,當然也包括這篇文章的主題,Java堆。在hotspot源碼結構中 表示所有GC共同擁有的信息, ,`gc/cms`則是不同實現需要用到的特設信息。 比如所有的Java堆都 閱讀全文
posted @ 2019-05-25 15:34 kelthuzadx 閱讀(224) 評論(0) 推薦(0) 編輯
摘要:Serial垃圾回收器Minor GC 1. DefNewGeneration垃圾回收 新生代使用復制算法做垃圾回收,比老年代的標記 壓縮簡單很多,所有回收代碼都位于DefNewGeneration::collect: 在做Minor GC之前會檢查此次垃圾回收是否安全(collection_att 閱讀全文
posted @ 2019-05-23 23:07 kelthuzadx 閱讀(261) 評論(0) 推薦(0) 編輯
摘要:1. Epsilon GC簡介 Epsilon GC源于RedHat開發者Aleksey Shipilëv提交的一份 "JEP 318: Epsilon: A No Op Garbage Collector (Experimental)" 草案,該GC只做 內存分配 而不做 內存回收 (reclai 閱讀全文
posted @ 2019-05-22 16:00 kelthuzadx 閱讀(121) 評論(0) 推薦(0) 編輯
摘要:Serial垃圾回收器Full GC Serial垃圾回收器的Full GC使用標記 壓縮(Mark Compact)進行垃圾回收,該算法基于Donald E. Knuth提出的Lisp2算法,它會把所有存活對象滑動到空間的一端,所以也叫sliding compact。Full GC始于 的Tenu 閱讀全文
posted @ 2019-05-21 21:10 kelthuzadx 閱讀(249) 評論(0) 推薦(2) 編輯
全民捕鱼游戏怎么玩 江苏快三神级预测 澳洲赛车开奖官方记录 山西快乐十分前三基本历史走势图 手机现场报码开奖直播 上证股票推荐 在家业余做什么赚钱 山东11选5一定牛分布图 河南快3走势图表6月9号 重庆快乐十分一定牛彩票 码能组什么