原创 Comparator接口在java8中的優化

開始 Comparator接口或者Comparable接口在日常開發工作中是經常用到的,用於比較一組數據或者對象,在java8之後,也可以看到在Comparator接口中加入了一些default方法和static方法,這裏做一個簡

原创 java枚舉拾遺

前言 java枚舉是在開發過程中用的最多的類,這裏對java之前的枚舉常量類和枚舉做了一個分析,並且對枚舉相關知識拾遺。 枚舉類 在出現枚舉之前,通常是一個final類去表示"可枚舉"這個概念,比如下面這個列舉數字的枚舉類 /**

原创 棧和隊列相互實現

背景 一道很經典的數據結構的題目實現。 棧:一般是後進先出的順序,可以看下java中的Stack這個類。 隊列:一般是先進先出的順序,但是java中的Queue接口中也寫了註釋,沒有要求是必須嚴格的先進先出,比如java中也有優先

原创 orika1.5.1版本的map死循環問題

問題現象 在測試環境看到機器cpu報警,且cpu是突然升起來並且一直穩定跑滿在百分之90左右。觀察流量和接口的qps,並沒有突然增加或者有突刺。 問題排查 上機器top -H -p pid + jstack觀察之後發現很多http

原创 dubbofilter的spi文件路徑問題

自定義dubbofilter 在使用dubbo框架的時候可以使用filter去實現一些攔截功能和調整攔截順序,在每次調用的過程中,Filter的攔截都會被執行。當然除了Dubbo默認的filter,用戶也可以自定義dubbo fi

原创 類加載系列之理解類加載

類的階段 在Java代碼中,類型的加載、連接和初始化都是在程序運行期完成的。類有以下幾個階段: 類加載:即查找並加載類的二進制數據 類連接: 驗證:確保被加載類的正確性 準備:爲類的靜態變量分配內存,並將其初始化爲默認值 解析

原创 HashMap拾遺(一)

開始 HashMap是在開發工作中經常使用的集合類之一,熟悉其源碼應該是基本要求。這篇文章對jdk1.8版本中的HashMap的一些常用方法的源碼進行個記錄。ps:這篇文章沒有對其中的樹化進行深究,比如提供的TreeNode內部類

原创 windows下typora圖牀(附帶阿里雲教程)

typora Typora是大家寫博客、記筆記、寫文檔等日常使用場景下都會使用的一個MarkDown語法的軟件,對於熟悉markdown語法和喜歡markdown簡潔性的朋友來說,typora是不可或缺的工具。但是,對於圖片處理,

原创 jvm參數分類

JVM參數的分類 常用的JVM參數可以大致的分爲三類,下邊簡單的將JVM的參數做一個分類,作爲一個JVM參數的簡單總結。 JVM標準參數 JVM的標準參數是指的在各個JDK版本中都比較穩定的,不會變動的參數,一般是針對jdk全局

原创 一道題的思考

題目 在小馬哥的每日一問中看到了一道這個題:輸出什麼?。當時看錯了在static塊中的代碼,就毫不意外的答錯了= =,這個題其實沒有看起來那麼簡單,這裏去記錄下這個題。小馬哥這個每日一題的系列有很多比較"坑"的題,一般第一遍都比較

原创 @DepnedsOn解決一個spring啓動問題

前言 最近遇到了一個啓動失敗的問題,原因是在bean初始化完成之後的鉤子方法中使用獲取容器中bean的工具類,(對應工具類之前的一篇博客 獲取springbean)。 分析 這裏具體的場景是我想實現一個bean在鉤子方法中往一個策

原创 redis命令拾遺(字符串操作)

前言 前一段時間一直在忙,拉下了一些知識的學習,現在努力追趕修補中。= = 當然也有一些新的知識的學習,但其實更多的是關於一些知識的拾遺。之前在工作當中發現對redis命令掌握的還不是很完善,所以想花比較少的碎片時間去寫一下red

原创 dubbo基礎(五)——dubbo接口的特性設置

dubbo的一些配置 之前的文章中寫了dubbo的初步使用和dubbo和springboot的使用整合,這裏來總結下dubbo框架暴露接口常用的配置項。 啓動時檢查 dubbo提供了在服務啓動時的一些檢查機制,這個機制包括consu

原创 dubbo基礎(四)——dubbo的配置加載

dubbo的配置 在之前的文章中配置了spring boot和dubbo框架的使用(傳送門:springboot使用dubbo框架),看到了把dubbo相關的配置配置在了配置文件中。這裏官方文檔中也去講解了對應的dubbo配置的加載。

原创 dubbo基礎(三)——springboot使用dubbo框架

dubbo集成spring boot spring boot肯定是現在用的做多的開發框架,而dubbo框架是最流行的rpc框架之一,整合springboot和dubbo的使用很有必要。本篇博客還是根據上一篇中的dubbo簡單demo的