原创 comparable與comparator
先來說說基本的認識:comparable與comparator 兩者都是接口,實現的方法都是對對象進行排序。 comparable 這個詞是以able結尾的,說明是一種能力,一種屬性,可參見 Serializable
原创 Redis基本數據類型
Redis有五種基本數據類型:String(字符串),list(列表),set(集合),zset(有序集合),hash(哈希)。接下來一個個分析這五個數據類型。 1.String redis中String不同於java中的
原创 誰是代碼界3%的王者
最近《Java開發手冊(華山版)》推出了,幾道易錯的問題也隨之而來,據說全部答對的人只有2.8%,接下來分析一下這幾道題目。(題目來自阿里技術) 1. public class FloatPrimitiveTest {
原创 HashSet
1.HashSet的底層實現是什麼?它是如何保證不重複的? 底層的實現是HahMap,閱讀源碼可以發現,構造方法中new了一個HashMap 那麼如何保證不重複呢? 在HahMap中key是不可以重複的,val
原创 Java8的語言特性總結
雖然現在的JDK版本已經到達了11,但是jdk1.8版本的改變依然是濃墨重彩的一筆。本篇博文爲自己梳理一些1.8版本的特性。由最重要的開始 關鍵點 1.lambda表達式 2.流以及流的實際編程使用情況 3..函數式編程 4.相關的面試題
原创 關於hashcode與equals
關於hashcode與equals 1.什麼是hashcode,意義何在? object類中提供了方法 public native int hashCode(); 從Object角度看,JVM每new一個Object,它都會將這個Obje
原创 LinkedList 與 ArrayList 操作的效率詳解
ArrayList : 動態的數組, 底層實現是基於數組,所謂的動態就是在增加元素時候判斷元素個數是否要超過當前容量,依次判斷是否需要擴容。擴容的機制就是:賦值一個原來數組大小的1.5倍的數組空間來存放。 相關源碼
原创 Mysql數據庫索引
數據庫索引一直是數據庫學習的一個重點。以下以這幾個模塊對最近的學習進行一個總結。 (ps:學習的資料來自掘金小冊《MySQL 是怎樣運行的:從根兒上理解 MySQL》,下文僅僅是個人學習的簡單總結,我非常推薦這本,
原创 自定義註解
//定義一個工具類 public class JudgeUtils { public static void checkAge(Object object) throws Exception { List<String> al
原创 深入理解Java中的反射
目錄 什麼是反射: 反射的API: 反射的應用: 反射的缺點: 什麼是反射: 先來一個定義:對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個對象,都能夠調用它的任意一個方法和屬性;這種動態獲取的信息以及動態調
原创 最爲基礎的Java知識
1.接口與抽象類 資料:https://www.jianshu.com/p/7efced731cab 定義類的過程就是抽象與封裝的過程。而接口與抽象類則是對實體類更高一層次的抽象,僅僅是定義公共行爲和特徵規範。 抽象類被繼
原创 併發編程的基礎知識
關於進程與線程 爲什麼會出現進程? 現在的計算機可以用來做很多的事情,而早期的計算機原本是用來做數學運算的。用戶輸入什麼指令,計算機就做什麼操作,當用戶在思考或者輸入數據的過程中,計算機可能什麼都不會做,
原创 HahMap的靈魂拷問
帶着問題讀源碼:1.HashMap是線程安全的嗎?如果不是,怎麼變成線程安全? 不是線程安全的, 可以使用concurrentHashmap 或者 使用Collections類的synchronizedMap方法包裝一下
原创 關於日常使用MySql數據庫
這篇文章主要寫一寫數據庫中幾個重要的方面的知識總結,僅僅作爲個人的筆記 目錄 1.字符集與排序規則: 2.主鍵生成策略: 3.數據類型 4.關於索引 5.關於事務 事務的隔離性級別 事務隔離性的實現 6.關於鎖 7.關於日
原创 單例模式
1.什麼是單例模式 2.單例模式在項目中的使用 3.有哪些實現方式 實現單例模式的要點是 1.私有化構造方法 2.指向自己實例的私有靜態引用 3.以自己實例爲返回值的靜態公有方法 實現方式有:延遲加載(懶漢)