原创 Redis常見面試題(精簡版)

文章目錄 概述  什麼是Redis  Redis有哪些數據類型  Redis有哪些優缺點  Redis的應用場景  爲什麼要用 Redis /爲什麼要用緩存  爲什麼要用 Redis 而不用 map/guava 做緩存?  Red

原创 Nginx常用命令Linux

Nginx 在Linux 下的常用命令: 進入了Nginx 的安裝目錄,命令示例: ./nginx -v # 查看版本 ./nginx -h # 查看幫助信息 ./nginx -t

原创 大小根堆

Java代碼實現的小根堆: https://blog.csdn.net/weixin_43160215/article/details/86288375 PriorityQueue 的實例使用: https://www.cnblo

原创 TPS和QPS區別與計算

QPS/TPS簡介: QPS:Queries Per Second意思是“每秒查詢率”,是一臺服務器每秒能夠相應的查詢次數,是對一個特定的查詢服務器在規定時間內所處理流量多少的衡量標準。 TPS:是Transactions

原创 RocketMQ消費者消費位

consumer在消費時,會設置從哪裏開始消費。 默認是CONSUME_FROM_LAST_OFFSET 設置的值如代碼所示。 public enum ConsumeFromWhere { /** * 一個新的訂

原创 Redis在Linux 下的安裝過程

下載Jar 包並編譯: 進入Linux 系統執行以下命令: $ wget http://download.redis.io/releases/redis-5.0.7.tar.gz $ tar xzf redis-5.0.7.tar

原创 操作系統: 用戶態和內核態

用戶態和內核態: 內核態:cpu可以訪問內存的所有數據,包括外圍設備,例如硬盤,網卡,cpu也可以將自己從一個程序切換到另一個程序。 用戶態:只能受限的訪問內存,且不允許訪問外圍設備,佔用cpu的能力被剝奪,cpu資源可以被其他程

原创 RocketMQ 生產者發送消息結果

前言: 當我們使用 同步或者異步發送消息時,成功後,我們得到一個對象 SendResult 對象,其中包含消息發送隊列的相關信息。 其中 枚舉 SendStatus 即是本次消息發送的結果。 SendStatus 枚舉如下:

原创 詳細理解優先隊列DelayedWorkQueue

博文: https://blog.csdn.net/nobody_1/article/details/99684009

原创 RocketMQ 發送方式

RocketMQ 三種發送方式: Sync: 同步發送,等待結果後返回,可以設置超時時間。 Async:異步的發送方式, 發送成功後,立刻返回,生產者在獲取到Broker響應後,會調用指定的CallBack,可以設置超時時間。

原创 ThreadLocal詳解

前言: ThreadLocal 是線程內部的數據存儲類,多線程操作 ThreadLocal 時,不同的線程對數據進行儲存後,只有在當前線程中纔可以獲取到存儲的數據,不同的線程之間數據隔離。 ThreadLocal 數據的存儲通過

原创 TreeMap源碼解析

前言 TreeMap實現了SotredMap接口,它是有序的集合。而且由紅黑樹實現的,每個key-value都作爲一個紅黑樹的節點。如果在調用TreeMap的構造函數時沒有指定比較器,則根據key執行自然排序。 紅黑樹: 紅黑樹

原创 HashMap源碼解析

HashMap、HashTable、ConcurrentHashMap總結: 本篇博文將會大篇幅介紹 JDK1.8 HashMap,下面總結: HashMap: JDK1.7底層是 數組 + 鏈表實現的, JDK1.8添加了紅黑

原创 Java創建對象的幾種方式

總結: java 創建對象的方式有四種: 通過 new 的方式創建 。 通過反射獲取類的構造方法,生成對象 克隆,通過已經生成的對象,克隆出一個新的對象,但是類必須要實現Cloneable,並且重寫 clone()方法

原创 Tomcat Server.xml詳解

1. Tomcat Server的結構圖: 該文件描述瞭如何啓動Tomcat Server 2. Server.xml 結構示意: <Server> <Listener /> <GlobaNamingResour