原创 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