摘要:
MyBatis 的配置文件包含了會深深影響 MyBatis 行為的設置和屬性信息。 配置文檔的頂層結構如下: 一、屬性(properties) 這些屬性可以在外部進行配置,并可以進行動態替換。你既可以在典型的 Java 屬性文件中配置這些屬性,也可以在 properties 元素的子元素中設置。例如
閱讀全文
posted @ 2020-05-15 08:03
kosamino
閱讀(601)
推薦(0)
摘要:
一、傳統JDBC 在有Mybatis之前,我們都是怎么訪問數據庫的呢,是通過JDBC,那么JDBC是如何訪問的呢,首先引入數據庫連接jar包: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifa
閱讀全文
posted @ 2020-05-13 22:00
kosamino
閱讀(998)
推薦(0)
摘要:
一、什么是緩存穿透 當用戶想要查詢一個數據,發現redis內存數據庫沒有,出現緩存未命中,于是轉向持久層數據庫查詢。發現也沒有,于是本次查詢失敗。當用戶很多的時候,緩存都沒有命中,于是都去請求了持久層數據庫,給持久層數據庫造成很大的壓力,這就是緩存穿透。 于是我們就需要有一個能實現“快速判斷是否存在
閱讀全文
posted @ 2020-05-13 14:44
kosamino
閱讀(3751)
推薦(0)
摘要:
一、Jute序列化工具 1、Jute概述 Zookeeper的客戶端與服務端之間會進行一系列的網絡通信來實現數據傳輸,Zookeeper使用Jute組件來完成數據的序列化和反序列化操作,其用于Zookeeper進行網絡數據傳輸和本地磁盤數據存儲的序列化和反序列化工作。 實體類要使用Jute進行序列化
閱讀全文
posted @ 2020-04-20 13:08
kosamino
閱讀(2093)
推薦(0)
摘要:
一、什么是Zab算法 Zab借鑒了Paxos算法,是特別為Zookeeper設計的支持崩潰恢復的原子廣播協議。基于該協議,zk實現了一種主備模型(即Leader和Follower模型)的系統架構來保證集群中各個副本之間數據的一致性。這里的主備系統架構模型,就是指只有一臺客戶端(Leader)負責處理
閱讀全文
posted @ 2020-04-18 04:05
kosamino
閱讀(1553)
推薦(1)
摘要:
一、宏觀分析ZooKeeper源碼結構 ZooKeeper宏觀分析源碼,如下圖所示: 要想分析源碼,首先需要宏觀分析整個ZooKeeper結構,要知道ZooKeeper分為兩部分:服務端集群、客戶端。 其中服務端: 每臺ZooKeeper服務器都有三個狀態:初始化、運行中、結束關機。因此當服務器都處
閱讀全文
posted @ 2020-04-17 20:58
kosamino
閱讀(6670)
推薦(3)
摘要:
一、Zookeeper核心概念 1、什么是znode ZooKeeper操作和維護的為一個個數據節點,稱為 znode,如上圖所示,znode采用類似文件系統的層級樹狀結構進行管理。如果 znode 節點包含數據則存儲為字節數組(byte array)。 創建 znode 時需要指定節點類型,zno
閱讀全文
posted @ 2020-04-16 20:19
kosamino
閱讀(792)
推薦(0)
摘要:
一、什么是Zookeeper ZooKeeper是一個分布式的,開放源碼的分布式應用程序協調服務,是Google的Chubby開源的實現,是Hadoop和Hbase的重要組件。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分布式同步、組服務等。 Github源碼:ht
閱讀全文
posted @ 2020-04-15 19:47
kosamino
閱讀(876)
推薦(0)
摘要:
一、多線程詳解 1、什么是線程 線程是一個操作系統概念。操作系統負責這個線程的創建、掛起、運行、阻塞和終結操作。而操作系統創建線程、切換線程狀態、終結線程都要進行CPU調度——這是一個耗費時間和系統資源的事情。 2、線程生命周期 Java當中,線程通常都有五種狀態,創建、就緒、運行、阻塞和死亡: 創
閱讀全文
posted @ 2020-04-10 07:21
kosamino
閱讀(1817)
推薦(0)
摘要:
Spring為了用戶的開發方便和特性支持,開放了一些特殊接口和類,用戶可進行實現或者繼承,常見的如這些: ApplicationContextAware接口、ApplicationEvent抽象類、ApplicationListener接口、BeanNameAware接口、BeanFactoryAw
閱讀全文
posted @ 2020-04-09 21:54
kosamino
閱讀(2462)
推薦(1)
摘要:
一、Redis使用有哪些常見問題 在我們已經有了Jedis客戶端、集群模式支持后,Redis基本使用已經沒有大的問題了。關于Jedis以及集群模式請參考博文: Redis學習之4種模式實踐及機制解析(單機、主從、哨兵、集群) Redis學習之API學習及Jedis源碼原理分析 Redis學習之Jed
閱讀全文
posted @ 2020-04-08 22:10
kosamino
閱讀(3457)
推薦(1)
摘要:
Redis是一個開源的使用ANSI C語言編寫、遵守BSD協議、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API。 我們在進行Java項目開發的時候,如果要使用Redis數據庫,那么常常是通過Redis的Java客戶端來簡化Redis的使用,例如Redisso
閱讀全文
posted @ 2020-04-08 02:43
kosamino
閱讀(486)
推薦(0)
摘要:
Redis在日常部署的時候,可以有多種部署模式:單機、主從、哨兵、集群(分區分片),因此本例將對上面這四種模式進行詳細的講解,特別是集群模式將進行最細致的講解(現行普遍使用的方式)。 一、單機部署 單機部署很簡單,直接下載Redis進行安裝即可,此處不作詳細講解,具體Redis的安裝請參考:Mac下
閱讀全文
posted @ 2020-04-07 07:26
kosamino
閱讀(2612)
推薦(1)
摘要:
一、Redis介紹 Redis是一個開源的使用ANSI C語言編寫、遵守BSD協議、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API。 它通常被稱為數據結構服務器,因為值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合
閱讀全文
posted @ 2020-04-05 00:08
kosamino
閱讀(613)
推薦(0)
摘要:
一、備忘錄模式的定義與特點 備忘錄(Memento)模式的定義:在不破壞封裝性的前提下,捕獲一個對象的內部狀態,并在該對象之外保存這個狀態,以便以后當需要時能將該對象恢復到原先保存的狀態。該模式又叫快照模式。 備忘錄模式能記錄一個對象的內部狀態,當用戶后悔時能撤銷當前操作,使數據恢復到它原先的狀態。
閱讀全文
posted @ 2020-04-02 05:24
kosamino
閱讀(3119)
推薦(2)