原创 Mysql架構與概念

今天開始正式對《高性能Mysql》進行學習,博客主要記錄學習的過程及一些認爲比較重要的知識點,對於一些內容會從Mysql官網進行確認, 一、Mysql的邏輯架構 Mysql在邏輯上主要分爲三部分: 第一部分主要用於處理客戶端連接,授權認

原创 Mysql Innodb Lock

本文主要介紹Mysql中Innodb的鎖類型,主要參考自Mysql5.6手冊Innodb Lock一節,附上連接:https://dev.mysql.com/doc/refman/5.6/en/innodb-locking.html 本文

原创 多路平衡查找樹B-Tree

多路平衡查找樹(下面簡稱B-Tree)是一棵自平衡樹,可以認爲是平衡二叉樹的泛化版。一棵m階B樹(balanced tree of order m)是一棵平衡的m路搜索樹。它或者是空樹,或者是滿足下列性質的樹: 根結點至少有兩個子女; 每

原创 Redis簡單介紹-內存優化

Redis是一種基於內存的數據存儲,內存的大小決定Redis的容量,在Redis的使用過程中,可以使用一些技巧,減少內存的消耗,增大Redis的可用容量 Redis的內存管理: 當key被移除時,Redis不會總是釋放(返回)內存到操作系

原创 Redis簡單介紹-管道

Redis是一個使用客戶機-服務器模型和所謂的請求/響應協議的TCP服務器。這意味着請求通常通過以下步驟完成: 客戶端向服務器發送一個請求,並從套接字讀取服務器響應,通常是以阻塞的方式。 服務端處理命令併發送響應給客戶端。 客戶端和服務器

原创 Zookeeper的Watch機制

一、什麼是Watcher機制 Zookeeper可以理解爲是一種提供持久化功能的內存樹狀結構存儲,樹的每一個節點被稱爲znode,當一個zonde節點執行了更新操作,我們稱之爲事件,而一個監視點表示一個與之關聯的znode節點和事件類型組

原创 Zookeeper服務啓動過程與服務器角色

最近在看Zookeeper,想把學習Zookeeper的過程記錄下來,這篇博客主要是爲了對Zookeeper做一個宏觀的記錄。 一、什麼是Zookeeper: ZooKeeper是一個集中的服務,用於維護配置信息、命名、提供分佈式同步和提

原创 Reactor模式與NIO網絡模型

在web開發中, 我們最常用的模式就是MVC,將web程序的不同部分分而治之。在Nio網絡程序開發中,也有一些類似的開發模式,比如Reactor模式,來方便我們對程序進行解耦和控制。 維基百科對Reactor pattern的解釋: T

原创 JVM方法調用原理

在JVM中,方法調用主要通過四條指令: invokestatic 調用類定義的靜態方法 invokespecific 調用類的初始化方法<cinit>,實例的初始化方法<init>,私有方法和父類方法 invokevirtual

原创 對象的創建和訪問

一、對象的組成: JVM堆上的對象主要由三部分組成:對象頭、對象實例數據和對齊填充。 對象頭:對象頭主要由兩部分組成,對象運行時的數據和指向對象所屬類信息的指針。數組對象還包含一個數組長度信息。 對象運行時的數據主要包含對象的hashco

原创 JVM 自動內存管理

本文主要整理自《深入理解Java虛擬機》,有不合理的地方可以直接參考書籍,寫這篇博客的目的主要是爲這一章做一個自我總結。 內存自動管理主要是回答三個問題? 1、哪些對象可以回收--回收判定算法:引用計數法和可達性分析。 2、什麼時候可以回

原创 Apache Tomcat 學習(由淺入深)

今天,我們一起學習一下Tomcat,本文內容主要參考與 Apache Tomcat 7 官方文檔,以及Tomcat 7源碼。內容主要分爲一下五個方面: 一、什麼是Tomcat? Apache Tomcat 是一個Java Servlet、

原创 HashMap內部原理詳解

1、什麼是HashMap? 答:HashMap 根據hash實現的一種Map接口實現類。2、HashMap的底層數據結構? 答:在1.8之前,HashMap的數據結構:數組+鏈表    在1.8之後,HashMap的數據結構:數組+鏈表+

原创 idea listen server激活

http://blog.lanyus.com/

原创 關於MySQL 建表的一些建議

MySQL作爲關係型數據庫,被用來存儲持久化的數據,避免不了需要創建表。如果沒有利用ORM(對象關係模型)來自動創建表,則需要開發者通過圖形界面(Navicat)或者手寫MySQL語句。 由於在生產環境下,我們對MySQL數據庫的操作通常