
這篇我們學習下jvm的clone實現,具體實現在jvm.cpp中: clone方法主要是復制對象,當然只是淺拷貝。里面一些方法等處理不清楚原因,...
在垃圾回收中,經常會STW,為了首先STW,jvm設計了安全點(safepoint)。那么什么是安全點?線程什么時候進入和離開安全點呢? 安全點...
字符串去重是G1引入的新特性,在我們日常開發中,字符串基本上是使用最多的類型。而String對象是不可變的,通常會消耗大量的內存,這里面有一部分...
混合GC(Mixed GC):既收集年輕代,也收集老年代。不同于YGC,涉及老年代回收時,引入了并發標記。并發標記指的是GC線程可以和Mutat...
在內存分配的時候,如果剩余空間不能滿足分配的對象就會觸發YGC。G1每次都會收集所有的新生代的分區,但新生代分區的數目每次可能是不一樣的,這是因...
RSet和卡表 試想一下,當在ygc時,我們需要掃描整個新生代。當新生代的對象被老年代引用,則此對象就不能回收。那么怎么判斷這點呢,總不能掃描老...
上文分析了Java類的加載過程,那么Java對象的創建過程是什么樣呢? 以上為例,看下new關鍵字在底層是怎么實現的。new關鍵字實現在Inte...
環境 本系列學習筆記基于openjdk-8u60版本 OOP-Klass二分模型 Hotspot基于C++實現,而C++本身也是一門面向對象的語...
這段時間在公司搞序列化相關的優化,這里做下筆記吧。 項目背景 項目采用dubbo(版本不自帶protostuff序列化),接口參數為byte[]...