原创 利用CompletableFuture實現請求合併操作

請求合併的思想:不是每次請求都建立連接,而是把多個請求進行合併,一起訪問數據庫,節約空間。 所以必然時間會延長,所以請求合併是:時間換空間。 其實其中的想法,都可以想到,唯一想不到的就是CompletableFuture的使用。

原创 算法面試題合集

題目都來着leetcode 新的題都會在這更新 1、程序員面試經典 leetcode刷面試題(面試題01合集); leetcode刷面試題(面試題02合集); leetcode刷面試題(面試題03合集); leetcode刷面試題

原创 leetcode刷面試題(面試題01合集)

面試題 01.01. 判定字符是否唯一 實現一個算法,確定一個字符串 s 的所有字符是否全都不同。 示例 1: 輸入: s = “leetcode” 輸出: false 示例 2: 輸入: s = “abc” 輸出: true 限

原创 記錄一次AOP失效的原因

之前寫的校驗是否重複的AOP,在同事使用時,出現了不能成功進入切面的異常。 只有一個地方不一樣,我是在service中執行biz的校驗方法,在校驗方法上加切面 而同事是在biz中去執行biz的校驗方法,在校驗方法上加切面 這就是問

原创 PriorityQueue的源碼閱讀

什麼是PriorityQueue,能保證內部的有序(不是全有序,而是每次都能取到最小值) 去年第一次在算法題中使用到PriorityQueue,今天又遇到了,好奇它是如何實現的,今天來看一下源碼。看源碼的時候,開始是雲裏霧裏的,直

原创 properties文件快速轉爲yml文件

只是做了簡單的測試,沒有考慮過文件裏有註釋的情況 思想就是先把數據讀到map中,然後再保存到新的文件中 public class Test { public static void main(String[] args)

原创 算法導論第19章-斐波那契堆的學習筆記(以及LeetCode1383的斐波那契堆的做法)

首先,斐波那契堆有什麼優點?插入更快,給元素賦值更快(o(1)); 斐波那契堆是可合併堆,那就滿足下列幾個方法 MAKE-HEAP(): o1 INSERT(H,x): o1 MINIMUN(H): o1 EXTRACT-MIN(

原创 LeetCode1383. 最大的團隊表現值(PriorityQueue的使用)

公司有編號爲 1 到 n 的 n 個工程師,給你兩個數組 speed 和 efficiency ,其中 speed[i] 和 efficiency[i] 分別代表第 i 位工程師的速度和效率。請你返回由最多 k 個工程師組成的 ​

原创 leetcode460. LFU緩存

請你爲 最不經常使用(LFU)緩存算法設計並實現數據結構。它應該支持以下操作:get 和 put。 get(key) - 如果鍵存在於緩存中,則獲取鍵的值(總是正數),否則返回 -1。 put(key, value) - 如果鍵已

原创 leetcode164. 最大間距(利用桶排序)

給定一個無序的數組,找出數組在排序之後,相鄰元素之間最大的差值。 如果數組元素個數小於 2,則返回 0。 示例 1: 輸入: [3,6,9,1] 輸出: 3 解釋: 排序後的數組是 [1,3,6,9], 其中相鄰元素 (3,6)

原创 JVM第三章閱讀筆記

3.1概述: 哪些內存需要回收? 什麼時候回收? 如何回收? 3.2對象死了嗎: 3.2.1引用計數算法 就是判斷是否被引用,缺點在於互相引用 3.2.2可達性分析算法 通過"GC Roots"作爲起始點,判定是否可回收 3.2.

原创 SpringMVC的流程

起點:tomcat調用FrameworkServlet的service(ServletRequest req, ServletResponse res)方法: 1)FrameworkServlet的service(ServletR

原创 Netty學習一:入門

有空再學源碼吧:https://www.bilibili.com/video/av76696407?p=12 Netty的基本使用: Netty是一個NIO框架,使用它可以簡單快速地開發網絡應用程序 推薦文章: http://if

原创 ForkJoinTask的小測試

其實,我到現在都沒搞懂ForkJoinTask是幹嘛用的,只是發現,好像可以把複雜的事情進行拆分。 就是子任務執行時候,是一起執行的。父任務等到子任務執行完再執行 比如:我想計算1加到100的值,我可以拆成很小的模塊進行計算。(我

原创 AOP實戰:實現在刪除時先查詢關聯表是否刪除

比如:我們想刪除角色時,需要先判斷是否有用戶使用了該角色。 思路:我們在刪除的方法上加上註解,標註需要校驗哪個字段,在哪個表裏有被關聯。 定義註解: @Target(ElementType.METHOD) @Retention(R