原创 【AWS】NoSuchFieldError: SIGNING_REGION

Exception in thread “main” java.lang.NoSuchFieldError: SIGNING_REGION 近期在工作中,使用AWS提供的SDK包從S3桶下載文件時,遇到了如下的異常情況: 當

原创 【Spring Boot】4.條件化Bean 根據配置文件加載對應Bean

根據配置文件只加載指定的Bean,條件化Bean 近期在工作中遇到實際問題:在不同的環境中,需要加載不同的工具類。這個就可以使用到Spring的條件化Bean。 話不多說,直接上代碼。 例如,當前對於IService接口: p

原创 【LeetCode 45 55 1306】Jump Game I,II,III【JAVA】

跳躍遊戲,合計三道題。 55. Jump Game 1. 題目 2. 思路 這道題即考慮是否達到最後的一個位置,我們可以通過到達每一個下標處時,維護一個可達最大下標值,判斷我們能否到達數組的最後一個下標。 3. 代碼 p

原创 【Spring Boot】3.@RequestParam和@RequestBody的不同&用法示例

1. @RequestParam 該標籤用於接受請求頭中的參數,該標籤配置了四個參數: public @interface RequestParam { @AliasFor("name") String value() de

原创 【LeetCode Top 100】406. Queue Reconstruction by Height【Medium】【JAVA】

1. 題目 2. 題意 有 n 個 (h, k) 對,h 代表高度,k 代表這個對在隊列中的位置,在它的位置前面,有 k 個對的高度,比它高或等高。例如 (7, 0),代表其高度爲 7,在它前面有 0 個高度不小於它的對。(4,

原创 【JAVA基礎】重複使用同一輸入流

博主在工作中遇到問題:需要對讀入的文件 (MultipartFile) 計算 MD5,同時又需要將其上傳到 S3上,即需要對同一輸入流進行操作,但是按照流本身所代表的抽象含義,數據一旦流過去,就無法被再次使用。這裏給出三種解決的方

原创 【LeetCode Top 100】56. Merge Intervals【Medium】【JAVA】

1. 題目 2. 題意 題目很好理解,就是輸入多個時間碎片,現在需要儘可能把碎片進行合併,求合併後的結果。 3. 思路 一個比較容易想到的思路,維護一個當前的合併之後的時間碎片組,通過遍歷所有的時間碎片,不斷向合併之後的時間碎片

原创 【Cassandra】查看列的時間戳

列是 Cassandra 數據模型中最基本的數據結構單元,每次向 Cassandra 寫入數據時,會爲更新的各個列值生成一個時間戳。如果多個寫操作同時修改同一個值,則 Cassandra 內部就會使用這些時間戳來解決衝突,我們可以

原创 【LeetCode 1305】All Elements in Two Binary Search Trees【Medium】【JAVA】

1. 題目 題目鏈接:https://leetcode.com/problems/all-elements-in-two-binary-search-trees/ 2. 題意 題目要求是合併兩個搜索二叉樹,合併成爲一個List

原创 【Spring Boot】2. 整合Mybaits & Mybatis的逆向工程Demo

Spring Boot操作數據庫有jpa,但我們也可以引入Mybatis框架進行對數據庫的操作,而Mybatis的逆向工程可以方便我們進行開發。 1. 是什麼 Mybatis逆向工程,可以通過配置數據庫信息,配置對應參數,由數據庫

原创 【LeetCode】Best Time to Buy and Sell Stock Ⅰ、Ⅱ、Ⅲ【Java】

121. Best Time to Buy and Sell Stock 題意爲只可買入一次,並賣出一次,要求獲取的利潤最高。最簡單的思路就是兩層循環,比較每一個數與後面的數的差值,以求出當前能獲取的最大差值,即爲最大利潤,算法

原创 Spring Cloud 熱更新機制原理學習

博主在調研 Spring Cloud Config 跟 Apollo 配置中心的時候,對其中的熱更新機制比較有興趣,並閱讀了相關的源碼,在這裏進行記錄,方便以後查看。 調研時使用的 Spring Boot 跟 Spring Clo

原创 【JAVA基礎】JAVA 53個關鍵字總結

文章目錄1. 簡化版2. 詳解版2.1. 數據類型2.2. 與包相關2.3. 訪問修飾符的關鍵字2.4. 流程控制(循環、條件)2.5. 錯誤處理2.6. 保留字2.7. 類相關2.8. 線程2.9. 斷言2.10. transi

原创 【JAVA源碼學習】List接口

List接口非常常見,常用的ArrayList,LinkedList等都實現了該接口,因此瞭解該接口定義了什麼方法有助於我們更好的理解其他類和接口。 以下是源碼: public interface List<E> extend

原创 【JAVA基礎】JAVA8中 抽象類和接口的異同

1. 抽象類 什麼是抽象類: Java語言中,可以通過把類或者類中的某些方法聲明爲 abstract 來表示一個類是抽象類。抽象類跟普通類區別不大,唯一的區別就是抽象類中可以包含抽象方法,且抽象類不可以被實例化。 那我們爲什麼要使