一、首先看一下HashMap的數據結構(數組+鏈表/紅黑樹),如下圖: 1、紅黑樹特性(缺一不可): (1)、每個節點要么是紅色要么是黑色。 (2)、根節 ...
今天對Java的jdk有了更加深入的理解: Java的jdk其實一共包含三部分內容: 工具包 類庫 JRE jdk的全名:Java develop kit java開發工具 jdk包含了對Java的編譯以及運行的處理,他能對編寫的Java代碼進行編譯,編譯之后的字節碼文件,在jdk內部的虛擬機上運行,可以說它提供了全套的Java服務,首先,我們先來說說編譯,一般的代碼都是通過編譯之后才能產生字節碼 ...
2015-07-18 22:49 5 1900 推薦指數:
一、首先看一下HashMap的數據結構(數組+鏈表/紅黑樹),如下圖: 1、紅黑樹特性(缺一不可): (1)、每個節點要么是紅色要么是黑色。 (2)、根節 ...
前提 這篇文章主要基於JDK11的源碼和最近翻看的《深入理解Java虛擬機-2nd》一書的部分內容,對JDK11中的Reference(引用)做一些總結。值得注意的是,通過筆者對比一下JDK11和JDK8對於java.lang.ref包的相關實現,發現代碼變化比較大,因此本文的源碼分析可能並不 ...
String、StringBuffer、StringBuilder都是JAVA中常用的字符串操作類,對於他們的區別大家也都能耳熟能詳,但底層到底是怎樣實現的呢?今天就再深入分析下這三種字符串操作的區別、各自的原理及使用場景。 請尊重作者勞動成果,轉載請標明原文鏈接 ...
垃圾收集算法 標記-清除算法 最基礎的收集算法是“標記-清除”(Mark-Sweep)算法,分兩個階段:首先標記出所有需要回收的對象,在標記完成后統一回收所有被標記的對象。 不足:一個是效率 ...
一、什么時候擴容: 網上總結的會有很多,但大多都總結的不夠完整或者不夠准確。大多數可能值說了滿足我下面條件一的情況。 擴容必須滿足兩個條件: 1、 存放新值的時候當前已有元素的個數必須大於等於閾 ...
本文參考資料: 1、《深入理解jvm虛擬機》 2、《大話數據結構》、《大化設計模式》 3、http://www.cnblogs.com/ITtangtang/p/3976820.html#3441029 4、http://www.cnblogs.com/xiaoxi/p ...
要介紹AQS,首先要介紹“同步器”的概念。 同步器是一種抽象數據類型,在該類型的內部,維護了以下內容: 1.一個狀態變量,該變量的不同取值可以表征不 ...
最近一直在看js關於面向對象編程方面的東西,那么this肯定是需要一個被吃透 理解 同時靈活運用的對象 現在總結一下自己的學習成果: 我們可以用一句很形象的話來理解什么是this關鍵字? "this關鍵字引用的是 包含它的那個函數 作為某個對象的方法 被調用時所屬的那個對象 ...