原创 Redis實現分佈式鎖-原理與寫法

多線程好玩嘿,以前都不怎麼寫。。 關於實現 其實並沒有太多看過Redisson,但是推薦還是用這個框架,簡單粗暴。並且多線程寫的是真的少。。。代碼目前我覺得沒啥大問題,但是怕有對多線程不熟導致的一些坑,求大佬發現問題一定告訴一下哈

原创 Java 8新特性-stream流

Stream流 Stream使用一種類似用SQL語句從數據庫查詢數據的直觀方式來提供一種對Java集合運算和表達的高階抽象。這種風格將要處理的元素集合看作一種流,流在管道中傳輸,並且可以在管道的節點上進行處理,比如篩選,排序,聚合

原创 Dubbo入門指北-Spring Boot+Dubbo入門級Demo

Zookeeper 至少要裝個單機環境,Dubbo需要Zookeeper環境。具體的配置這裏不解釋了。最後在Zookeeper目錄下的bin目錄下對zkServer.sh使用start即可開啓Zookeeper。記得開放端口,Zo

原创 Java容器TreeMap的successor方法

        只要理解二叉搜索樹,就能看懂這個方法了。註釋爲: Returns the successor of the specified Entry, or null if no such. 就是說返回當前結點的後繼結點。然而T

原创 二叉查找樹(Binary Sort Tree)的解析與實現

二叉查找樹         關於性質之類的可以參考wiki、百度百科或者其他博客,其實也很簡單,推薦看標準的描述。而博主寫的內容主要是想寫成類似Map底層的。所以有泛型,並且是Key-Value結構。關於二叉查找樹,我們一般是類比二分搜索

原创 Java標記接口的作用

什麼是標記接口?         最早還是在看源碼的時候有印象,例如下面是ArrayList的源碼: public class ArrayList<E> extends AbstractList<E> implement

原创 記 Dubbo-Admin 搭建過程中遇到的大坑(Maven package失敗)

Dubbo-Admin 的選擇以及開源地址         首先吐槽一下網上的東西好老啊。。大概是17年左右的博客?基本上都是在配Dubbo的時候順便做了Dubbo-Admin,並且都起名叫“Dubbo環境搭建”,幹,這讓萌新很苦惱啊,明

原创 Redis手搓實現分佈式鎖-原理與寫法

多線程好玩嘿,以前都不怎麼寫。。 關於實現 其實並沒有太多看過Redisson,但是推薦還是用這個框架,簡單粗暴。並且多線程寫的是真的少。。。代碼目前我覺得沒啥大問題,但是怕有對多線程不熟導致的一些坑,求大佬發現問題一定告訴一下哈

原创 Java 1.8下ArrayList的擴容機制

擴容機制簡述         擴容算法是基於方法grow()的,ArrayList的幾個構造參數,決定了在初始狀態下,容器的大小要麼爲0要麼爲自己設定的某個值。那麼具體的擴容,就是在add()等方法進行的時候進行一次判定——如果有數組溢出

原创 紀念2019年春招

        大三要結束了啊,好快。         最後也算是拿了個三線廠子的offer。慘的要死,各種掛。說是各大廠小廠都在裁員,也都在說互聯網寒冬,不過實習困難的原因還是在自己身上,菜是原罪啊!         兩個月,讓各大廠按

原创 Java異常獲取中try-catch-finally塊執行順序

最近看面試題,發現這個比較好玩,try-catch-finally塊的執行順序問題。 一般認爲,finally最後執行,做收尾工作,無論try塊是否捕獲異常,最後finally都會工作。但是這樣還是比較籠統,如果沒有catch,而是將異常

原创 JDK8下HashMap的tableSizeFor方法

        感覺HashMap跟其他的容器風格都不太一樣,後來看網上是說JDK8相比以前對HashMap的修改非常大。在看構造方法的時候就卡在了tableSizeFor方法。先看一下構造方法: public HashMap(

原创 紅黑樹的理解與代碼實現

紅黑樹         我們知道對於二叉搜索樹而言,無法保證樹的平衡性,從而使得進行操作的時候時間複雜度在O(logn)與O(n)之間。這樣是不穩定的。而2-3樹則藉助於3-結點和臨時的4-結點,通過分解,解決了平衡問題。例如對於插入,在

原创 Java併發中生產者消費者模式

生產者消費者模式         很簡單的例子,KFC吃飯,櫃檯前顧客排隊點餐,假設KFC只賣漢堡,那麼就是這樣的情景:消費者排隊花錢下單購買,生產者(廚師)在後廚瘋狂做漢堡。如果只有一個廚師,櫃檯只有一個服務員,那麼就類似一對一的情況:

原创 LeetCode 969 pancake sorting 煎餅排序

題目鏈接 LeetCode 周賽 118 場 B題 https://leetcode-cn.com/problems/pancake-sorting/ 題意         先說明所謂的煎餅翻轉,例如數組[1,2,3,4]其煎餅翻轉後就是