原创 創建高性能索引——《高性能Mysql》筆記2

1. 索引基礎及優點 索引在MYSQL中也稱作“鍵(Key)”,是一種存儲引擎快速找到記錄的數據結構。索引優化是對查詢性能優化的最有效手段。 MYSQL的索引有很多種類型,不同的存儲引擎支持的索引類型可能不一樣。 相關鏈接:Mysql索

原创 TCP和UDP學習筆記

1. TCP和UDP的區別 TCP是面向連接的,提供可靠服務的、提供流量控制和擁塞控制的、面向字節流傳輸層協議。 UDP是無連接的、不可靠的、面向報文的傳輸層協議。 2. 面向報文和麪向字節流的區別: 應用層交給UDP多長的報

原创 查詢性能優化——《高性能Mysql》學習筆記3

1.優化數據訪問 查詢常見問題:向數據庫請求了不需要的數據 查詢不需要的記錄,沒有加上limit導致返回大量結果集。 select*返回全部列,尤其是多表關聯時。 重複查詢相同數據,沒有采用緩存。 2. 衡量查詢開銷 1. 衡量查詢

原创 操作系統重點知識整理

1. 併發和並行 併發:指宏觀上在一段時間內能同時運行多個程序,但任一個時刻點上只有一個程序在處理器上運行,是邏輯上的同時發生(並行更多是側重於物理上的同時發生)。 並行:指同一時刻能運行多個指令,需要硬件支持,如多流水線或者多處理器。

原创 併發基礎三:synchronized

1.概括 把代碼塊聲明爲 synchronized,有兩個重要後果,通常是指該代碼具有 原子性(atomicity)和 可見性(visibility)。 1. 原子性:一個操作或多個操作要麼全部執行完成且執行過程不被中斷,要麼就不執

原创 Mysql索引基礎B-tree以及B+tree

1. B-tree以及B+tree的原理 1. B-tree B 樹是爲了磁盤或其它存儲設備而設計的一種多叉(相對於二叉,B樹每個內結點有多個分支,即多叉)平衡查找樹。 結構描述 結構特點 一個節點爲一個二元組[key, data]

原创 併發基礎二:Java內存模型

1. Java內存模型 1. 定義 Java內存模型規定所有變量都存儲在主內存中(Main memory),每個線程還有自己的工作內存(working memory)。 線程的工作內存中保存了被該線程使用到的變量的拷貝(從主內存中拷貝過

原创 java中相對路徑的常見用法

java中相對路徑的常見用法 利用類加載器 InputStream is=TestAction.class.getClassLoader().getResourceAsStream("test.txt"); 不論是一般的java

原创 計算機網絡原理概述部分

1. 互聯網的組成 互聯網 = 網絡邊緣+網絡核心 網絡邊緣:所有連接在互聯網上的主機 網絡核心:由大量的網絡和連接這些網絡的路由器組成,爲邊緣部分的主機提供服務 2. 電路交換和分組交換 電路交換:電路交換用於電話通信系統,兩個

原创 java併發包之Condition

1. 概括 Condition是java條件隊列的實現,這就意味着Condition的強大之處在於它可以爲多個線程間建立不同的Condition。 作爲一個多線程間協調通信的工具類,每個條件Contition對象內部維護了一個屬於自己的

原创 java併發包之Lock

1. synchronize的限制 synchronized 是Java的關鍵字,是Java的內置特性,在JVM層面實現了對臨界資源的同步互斥訪問,但 synchronized 粒度有些大,在處理實際問題時存在諸多侷限性 它無法中斷一個