原创 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.以自己實例爲返回值的靜態公有方法 實現方式有:延遲加載(懶漢)