原创 LeetCode Weekly Contest 276 題解
第一題 題解:直接模擬 class Solution { public: vector<string> divideString(string s, int k, char fill) { vector<strin
原创 LeetCode Weekly Contest 266
第一題 題解:模擬題 class Solution { public: int countVowelSubstrings(string w) { int n = w.length(); int i
原创 LeetCode Weekly Contest 258
第一題 class Solution { public String reversePrefix(String word, char ch) { int index = word.indexOf(ch + "");
原创 LeetCode Weekly Contest 257
第一題 class Solution { public int countQuadruplets(int[] nums) { int n = nums.length; int res = 0;
原创 LeetCode Weekly Contest 255
一、找出數組的最大公約數 func findGCD(nums []int) int { max, min := nums[0],nums[0] for _,v :=range nums{ if v > ma
原创 響應式編程基礎教程:Spring Boot 與 Lettuce 整合
本文主要介紹響應式編程訪問 Redis,以及 Spring Boot 與 Lettuce 的整合使用。 Lettuce 是可擴展性線程安全的 Redis 客戶端,用於同步、異步和響應式使用。如果多個線程避免阻塞和事務性操作(例如 BLPOP
原创 Spring Boot 與 R2DBC 整合
R2DBC 是 "Reactive Relational Database Connectivity"的簡稱。 R2DBC 是一個 API 規範的倡議,聲明對於訪問關係型數據庫驅動實現了一些響應式的API。 R2DBC的誕生爲了非阻塞的應用
原创 Spring WebFlux 基礎教程:WebSocket 使用
WebSocket 協議簡介 WebSocket 協議提供了一種標準化的方式,在客戶端和服務端建立在一個TCP 連接之上的全雙工,雙向通信的協議。 WebSocket 交互開始於 HTTP 請求,使用 HTTP 請求的 header 中的
原创 Spring WebFlux 基礎教程:參數校驗
請求參數校驗,在實際的應用中很常見,網上的文章大部分提供的使用註解的方式做參數校驗。本文主要介紹 Spring Webflux Function Endpoint 使用 Spring Validation 來校驗請求的參數。使用上一
原创 Spring WebFlux 基礎教程:構建簡單RESTful API
我們通過使用 Spring WebFlux 來實現對 Person 對象操作的 RESTful API。 主要有 3 步操作: 實體的定義 實體的相關操作 路由規則的配置 定義 Person 實體 public class Perso
原创 Spring WebFlux 基礎教程:快速入門
爲什麼要創建Spring WebFlux ? 一方面是需要一個非阻塞的web 技術棧使用少量的線程和硬件資源來處理併發。另一方面就是函數式編程。 什麼是響應式? 響應式是制圍繞響應改變而構建的編程模型。例如,響應I/O事件的網絡組件、響應鼠
原创 CyclicBarrier 分析
簡介 CyclicBarrier 是什麼? CyclicBarrier 使用 CyclicBarrier 源碼解析 CyclicBarrier 簡單實現 barrierAction 是由哪個線程執行的? CyclicBarrier 是什
原创 BIO、NIO、AIO筆記
BIO 文件 IO 方面 操作系統分爲用戶空間和內核空間,應用程序一般不能直接操作系統資源,需要通過操作系統開放的接口才能使用系統資源,例如網絡,磁盤等等。 Linux 系統寫數據的步驟流程如下圖: 從上往下分析張
原创 LeetCode Weekly Contest 220
1694. Reformat Phone Number 通過對字符串長度對3取模進行分析。 public String reformatNumber(String number) { number = number.re
原创 LeetCode 鏈表題總結
最近花了幾天時間,將鏈表題除帶鎖外的題目做完了,下面對鏈表題部分題目進行總結和分析。 鏈表題目解決方法 1、鏈表反轉 2、快慢指針 鏈表反轉模板 ListNode cur = head.next; head.next = n