原创 《編程思想》6.複用類

1.每個編譯單元都必須有一個後綴名.java,而在編譯單元則可以有一個public類,每個編譯單元只能有一個public類,否則編譯器就會接受 2.組合語法:只需將對象引用置於新類中即可。 public class WaterSour

原创 《編程思想》8.接口

一.抽象類和抽象方法 1.建立這個通用接口的唯一理由是,不同的子類可以用不同的方法表示此接口。 2.如果一個類包含一個或多個抽象方法,該類必須被限定爲抽象。成爲抽象類並不需要所有的方法都是抽象的,僅需將某些方法聲明爲抽象的即可。 in

原创 《編程思想》7.多態

這種把對某個對象的引用視爲對其基類型的引用的做法被稱作向上轉型----因爲在繼承數的畫法中,基類是放置在上方的。 public class Test { public enum Note{ MIDDLE_

原创 Redis命令

查看redis進程 ps -ef | grep -i redis //結構: ps -ef |grep abc //查看含有"abc"的活動進程 ps -ef |grep -v abc //查看不含abc的活動進程

原创 重構--改善既有代碼的設計

函數重構規則 一.Extract Method(提取函數) — 將大函數按模塊拆分成幾個小函數 二.Inline Method(內聯函數) — 將微不足道的小函數進行整合 將過度封裝的函數在放回去,或者將那些沒有必要封裝的函數放回去

原创 Redis初識

數據結構 一.Redis特性 速度快 (1) 數據存儲到內存中 持久化(斷電不丟失數據) (1)Redis所有數據保持到內存中,對數據的更新將異步地保存到磁盤中 多種數據結構 (1) 除以上五種版本新增 BitMaps

原创 SQL優化

一.負項查詢不能使用索引 select name from user where id not in (1,3,4); 改爲: select name from user where id in (2,5,6);   二.前導模糊不能使用

原创 資料

1.JCSprout : https://crossoverjie.top/JCSprout/#/  

原创 《高性能MySql》六.查詢性能優化

1.爲什麼查詢速度會慢     2.慢查詢基礎:優化數據訪問 1.查詢性能低下最基本的原因是訪問的數據太多,大部分性能低下的查詢都可以通過減少訪問的數據量的方式進行優化。   2.是否向數據庫請求了不需要的數據,有些查詢會請求實際需要的數

原创 《高性能MySql》四.Schema與數據類型優化

選擇優化的類型 1.儘量使用可以正確存儲數據的最小數據類型   2.簡單數據類型的操作通常需要更少的CPU週期,例如:整型比字符操作代價更低,因爲字符需要校驗。應該使用mysql內建的類型而不是字符串來存儲日期和時間。   3.TIMES

原创 《高性能MySql》二.

基準測試 1.基準測試可以觀察系統在不同壓力下的行爲,可以在系統實際負載之外創造一些虛構場景進行測試。   2.集成式測試工具 (1)ab : HTTP服務器基準測試工具。測試HTTP服務器每秒最多可以處理多少請求。只能針對單個URL進行

原创 《高性能MySql》五.創建高性能索引

索引基礎 1.存儲引擎用類似的方法使用索引,其先在索引中找到對應值,然後根據匹配的索引記錄找到對應的數據行。 2.mysql只能高效地使用索引的最左前綴列。創建一個包含兩個列的索引,和創建兩個只包含一列的索引是大不相同。 3.索引的類型

原创 《高性能MySql》一.MYSQL架構和歷史

MYSQL邏輯架構 1.Mysql架構圖 併發控制 1.讀寫鎖 (1)共享鎖 和 排他鎖 ,也叫讀鎖 和 寫鎖 (2)寫鎖是排他的,也就是說一個寫鎖會阻塞其他的寫鎖和讀鎖,這是出於安全策略的考慮。   2.鎖粒度 (1)一種提高共享資源

原创 《編程思想》5.初始化與清理

方法重載: 1. 當創建一個對象時,也就給此對象分配到的存儲空間取一個名字。所謂方法則是給某個動作取的名字。通過使用名字,你可以引用所有的對象和方法 2.每個重載的方法都必須有一個獨一無二的參數類型列表。參數順序的不同也足以區分兩個方法。

原创 《編程思想》4.控制執行流程

逗號操作符: (注意不是逗號分隔符,逗號用作分隔符時用來分隔函數的不同參數),Java裏唯一用到逗號操作符的地方就是for循環的控制表達式。在控制表達式的初始化和步進控制部分,可以使用一系列有逗號分隔的語句;而且那些語句均會獨立執行。fo