原创 Redis學習(3)-使用場景

Redis的常用數據類型 String 使用場景 Key的設計注意事項 一般以業務功能模塊: 比如購物車key: cart:001,表示1號用戶的購物車,簡短明瞭以主,節約內存。 簡單字符緩存 set key value

原创 Docker部署zookeeper集羣

準備 3臺機器安裝docker HOST1: centos7.5 :172.16.217.135 zk1 HOST2: centos7.5 :172.16.217.136 zk2 HOST3: centos7.5 :172.1

原创 Mybatis3源碼分析(2)體系結構與緩存

工作流程分析 首先在 MyBatis 啓動的時候我們要去解析配置文件,包括全局配置文件和映射器配置文件,這裏麪包含了我們怎麼控制 MyBatis 的行爲,和我們要對數據庫下達的指令,也就是我們的 SQL 信息。我們會把它們解析成

原创 LinkedList真的是查找慢增刪快嗎

以前別人面試我,這個問題的時候我一般都是回答:linkendlist增刪改塊,arraylist查找塊。直到最近我看了掘金的一篇博文,才發現,實踐出真知啊。 測試結果 分別在ArrayList和LinkedList的頭部、尾部和

原创 Mybatis3源碼分析(1)生命週期與核心配置解讀以及批量操作

單獨用mybatis編程式進行DB操作 --------------------利用mapper String resource = "mybatis-config.xml"; InputStream inputStream =

原创 各類設計模式對比與Spring設計模式的總結

分類 設計模式 創建型 工廠方法模式(Factory Method)、抽象工廠模式(Abstract Factory)、建造者模式(Builder)、原型模式(Prototype)、單例模式(Singleton) 結構

原创 併發編程學習(2)synchronized與鎖的喚醒

synchronized 的基本認識 在多線程併發編程中 synchronized 一直是元老級角色,很多人都會稱呼它爲重量級鎖。但是,隨着 Java SE 1.6 對synchronized 進行了各種優化之後,有些情況下它就並

原创 觀察設計模式

應用場景 觀察者模式有時也叫做發佈訂閱模式。 主要用於在關聯行爲之間建立一套觸發機制的場景(例如一些提醒業務、MQ等等) java.awt.Event 就是觀察者模式的一種,只不過 Java 很少被用來寫桌面程序。上面的比如點擊

原创 併發編程學習(1)線程的創建、啓動、停止

單核cpu執行程序的流程 有了進程以後,可以讓操作系統從宏觀層面實現多應用併發。而併發的實現是通過 CPU 時間片不端切換執行的。對於單核 CPU 來說,在任意一個時刻只會有一個進程在被CPU 調度 線程的出現 在多核 CP

原创 Mybatis3源碼分析(4)插件分析

源碼總結回顧 對象 相關對象 作用 Configuration MapperRegistry TypeAliasRegistry TypeHandlerRegistry 包含了 MyBatis 的所有的配

原创 Java開發手冊-(轉自阿里雲棲社區)

Java開發手冊下載鏈接 1-0.9=0.1是天經地義的,但在計算機的世界裏,0.1恰恰是無法精確表示的一個小數,只有2的冪次倍小數才能夠精確表示,如:0.5、0.25、0.125等。由於0.1是近似表達,在各種情形中的計算存在數

原创 併發編程學習(3)線程安全性分析

初步認識 Volatile public /*volatile*/ static boolean stop=false; public static void main( String[] args ) throw

原创 Mybatis3源碼分析(5)spring集成分析與mybatis所用到的設計模式

這裏我們以傳統的 Spring 爲例,因爲配置更直觀,在 Spring 中使用配置類註解是一樣的。在前面文章裏面,我基於編程式的工程已經弄清楚了 MyBatis 的工作流程、核心模塊和底層原理。編程式的工程,也就是 MyBatis

原创 MySQL性能調優(1)理解底層B+tree機制

索引是誰實現的 索引是存儲引擎實現的: 本文章主要對MySQL常用的MyISAM與InnoDB這兩個存儲引擎做分析。 索引是什麼 索引是爲了加速對錶中的數據行的檢索而創建的一種分散存儲的數據結構。 爲什麼要用索引 索引

原创 委派設計模式

應用場景 委派其實就是靜態代理和策略模式一種特殊的組合,因爲代理模式注重過程,而委派模式注重結果。 在我們日常開發中的spring mvc中的DispatcherServlet類就是用了委派模式,其原理就是根據用戶的url在han