原创 java stop方法爲什麼不能用?

一方面stop線程非常粗暴,除非可能執行finally代碼塊以及釋放synchronized外,線程將直接被終止,非常粗暴,此外如果線程持有JUC的互斥鎖,還可能導致鎖來不及釋放,造成其他線程永遠等待的局面。 JUC是Lock不是

原创 Java 多線程 深入理解volatile語義

1、解決可見性問題 CPU爲了避免頻繁讀內存導致的性能降低,所以CPU內部設計了寄存器和高速緩存來提供數據訪問速度。 1、線程重複讀取一個變量時,會使用緩存中的值,而不會讀內存,所以存在讀提前。 2、線程首次從內存讀取某個變量的同

原创 深入理解AQS-2 鎖基礎知識

悲觀鎖和樂觀鎖 synchronized同步方法最主要的問題是線程阻塞和喚醒帶來的性能消耗,阻塞同步是悲觀的併發策略,只要有可能出現競爭,都認爲一定要先加鎖;然而還有一種樂觀的併發策略,直接操作數據,如果沒有發現其他線程同時操作數

原创 手動實現簡單公平鎖,理解AQS

鎖源碼 package com.test.zwj; import sun.misc.Unsafe; import java.lang.reflect.Field; import java.util.concurrent.Con

原创 徹底理解Prometheus查詢語法

寫在前面 主要參考:https://github.com/yunlzheng/prometheus-book 本文檔主要分爲兩部分,分別講解PromQL和Grafana的基礎使用,在閱讀PromQL部分時,建議不要聯想Grafan

原创 徹底明白Redis主從同步原理

1.主從複製 兩個Redis實例(可ip相同port不同),可使用slaveof命令設置主從關係。redis採用樂觀同步策略,即容忍短時間內主從不一致,但是保證最終一致性,主從複製分爲三個階段: 連接階段 數據同步階段 命令傳播

原创 分享一次因爲Redis持久化超時導致服務器重啓的事件

寫在前面 記錄一次Redis持久化超時導致服務器重啓的系統事件。 建議首先閱讀 https://blog.csdn.net/zhouwenjun0820/article/details/105881313 1. 持久化監控 (1)

原创 徹底明白Redis持久化原理

寫在前面 參考文章: https://blog.csdn.net/qq_41453285/article/details/103298285 1.Redis持久化 爲什麼要持久化?爲了重啓恢復或者故障恢復。 Redis提供了兩

原创 徹底明白Redis集羣主從切換原理

寫在前面 參考文章: https://www.cnblogs.com/dadonggg/p/8628735.html 1.Redis Cluster 爲了支持高可用,Redis提供了集羣部署方案,當master發生故障時,能及

原创 Kubernetes CKA真題解析-20200402真題

1.日誌 kubectl logs 監控 foobar Pod 的日誌,提取 pod 相應的行’error’寫入到/logs 文件中 Set configuration context $ kubectl config use-c