原创 SQL 中的聚集函數?

SQL 中的聚集函數? SQL 函數包含了算術函數,字符串函數,日期函數,轉換函數。還有一函數,叫做聚集函數。SQL 聚集函數是對一組數據進行彙總的函數,輸入是一組數據的集合,輸出是單個值。 有哪些聚集函數 SQL 中的聚集函數,

原创 Java 中 Hashtable 、HashMap 、TreeMap 有什麼不同?

Java 中 Hashtable 、HashMap 、TreeMap 有什麼不同? HashTable 最早期的 Java 類庫提供的一個 Hash表實現,本身是同步的,不支持 null 鍵和值,對同步有導致性能開銷,很少被推薦使

原创 【深入理解數據庫原理】數據庫索引原理

先看個例子 在下面這個表T中,如果我執行 select* from t where k between3and5,需要執行幾次樹的搜索操作,會掃描多少行? mysql> create table T ( ID int primar

原创 接口和抽象有什麼區別?

接口和抽象有什麼區別? 接口和抽象是 Java 面向對象設計的兩個基礎機制。 接口是對行爲的抽象,它是抽象方法的集合,利用接口可以達到API 定義和實現分離的目的。 接口不能實例化, 接口不能包含任何非常量成員,任何 field

原创 Java 常見的垃圾回收器

Java 常見的垃圾回收器 垃圾回收器 (GC, Garbage Collector)是和具體的 JVM 實現緊密相關。 Java 虛擬機針對新生代和年老代分別提供了多種不同的垃圾收集器。 Serial GC Serial GC

原创 【深入理解數據庫原理】InnoDB 是如何解決幻讀、不可重複讀?

InnoDB 是如何解決幻讀、不可重複讀? 如何解決不可重複讀 上一篇文章,已經說明 InnoDB 是如何解決不可重複讀的。 一個事務只在第一次 SELECT 的時候會獲取一次 Read view,而後面所有的 SELECT都會複

原创 【深入理解數據庫原理】MVCC 原理

MVCC 原理 事務的4個隔離級別 讀未提交 讀已提交 可重複讀 串行化 什麼是髒讀 簡單說,讀了一條未提交的數據 什麼是不可重複讀? 一個事務讀取了另外一個事務修改後記錄 強調的是 update 和delete ,只需要鎖住滿

原创 如何在1 分鐘內完成 100T 大文件的遍歷?

如何快速遍歷一個超大數據集 ? 文件是存儲在磁盤上的,文件的讀寫訪問速度受限於磁盤的物理限。 如果才能在1 分鐘內完成 100T 大文件的遍歷呢? 磁盤存儲結構 磁盤是一種可持久保存,持續讀寫數據的存儲介質。 磁盤分類: 機械硬

原创 [DUBBO] disconnected from 問題

Dubbo [DUBBO] disconnected from 問題 重啓 Dubbo provider(生產者) 服務,出現如下異常日誌: [INFO ] 2017-11-15 10:50:07,790--DubboServe

原创 LeetCode 209題解

LeetCode 209 滑動窗口的處理 public class LeetCode209 { public int minSubArrayLen(int s, int[] nums) { //

原创 如何動態生成一個Java類

如何動態生成一個Java類 開發者編寫Java 代碼,調用 javac 編譯生成 class 文件。然後通過類加載機制載入 JVM ,即成爲了應用可以使用的 Java 類。 可以寫一個編譯類編譯 java 代碼: import j

原创 【深入理解Java原理】線程池原理

線程池原理 線程池有哪些? 一般開發者是利用 Executors 提供的統一線程創建方法,取創建不同配置的線程池,主要區別在於不同的 ExecutorService類型或者不同的初始參數。 Executors 提供了 5 種不同的

原创 【深入理解 Spring 原理】Spring Bean 的生命週期和作用域?

Spring Bean 的生命週期和作用域? Spring Bean 的生命週期 Spring Bean 的生命週期可以分成,創建,使用,銷燬幾個過程。 Spring Bean 創建過程如下: 實例化 Bean 對象 設置 Be

原创 【深入理解Java原理】JAVA SPI 是怎麼實現的?

JAVA SPI 是怎麼實現的? SPI 是什麼? SPI(Service Provider Interface) ,是 JDK 內置的一種提供發現機制。SPI 是一種動態替換髮現的機制。 JAVA SPI 實現 定義一組接口

原创 LeetCode 3 題解

LeetCode 3 題解 滑動窗口的方式求解 public class LeetCode3 { public int lengthOfLongestSubstring(String s) { i