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