原创 高性能Mysql-Mysql高級特性

1、分區表 對用戶來說,分區表是一個獨立的邏輯表,但是底層由多個物理子表組成。實現分區的代碼實際上是對一組句柄對象的封裝。對分區表的請求, 都會通過句柄對象轉化成對存儲引擎的接口調用。 MySQL實現分區表的方式一一對底層表的封裝一一意味

原创 高性能Mysql-查詢性能優化

1、爲什麼查詢會變慢 在嘗試編寫快速的查詢之前,首先我們需要明白,真正重要的是響應時間。如果把查詢看做是一個任務,那麼他就是由多個子任務組成的,優化查詢也就是需要優化這些子任務。通常來說,查詢的生命週期大致可以按照順序來看:從客戶端到服務

原创 java設計模式-外觀模式

外觀模式是一種使用頻率非常高的結構型設計模式,它通過引入一個外觀角色來簡化客戶端與子系統之間的交互,爲複雜的子系統調用提供一個統一的入口,降低子系統與客戶端的耦合度,且客戶端調用非常方便。外觀模式通過引入一個新的外觀類(Facade)來實

原创 高性能Mysql-創建高性能索引

索引(在MySQL中也叫做 “鍵(key)”)是存儲引擎用於快速找到記錄的一種數據結構。索引對於良好的性能非常關鍵。 尤其是當表中的數據量越來越大時, 索引對性能的影響愈發重要。 在數據量較小且負載較低時, 不恰當的索引對性能的影響可能還

原创 高性能Mysql-服務器性能剖析

1、性能優化簡介 什麼是性能?性能是完成某件任務所需要的時間度量,簡而言之,性能即響應時間。這是一個非常重要的原則。在實際工作中,如果我們把性能優化看作是提升每秒的查詢量,那麼這其實只是吞吐量的優化,吞吐量的提升可以看做性能優化的副產品。

原创 高性能Mysql-Mysql基準測試

基準測試(benchmark)是我們需要掌握的一項基本技能。簡單的說,基準測試是針對系統設計的一種壓力測試。通常的目標是爲了掌握系統的行爲。 1、爲什麼需要基準測試 基準測試是唯一方便有效的、 可以學習系統在給定的工作負載下會發生什麼的方

原创 java設計模式-裝飾模式

裝飾模式可以在不改變一個對象本身功能的基礎上給對象增加額外的新行爲,在現實生活中,這種情況也到處存在,例如一張照片,我們可以不改變照片本身,給它增加一個相框,使得它具有防潮的功能,而且用戶可以根據需要給它增加不同類型的相框,甚至可以在一個

原创 高性能Mysql-Mysql架構與歷史

和其他數據庫系統相比, MySQL有點與衆不同, 它的架構可以在多種不同場景中應用併發揮好的作用, 但同時也會帶來一點選擇上的困難。MySQL井不完美, 卻足夠靈活,能夠適應高要求的環境, 例如Web類應用。 1、MySQL邏輯架構 爲了

原创 java設計模式-組合模式

對於樹形結構,當容器對象(如文件夾)的某一個方法被調用時,將遍歷整個樹形結構,尋找也包含這個方法的成員對象(可以是容器對象,也可以是葉子對象)並調用執行,牽一而動百,其中使用了遞歸調用的機制來對整個結構進行處理。由於容器對象和葉子對象在功

原创 java設計模式-適配器模式

與電源適配器相似,在適配器模式中引入了一個被稱爲適配器(Adapter)的包裝類,而它所包裝的對象稱爲適配者(Adaptee),即被適配的類。適配器的實現就是把客戶類的請求轉化爲對適配者的相應接口的調用。也就是說:當客戶類調用適配器的方法

原创 java設計模式-橋接模式

橋接模式是一種很實用的結構型設計模式,如果軟件系統中某個類存在兩個獨立變化的維度,通過該模式可以將這兩個維度分離出來,使兩者可以獨立擴展,讓系統更加符合“單一職責原則”。與多層繼承方案不同,它將兩個獨立變化的維度設計爲兩個獨立的繼承等級結

原创 深入理解java虛擬機-day4

這幾天又犯懶了,所以導致這幾天沒有進行博客的更新。我還記得以前以爲公司的領導和我言真意切的說過一句話:人都有惰性,所以成功最基本的要素就是學會堅持。所以,剛剛忙完一個需求開發的我,便開始就堅持對java虛擬機的學習了,畢竟沒有什麼捷徑可以

原创 深入理解java虛擬機-day1

之前一直打算深入的學習一下java虛擬機,但是苦於公司陸續新產品的研發,導致一直沒有抽出時間來深入的學習一下java的虛擬機,最近項目上線完畢,也有了大把時間,所以會集中精力開始研習java虛擬機,並以此爲跳板,讓自己對程序的開發、對ja

原创 java設計模式-簡單工廠模式

工廠模式是最常用的一類創建型設計模式,通常我們所說的工廠模式是指工廠方法模式,它也是使用頻率最高的工廠模式。今天我們將學習簡單工廠模式。如題,簡單工廠模式將是工廠模式中最簡單的。 簡單工廠模式(Simple Factory Pattern

原创 深入理解java虛擬機-day2

繼第一天瞭解了java虛擬機的內存情況和內存泄漏發生的場景後,今天我們將繼續深入探討java虛擬機的垃圾收集器與內存分配策略。 一、對象已死嗎。 java堆內存中存放着幾乎所有的java實例,這樣,垃圾回收器在對內存進行回收之前,就需要考