原创 mysql索引-進階篇(爲查詢創建索引)

innodb索引基礎 數據庫索引設計系列1、爲SELECT語句創建索引三星索引--理想的索引實例例子1 (簡單sql的三星索引):例子2(範圍謂詞和三星索引):一些建議:索引順序2. 爲表連接設計索引2.1 前提知識2.2 預測表

原创 mysql innodb sql語句加鎖分析及鎖兼容矩陣

閱讀本文可能需要先了解下innodb的基礎知識 mysql 存儲引擎 innodb(一) 簡單介紹 加鎖分析及鎖兼容矩陣官方文檔中對於sql語句的加鎖描述鎖的兼容矩陣 官方文檔中對於sql語句的加鎖描述 SLELCT … FR

原创 Java虛擬機(二) - 對象 創建流程、內存分配

對象一、對象的創建流程二、對象的內存佈局三、對象的內存分配四、其他 一、對象的創建流程 是否從虛擬機的視角,對象創建完成了,對於Java來說,對象創建纔剛剛開始,方法還沒有執行,所有字段都還是零虛擬機遇到一條new指令檢查指令參數

原创 Java虛擬機(六) -類加載機制-加載器-雙親委派

類加載機制一、概述二、類加載過程三、類加載器分類雙親委派模型四、名詞解釋 一、概述 類從被加載到虛擬機內存中開始,到卸載出內存爲止,它的整個生命週期包括:加載(Loading)、驗證(Verification)、準備(Prepar

原创 mysql 存儲引擎InnoDB(二)索引

mysql 存儲引擎Innodb — 索引一、索引類型二、組合索引三、其他 簡介: 索引可以包含一個或多個列的值。如果索引包含多個列,那麼列的順序也十分重要。MySQL只能高效地使用索引的最左前綴列。下面會有詳細的介紹。 大家都

原创 數據結構和算法(三) 快速排序-分治

快速排序-分治介紹:解析:僞代碼:僞代碼分析:Java代碼: 介紹: 快速排序(Quicksort)是對冒泡排序的一種改進。 它的基本思想是:通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數

原创 TCP/IP詳解(三) -- 鏈路層

TCP/IP協議族中設計鏈路層的目的是爲IP模塊發送和接收IP數據報。它可用於攜帶一些支持IP的輔助性協議(例如ARP)。 TCP/IP支持多種不同的鏈路層,它依賴於使用的網絡硬件類型:有線局域網,例如以太網;無線網絡,例如wif

原创 Java虛擬機(一) - 內存區域與內存溢出異常

運行時數據區 1、 PC寄存器/程序計數器(Program Counter Register) 概念: 程序計數器是一塊較小的內存空間,它可以看作是當前線程所執行的字節碼的行號指示器。 由於Java虛擬機的多線程是通過線程輪流切換

原创 mysql 存儲引擎 innodb(一) 簡單介紹

innodb 通過多版本併發控制(MVCC)來獲得高併發性,並且實現了SQL標準的4種隔離級別,默認爲REPEATABLE級別。同時,使用一種被稱爲next-key locking的策略來避免幻讀(phantom)現象的產生。除此

原创 TCP/IP詳解(二) -- Internet地址結構

IP地址用於識別和定位整個Internet系統(單播地址)中設備的網絡接口。也用於識別多個接口(組播、廣播和任播地址)。 一、IP地址表示 IPv4 32位,點位法 0.0.0.0 二進制00000000 00000000 000

原创 索引設計與優化 - (一) 如何設計索引

數據庫索引設計系列1、爲SELECT語句創建索引三星索引--理想的索引實例例子1 (簡單sql的三星索引):例子2(範圍謂詞和三星索引):一些建議:2. 爲表連接設計索引2.1 前提知識2.2 預測表的訪問順序2.3 索引設計註釋

原创 數據結構和算法(六)循環不變式與插入排序證明 (算法導論讀書筆記)

循環不變式與插入排序證明算法實現- 僞代碼循環不變式循環不變式插入排序正確性證明 插入排序說明: 工作方式像排序一手撲克牌。開始時,左手爲空並且桌子上的牌面向下。然後每次從桌子上拿走一張牌並將它插入左手中正確的位置。爲了找到一張牌

原创 Java獲取兩個日期中間的所有日期及Stream類,Lambda表達式使用

Java獲取兩個日期中間的所有日期及Stream類,Lambda表達式使用一、獲取兩個日期之間的所有日期二、Stream使用iteratelimitforEach三、lambda表達式 一、獲取兩個日期之間的所有日期 privat