原创 深入理解 JVM(9)volatile 關鍵字

轉載請註明原創出處,謝謝! HappyFeet的博客 被 volatile 修飾的變量具備兩種特性: (1)保證該變量對所有線程的可見性; (2)禁止指令重排序優化。 1、保證該變量對所有線程的可見性 可見性是指,當一個線程

原创 對於寫博客的一些看法及體會之一個有夢想程序猿的自述

轉載請註明原創出處,謝謝! HappyFeet的博客 1、爲什麼寫博客 最開始覺得寫博客的人都是技術大咖,自己也有想成爲大咖的夢想,所以就嘗試寫一寫,這就有了16年的第一篇博客。不過寫完發現,其實寫博客並不是想象中的那麼簡單

原创 深入理解 JVM(6)Java 內存模型

轉載請註明原創出處,謝謝! HappyFeet的博客 1、硬件的效率與一致性 計算機的存儲設備(主內存)的讀寫速度遠遠慢於處理器的運算速度(差好幾個數量級),所以現代計算機系統都不得不加入一層讀寫速度儘可能接近處理器運算速度

原创 深入理解 JVM(8)雙親委派模型

轉載請註明原創出處,謝謝! HappyFeet的博客 雙親委派模型(至於爲什麼叫這個請看參考資料第二點) 上圖即是類加載器的雙親委派模型。 通俗一點來說,對於任意層次的類加載器接到了類加載的請求,它首先不會自己去嘗試加載這個

原创 深入理解 JVM(7)對象的內存佈局

轉載請註明原創出處,謝謝! HappyFeet的博客 在 HotSpot 虛擬機中,對象在內存中存儲的佈局分爲 3 塊區域:對象頭 (Header) 、實例數據 (InstanceData) 和對齊填充 (Padding) 。

原创 懶人 Git 配置之爲一些常用的 Git 命令設置別名

轉載請註明原創出處,謝謝! HappyFeet的博客 懶人 Git 配置 我這個人比較懶,考慮到 Git 是日常開發會經常用到的工具,所以想到爲 Git 命令設置一些簡短的別名,以便於在日常工作提交代碼的時候能夠少敲一點鍵盤

原创 Java 多線程學習(8)Object.wait()、Object.notify() 和 Object.notifyAll()

轉載請註明原創出處,謝謝! HappyFeet的博客 wait、notify 和 notifyAll 是 Object 對象所提供的幾個方法,想必大家都見過,因爲 Java 中的每個對象都有;不過在平時的工作中基本上不會用到,

原创 Java 多線程學習(4)淺析 LongAdder、LongAccumulator 和 Striped64 的底層實現原理

轉載請註明原創出處,謝謝! HappyFeet的博客 LongAdder、LongAccumulator 和 Striped64,其實還有 DoubleAdder 和 DoubleAccumulator,這幾個類是 j.u.c

原创 如何優雅的查看 Java 代碼的彙編碼

轉載請註明原創出處,謝謝! HappyFeet的博客 彙編碼這種東西還是在上編譯原理這門課的時候接觸的比較多,工作之後幾乎就沒接觸過了。 最近一次接觸彙編碼是閱讀《深入理解 Java 虛擬機》這本書,書中在講 volatile

原创 Java 多線程學習(3) CAS 底層原理學習之我是如何從 Java 源碼看到 openjdk 源碼再到彙編碼、intel 手冊的

轉載請註明原創出處,謝謝! HappyFeet的博客 本來是準備閱讀 j.u.c 包下 ConcurrentHashMap 的底層源碼,理解 ConcurrentHashMap 的實現原理的,看了一點點發現裏面用到了很多 CA

原创 JMH 微基準測試框架學習筆記

轉載請註明原創出處,謝謝! HappyFeet的博客 一 、學習背景 最近想對比一下 StringBuilder 和 StringBuffer 二者在性能上的差異。 如何對比呢,當然是看在相同的情況下,執行相同的操作,哪一個

原创 一個程序員6年的瀏覽器收藏夾

最近因爲工作太忙,加班太狠,有半年沒寫博客了。 也該寫點什麼了,再不寫頭銜就要被摘掉了! 打開Chrome瀏覽器,看到頂上排列密集的書籤,就覺得是時候該整理整理了。這些書籤都是平時工作、學習時收藏的,但是隻往裏面加,從來沒整理

原创 Java 多線程學習(6)synchronized 的成神之路

轉載請註明原創出處,謝謝! HappyFeet的博客 前段時間把 Object.await() 和 Object.notify()、LockSupport.park() 和 LockSupport.unpark() 差不多理解

原创 你真的瞭解 String 嗎?

轉載請註明原創出處,謝謝! HappyFeet的博客 前幾天在某乎上面看到了一些關於 String 的討論:String 能否能夠被繼承?底層的 char array 會不會被共享?以及字符串常量池的一些問題。仔細一想,對於平

原创 2020 對自己好一點之新 Mac Book Pro 環境的安裝

轉載請註明原創出處,謝謝! HappyFeet的博客 2020,對自己好一點。 MBP 是在 PDD 上買的,要問爲什麼,因爲便宜! 買的時候猶豫了挺久的,因爲害怕買到翻新機或者不是正版的。但是又眼饞 PDD 的價格,最終還是