原创 Java 中的鎖之 ReentrantLock

目錄 1. ReentrantLock 初始化 2. ReentrantLock 內部結構 3. ReentrantLock 常用方法 4.  非公平鎖 NonfairSync 4.1 lock() 方法原理 4.2. TryAcquir

原创 682.棒球比賽(Baseball Game) | LeetCode 第 682 題

棒球比賽 點擊進入 LeetCode 你現在是棒球比賽記錄員。 給定一個字符串列表,每個字符串可以是以下四種類型之一: 整數(一輪的得分):直接表示您在本輪中獲得的積分數。 "+"(一輪的得分):表示本輪獲得的得分是前兩輪 有效

原创 奇數值單元格的數目 | 重構 2 行二進制矩陣 | 統計封閉島嶼的數目 | 得分最高的單詞集合 | LeetCode 周賽第 162 場 JAVA 實現「162」

1252. 奇數值單元格的數目 給你一個 n 行 m 列的矩陣,最開始的時候,每個單元格中的值都是 0。 另有一個索引數組 indices,indices[i] = [ri, ci] 中的 ri 和 ci 分別表示指定的行和列(從

原创 Java 常見的鎖分類及其特點

鎖分類樂觀鎖 | 悲觀鎖公平鎖 | 非公平鎖獨享鎖 | 共享鎖互斥鎖 | 讀寫鎖偏向鎖 | 輕量級鎖 | 重量級鎖其他:自旋鎖 | 可重入鎖 | 分段鎖 樂觀鎖 | 悲觀鎖 悲觀鎖和樂觀鎖是按按併發情況下資源的分配策略區分

原创 Java 抽象同步隊列 AbstractQueuedSynchronizer

目錄 1. AbstractQueuedSynchronizer 介紹 2. AQS 內部結構 3. 狀態信息 state 4. 內部類 Node 4.1 Node 類源碼 4.2 對 Node 的 CAS 操作 4.3 隊列中的 Nod

原创 交換字符使得字符串相同 | 統計「優美子數組」 | 移除無效的括號 | 檢查「好數組」 | LeetCode 周賽第 161 場 JAVA 實現「161」

1247. 交換字符使得字符串相同 有兩個長度相同的字符串 s1 和 s2,且它們其中 只含有 字符 "x" 和 "y",你需要通過「交換字符」的方式使這兩個字符串相同。 每次「交換字符」的時候,你都可以在兩個字符串中各選一個字符

原创 「SpringBoot 相關注解」@Documented 元註解 - 使用 IDEA 生成 JavaDoc

@Documented 介紹 Documented.java 類位於 JDK 的 rt.jar 內,屬於一個 JDK 註解 它是用來修飾註解的,是註解的註解,稱之爲元註解 @Documented @Retention(Retent

原创 分佈式理論之 CAP 定理(布魯爾定理)

目錄 1. 什麼是 CAP 定理 2. 一致性(Consistency) 3. 可用性(Availability) 4. 分區容錯性(Partition tolerance) 5. CAP 到底如何選 6. 數據庫中的 CAP 定理 6.

原创 右鍵菜單添加 Open with VSCode | VSCode 添加到右鍵菜單

複製如下內容,保存爲 code.reg 文件 將 D:\\Software\\Microsoft VS Code\\Code.exe 替換爲本地 vscode 路徑 雙擊執行 code.reg ,彈出框全部選 「是」 Windo

原创 「SpringBoot 相關注解」@Retention 元註解

@Retention 介紹 Retention.java 類位於 JDK 的 rt.jar 內,屬於一個 JDK 註解 它是用來修飾註解的,是註解的註解,稱之爲元註解 @Documented @Retention(Retentio

原创 時序數據庫 TimescaleDB 和 InfluxDB 對比

時間序列數據庫 顧名思義,時間序列數據庫旨在存儲隨時間變化的數據。這可以是對時間收集的任何類型的數據。他可能是從某些系統收集的指標,實際上,所有趨勢系統均是時間序列數據的示例。 對於不同類型的時間序列數據庫,我該如何選擇? 本文中

原创 Linux (CentOS 7) 系統安裝 MySQL8 | MySQL 安裝教程

Linux (CentOS 7) 系統安裝 MySQL8 | MySQL 安裝教程 CentOS 7 版本將 MySQL 數據庫軟件從默認的程序列表中移除,用 MariaDB 代替了。MariaDB 數據庫管理系統是 MySQL

原创 「SpringBoot 相關注解」@Target 元註解

@Target 介紹 Target.java 類位於 JDK 的 rt.jar 內,屬於一個 JDK 註解 它是用來修飾註解的,是註解的註解,稱之爲元註解 @Documented @Retention(RetentionPolic

原创 MySQL 8 創建用戶並授權

MySQL 創建用戶並授權獲取初始密碼登陸 MySQL修改 MySQL root 用戶密碼新建數據庫創建數據表用戶管理創建用戶鎖定|解鎖用戶權限管理用戶授權撤銷用戶授權創建角色注意事項總結 MySQL 安裝教程請查看 Linux

原创 1021.刪除最外層的括號(Remove Outermost Parentheses) | LeetCode 第 1021 題

刪除最外層的括號 點擊進入 LeetCode 有效括號字符串爲空 ("")、"(" + A + ")" 或 A + B,其中 A 和 B 都是有效的括號字符串,+ 代表字符串的連接。例如,"","()","(())()" 和 "(