原创 深入理解java虛擬機—— 虛擬機 新型垃圾收集器 Shenandoah GC, ZGC

目錄 一、垃圾回收器的發展歷程簡介: 二、衡量垃圾收集器的三項最重要的指標 1、計算機的發展趨勢以及垃圾回收器的選擇 Shenandoah相比起G1又有什麼改進? Shenandoah收集器的工作過程分爲以下九個階段: Shenandoa

原创 CountDownLatch 深度解析 由淺入深的瞭解高併發編程

目錄 一、CountDownLatch的應用場景 1、做併發性能測試 2、多線程執行任務,最後彙總 情景模擬 上代碼: 二、分析一下CountDownLatch底層實現 CountDownLatch我們如何接近你: JDK1.8  Cou

原创 深入理解java虛擬機—— 一張萬能的JVM虛擬機架構圖看懂了虛擬機也就沒什麼了

辛辛苦苦梳理了整整一個晚上,只要有價值就是值得的。 希望大家留下寶貴意見。   1、前篇介紹了【 JAVA虛擬機堆內存結構以及堆內存作用對象回收機制 】,主要包含四部分     一、堆區(Heap)      二、對象的內存佈局    

原创 深入理解java虛擬機—— 超詳細虛擬機垃圾收集器原理,GC 垃圾收集器算法的深度解析,項目中如何選擇合適的垃圾收集器

  目錄 一、收集器的功能 1、哪些內存需要回收? 2、什麼時候回收? 3、如何回收? 標記-清除(Mark-Sweep)算法 複製算法算法 標記-整理算法 分代收集算法 二、垃圾收集器有那些 併發垃圾收集和並行垃圾收集的區別 Minor

原创 深入理解java虛擬機—— 虛擬機 深扒垃圾回收器,再也不怕BAT面試

目錄 下面開始本篇主要介紹的內容: Java虛擬機垃圾回收  ------ 爲什麼需要了解垃圾回收  ------ GC回收那些對象,何時回收,如何回收            ------ 1、垃圾回收器回收那些內存?          

原创 JVM垃圾收集器基準報告 – Ionuț Baloșin 如何選擇適合你的垃圾回收器

目錄 JVM垃圾收集器基準報告 – Ionuț Baloșin 各項基準: BurstHeapMemoryAllocator基準 ConstantHeapMemoryOccupancyBenchmark HeapMemoryBandwid

原创 深入理解java虛擬機——堆區,學習java內存分佈這一篇就夠了

目錄 一、堆區(Heap)          ------ 對象的創建         ------ 虛擬機爲新生對象分配內存的兩種分方式         ------ 併發情況下如何保證對象在虛擬機分配內存是安全的         --

原创 深入理解java虛擬機——如何下載hotspot、jdk源碼

目錄     爲什麼要學習jvm 如何下載jdk源碼、hotspot源碼 Hotspot的目錄結構    爲什麼要學習jvm 學習JVM對於一個Java程序員的好處大概可以概括爲下8點: 瞭解java的發展歷程,以及計算機語言的歷史發

原创 深入理解java虛擬機——java內存結構之虛擬機棧(JVM Stack)線程私有區域如何調度方法

目錄 虛擬機棧(JVM Stack)的介紹 虛擬機棧主要用於存儲四部分內容 棧幀(Stack Frame) 局部變量表 操作數棧 動態連接 方法返回地址 使用 javap 反編譯 OperandStack javap的用法格式:   虛

原创 深入理解java虛擬機—— java虛擬機內存結構虛擬機的內存模型架構解析

目錄 學習目標: JVM的作用: java代碼編譯執行過程 1、程序計數器(Program Counter Register): 2、虛擬機棧(JVM Stack): 3、本地方法棧(Native Method Statck): 4、堆

原创 深入理解java虛擬機——JAVA虛擬機程序計數器深度解析這一篇就夠了

目錄 一、開篇介紹 二、程序計數器(Program Counter Register)        ------ 程序計數器在虛擬機中的特點        ------ 程序計數器在虛擬機整體架構中的位置 三、JAVA虛擬機多線程的執行

原创 深入理解java虛擬機 -- 堆區,學習java內存分佈這一篇就夠了

目錄 堆區(Heap): 對象的創建 虛擬機爲新生對象分配內存的兩種分方式: 併發情況下如何保證對象在虛擬機分配內存是安全的 解決這個問題有兩種可選方案: 對象的內存佈局 對象頭(Header) 實例數據(Instance Data) 對

原创 ARM處理器 CISC(複雜指令集)與RISC(精簡指令集)

博文背景: 最近想學習一些樹莓派的知識,便看了一本書《樹莓派開始,玩轉Linux》,在閱讀此書的時候,順便把其中不懂的知識重新梳理一些,算是作爲自己的讀書筆記了。 有感興趣的同學,可以一起研究學習。畢竟軟件搞久了,真是有點無聊了,接觸

原创 高併發編程 -- Java中CAS詳解

目錄 鎖機制存在以下問題: volatile機制 什麼是CAS 模擬CAS算法 : CAS的用處: 處理器是如何實現原子操作 1.處理器自動保證基本內存操作的原子性 2. 總線鎖定 3. 緩存鎖定 CAS優缺點 使用樂觀鎖還是悲觀鎖 CA

原创 深入理解java虛擬機 -- java內存結構之虛擬機棧(JVM Stack)

目錄 虛擬機棧(JVM Stack)的介紹 虛擬機棧主要用於存儲四部分內容 棧幀(Stack Frame) 局部變量表 操作數棧 動態連接 方法返回地址 使用 javap 反編譯 OperandStack javap的用法格式:   虛