原创 JVM筆記-垃圾收集算法與垃圾收集器

1. 一些概念 1.1 垃圾&垃圾收集垃圾:在 JVM 語境下,“垃圾”指的是死亡的對象所佔據的堆空間。垃圾收集:所謂“垃圾收集”,就是將已分配出去、但不再使用的內存回收回來,以便能再次分配。1.2 對象是否死亡如何判斷一個對象是否死亡

原创 JDK源碼分析-CopyOnWriteArrayList

1. 概述CopyOnWriteArrayList,從名字可以看出它跟 ArrayList 有點關係,可以理解爲線程安全的 ArrayList。它的類簽名和繼承結構如下:public class CopyOnWriteArrayList

原创 JVM筆記-Java技術體系與JVM概述

1. 簡述 Java 不僅僅是一門編程語言,還是一個由一系列計算機軟件和規範組成的技術體系。Java 的廣告詞爲 "一次編寫,到處運行",之所以能夠做到"跨平臺",是因爲每個平臺上不同的虛擬機屏蔽了硬件的差異,而 Java 程序則是運行

原创 JDK源碼分析-DelayQueue

概述DelayQueue 也是一種隊列,它內部的元素有“延遲”,也就是當從隊列中獲取元素時,如果它的延遲時間未到,則無法取出。DelayQueue 的類簽名和繼承結構如下:public class DelayQueue<E extend

原创 MySQL筆記-索引

概述簡單來說,索引的出現是爲了提高查詢效率,就像書的目錄一樣。MySQL 的索引是在「存儲引擎」層實現的,因此沒有統一的標準,同一種類型的索引,在不同存儲引擎之間實現可能也不同。本文主要分析 InnoDB 存儲引擎的索引結構。索引模型索

原创 JDK源碼分析-FutureTask

概述FutureTask 是一個可取消的、異步執行任務的類,它的繼承結構如下:它實現了 RunnableFuture 接口,而該接口又繼承了 Runnable 接口和 Future 接口,因此 FutureTask 也具有這兩個接口所定

原创 MySQL筆記-基本架構

說明本文以及接下來的幾篇 MySQL 筆記是本人在「極客時間」的專欄『MySQL實戰45講』和掘金小冊「MySQL 是怎樣運行的:從根兒上理解 MySQL」的學習筆記整理,並參考了一些其他材料加上個人的總結和思考。順便推薦下這兩個專欄。

原创 程序員等級圖鑑

程序員是一個非常神奇的工種,他們對技術有特殊的崇拜,有着嚴格的等級劃分,不同級別的程序員有什麼不同之處呢?Let us 瞅瞅日常工作日常着裝日常書籍日常用語日常問題收到報警短信時與產品經理交流時當然,以上皆爲虛構,如有雷同,純屬巧合!

原创 JDK源碼分析-ThreadPoolExecutor

概述ThreadPoolExecutor 是 JDK 中線程池的實現類,它的繼承結構如下:本文主要分析 ThreadPoolExecutor 類的主要方法和實現原理(部分代碼暫未涉及,後面有機會再行分析),以後再分析 Executor 

原创 爲什麼程序猿996會猝死,而企業家007卻不會?

感謝您看完了,吳小胖給你一個油膩的擁抱特別感謝吳小胖的分享歡迎朋友圈轉發如需轉載,請務必攜帶此二維碼歡迎各位爲吳小胖衆籌植髮湊字數~~~~~湊字數湊字數~~~~湊字數~~~~湊字數~~~~~湊字數~~~~~湊字數~~~~~~~~~~~~

原创 程序員戰力圖鑑

編程架構能力撕比嘴炮能力划水摸魚能力花式甩鍋能力畫餅忽悠能力

原创 JDK源碼分析-PriorityBlockingQueue

概述前文「JDK源碼分析-PriorityQueue」分析了優先隊列 PriorityQueue,它既不是阻塞隊列,而且線程不安全。本文分析線程安全的阻塞優先隊列 PriorityBlockingQueue。它的繼承結構如下:Prior

原创 JDK源碼分析-PriorityQueue

概述PriorityQueue 意爲優先隊列,表示隊列中的元素是有優先級的,也就是說元素之間是可比較的。因此,插入隊列的元素要實現 Comparable 接口或者 Comparator 接口。PriorityQueue 的繼承結構如下:

原创 JDK源碼分析-LinkedBlockingQueue

概述前文「JDK源碼分析-ArrayBlockingQueue」分析了 ArrayBlockingQueue 的代碼實現,LinkedBlockingQueue 也是阻塞隊列的實現。與前者不同的是,後者內部是由鏈表實現的。LinkedB

原创 JDK源碼分析-ArrayBlockingQueue

概述前文「JDK源碼分析-BlockingQueue」簡要分析了 BlockingQueue 接口的主要方法,ArrayBlockingQueue 就是該接口的一個主要實現類,本文分析該類的常用方法實現。ArrayBlockingQue