原创 Java Collection-new:Core Java 9

Collection(集合)、 List(列表-有序序列)、Set(集-無重複)、Queue(隊列-先進先出) Vector(同步的ArrayList) Stack(先進後出) ArrayList(動態數組、高效隨機訪問

原创 unsafe源碼

/* * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRI

原创 內部類:Core Java 6.4

如果一個類定義在另一個類的內部,這個類就是內部類。 爲什麼要用內部類,什麼場景下需要用內部類 根據面向對象設計原則,需要定義一個新的類,並對相關操作和屬性進行封裝。 新類僅同另一個類有密切依賴關係或者邏輯關係,其它類基本不

原创 包裝器類(Wrapper):Core Java 5.4

Wapper 包裝器類有:Void 、Boolean、Character、Integer … Wrapper類都是final的,不可被繼承、重寫。 Wrapper類的值都是final的,不可變。如Integer類中定義的值域: p

原创 ArrayList 泛型數組列表:Core Java 5.3

菱形語法<> ArrayList<String> ss = new ArrayList<>(); // 不會報warning ArrayList<String> ss = new ArrayList(); // 會報warning

原创 參數傳遞:值傳遞:Core Java

Java方法調用時的參數傳遞都是值傳遞 基本類型的參數值傳遞 void methodA(){ int a=5; methodB(i); } void methodB(int i ){ //創建一個棧幀,創建一個本地變量i,

原创 指數(乘方、冪、科學計數法)、對數、等比數列、階乘基礎知識

指數 指數、冪:乘方、次方。a的n次方,a的n次冪,a^n。數學計算爲n自乘m次。其中n稱作底數,m稱作指數。 n^0= 1;     n^1=1*n;     n^2=1*n*n 科學計數法:a*(10^n),aEn。將一個比較大的數,

原创 斷言Assert:Core Java 7.2

斷言 Assert assert,是斷定、堅稱的意思。assertion,是主張、肯定的意思。 對於斷言代碼assert i>0;如果i的值實際是小於或者等於0,那麼系統就會拋出一個AssertionError異常。 注意,Ass

原创 接口(Interface)與 回調(callback):Core Java 6.1

接口 interface 接口技術主要用來描述類有什麼功能,而並不給出每個功能的具體實現。 接口不是類,而是對類的一組需求描述,這些類要遵從接口描述的統一格式進行定義。 如果類遵從某個接口,那麼就履行這項服務。 例如: 方法Arr

原创 枚舉類Enum:Core Java 5.6

類Enum public abstract class Enum<E extends Enum<E>> implements Comparable<E>, Serializable { private final Strin

原创 lambda表達式、函數式接口、方法引用、高階函數:Core Java 6.3

方法參數:當要傳遞的參數爲一段代碼塊時,該如何傳遞 java 8 之前,參數爲代碼塊的應用場景及實現實例 當用Arrays::sort( T[] a, Comparator<? supter T> c)方法對數組中的對象進行排序時

原创 intellij 使用指南

intellij idea使用教程 在Intellij IDEA中使用Debug IntelliJ Idea 常用快捷鍵 列表(實戰終極總結!!!!) 7 個 IntelliJ IDEA 必備插件,顯著提升編碼效率 你可能不知道的IDEA

原创 Core Java(第1-3章)

第一章 概述 1996年,jdk1發佈。 Java並不只是一種語言,還是一個完整的平臺,有一個龐大的庫,其中包含了很多可重用的代碼,還提供了一個諸如安全性、跨操作系統的可移植性、垃圾自動收集等服務的執行環境。 簡單性、面向對象、分

原创 HashMap源碼詳解:Core Java 9.3

Map接口 keySet values size containsKey put remove entrySet isEmpty containsValue get clear 以下爲部分JDK

原创 紅黑樹、B樹、B+樹

參考: 微信 知乎 此三者的主要應用是降低大數據量檢索時的時間複雜度。 JAVA的hashMap中,當一個桶中的元素個數超過…時,桶內數據的存儲結構會由鏈表改成紅黑樹。 MySql數據庫中,對於數據量超大的數據進行索引時,會採用