原创 讀書筆記: MySql5.6從零開始學(3)

本文將主要介紹MySql數據庫的鎖機制,內容主要出自《MySql性能調優與架構優化》。 MySql數據庫鎖定機制 爲了保證數據的一致性,任何一個數據庫都存在鎖定機制。鎖定機制的優劣直接影響到一個數據庫系統的併發處理能力和性能,所以鎖

原创 讀書筆記: MySql從零開始學(2)

索引在數據庫中非常重要,它決定着數據庫查詢的速度。 2 索引 索引是對數據庫表中的一列或多列的值進行排序的一種結構,使用索引可提高數據庫中特定數據的查詢速度。 2.1 索引簡介 索引是一個單獨的、存儲在磁盤上的數據庫結構,它們包含着

原创 讀書筆記: MySql5.6從零開始學(1)

MySql5.6從零開始學這本書比較基礎,也是博主很早以前看過的一本書。從本章開始,博主將結合本書和《高性能MySql》進行介紹,順便通過這次整理讓自己也回顧一遍數據庫與MySql知識。 MySql是由瑞典一家公司MySql AB開發

原创 讀書筆記: Java併發編程實戰(6)

6 顯式鎖、原子變量與CAS 6.1 Lock與ReentrantLock Lock接口是JDK5.0新增的接口,ReentrantLock是其實現類,比內置鎖Sychronized具有更高的靈活性。當內置鎖機制不適用時,可作爲一種選

原创 讀書筆記: Java併發編程實戰(4)

4 活躍性 併發應用程序能及時執行的能力稱之爲活躍性。由於線程併發原因導致的應用程序無法執行,就是活躍性故障。 活躍性故障最主要的一種就是死鎖。哲學家進餐問題就是經典的死鎖問題。 與許多其他的併發危險一樣,死鎖造成的影響很少會立即顯現

原创 讀書筆記: Java併發編程實戰(5)

5 性能、可伸縮性與測試 線程的最主要目的是提高程序的運行性能。線程可以使程序更加充分地發揮系統的可用處理能力,從而提高系統的資源利用率。 資源越多,使用線程進行併發處理就越能提高程序的性能。可伸縮性就是用來描述這種性質的。可伸縮性是

原创 讀書筆記: Java併發編程實戰(3)

3.1 在線程中執行任務 串行執行任務 所有任務在單個線程中執行,程序簡單,安全性也高。但無法提供高吞吐率和快速響應性。 顯式爲任務創建線程 通過創建新的線程爲任務提供服務,將任務處理邏輯從主線程中分離出來,多個任務可以並行處理,提高

原创 讀書筆記: Java併發編程實戰(2)

2.1 線程安全容器類 線程安全容器有同步容器類和併發容器類。 同步容器有早期的Vector和HashTable,以及通過Collections.synchronizedXxx等工廠方法創建的容器。這些類實現線程安全的方式是:將它們的

原创 讀書筆記: Java併發編程實戰(1)

Java併發編程實戰是一本比較經典的書,但並不適合沒有什麼基礎的人來讀,書中大量的不常用的概念是不太好理解的。推薦先讀另一本比較基礎的,由電子工業出版社出版的“實戰高併發程序設計”,讀完之後再來看這本就比較輕鬆了。博主的另一篇blog

原创 併發編程基礎-Java內存模型

1.1 主內存和工作內存 Java內存模型的主要目標是定義程序中各個變量的訪問規則,即在虛擬機中將變量存儲到內存中和從內存中取出變量這樣的底層細節。 此處的變量和Java編程中所說的變量有所區別,它包括了實例字段、靜態字段和構成數組對

原创 分佈式網站架構讀書筆記總結

讀書筆記系列關於分佈式網站架構的一共有三本書,本次已完成其中兩本的整理。 大型分佈式網站架構設計與實踐一書,偏向理論基礎,結構層次和組織邏輯很清晰,前兩章從總體和重要的基礎設施方面介紹了分佈式系統架構原理,屬於高屋建瓴式的理論描述,涉

原创 讀書筆記: 大型網站系統與Java中間件實踐(6)

6 消息中間件 消息中間件是分佈式系統基礎設施之一。消息中間件使得消息發送者不必同步等待消息接收者的響應,而是將消息發送到消息隊列中,由消息消費者來異步消費。這種異步處理模式降低了系統集成的耦合度。 –待續。

原创 讀書筆記: 大型網站系統與Java中間件實踐(5)

5 數據訪問層 分佈式系統中關係型數據庫的擴展方式一般是分庫分表和讀寫分離。分庫分表會帶來一系列問題,如事務處理、分佈式sequence、跨表跨庫查詢等。本章對這幾個問題進行了闡述,並從不同角度介紹了數據訪問層的設計。最後對讀寫分離帶

原创 讀書筆記: 大型網站系統與Java中間件實踐(4)

4 服務框架 4.1 服務框架簡述 隨着業務的發展,系統從垂直架構演進爲服務化架構,這個過程會遇到一些問題。服務框架就是爲了解決這些問題的,如下圖所示: 我們從服務調用者出發,看看服務框架的作用。服務調用者調用服務提供者的接口,由於

原创 讀書筆記: 大型網站系統與Java中間件實踐(3)

3 構建Java中間件 Java中間件是解決特定問題域的一系列組件。 本章介紹了很多零散的東西,但都只是大概提了一下,沒有深入。如垃圾回收,線程池,線程安全相關的容器和工具等。 垃圾回收在JVM內存模型與性能調優中介紹過,線程池和併發