原创 java.util.Date 和 java.sql.Date 傻傻分不清楚

一直沒有搞清java.util.Date 和 java.sql.Date 的區別,總結一下 java.util.Date 和 java.sql.Date的關係 java.sql.Date是繼承java.util.Date的類,看看其在jd

原创 GRPC學習之路(1)——初次上手

由於新工作中要使用grpc框架,之前也接觸過一些,但是沒有靜下心來學它,加之網上對於這個方面的資料確實比較少,而且沒有書,所以記錄下來加深一下印象。我主要參考的資料如下,當然也可以參考中文版的,但是感覺英文的還是更原汁原味吧。grpc的官

原创 在spring boot應用監控線程池的狀態

今天在公衆號中看到了一篇教你如何監控 Java 線程池運行狀態 ,才記起來我之前也做過一樣的事情,但是沒有記錄下來,今天有空記下來。我會首先介紹一下監控的背景,監控方式,實例代碼及效果3個部分介紹。背景廢話不多說,做這個監控的背景很簡單,

原创 我與commons-lang3系列——RandomUtils

編程過程中經常會有產生隨機數的需求,java.util.Random是我經常使用的,舉例如下: // 固定seed Random t = new Random(100); for (int i = 0; i < 5; i++) {

原创 ArrayList源碼解析&ConcurrentModificationException

最近在寫一個sdk的時候,沒有考慮到多線程環境下,忽略了對同一個list存在同時進行排序的case,造成線上會出現ConcurrentModificationException的錯誤,因此抽個時間看了一下ArrayList的源碼,總結了幾

原创 【轉載】那個年薪五十萬的程序員連優衣庫都買不起了

轉載自:http://blog.sina.com.cn/s/blog_be066ad70102y715.html對於工資不到北京平均工資的小編來說,年薪五十萬,簡直就是天文數字好嘛。但就是這麼一個收入較高的程序員,在早9晚10甚至更晚的工

原创 跨域問題學習記錄 -- 初識跨域

最近工作中遇到了跨域問題,其實這個名詞我一直都能聽別人提起,但是確實沒有仔細研究過,因此我會通過幾篇系列文章,記錄下我學習的過程。今天的這篇文章主要從以下2個方面來介紹:爲什麼會有跨域?單機上重現跨域問題爲什麼會有跨域跨域是指a頁面想獲取

原创 記錄一次詭異的數據庫查詢慢的調查過程

最近的一次上線突然發現系統的某些數據庫查詢偶爾會超過300ms, 正常的情況都只有100ms,我花了一段時間開始調查原因,這篇文章記錄了整個過程。項目背景項目提供了一個支持水平擴展的功能,擴展主要是基於擴展多數據庫來分散壓力,我就是在這個

原创 GRPC學習之路(4)——protobuf編碼過程解析

上一篇文章通過一個例子大致瞭解了protobuf的作用,我曾經打開那個存儲對象編碼後的文件,裏面像是有一團亂碼:這篇文章主要研究protobuf是如何編碼的,同時你也能感受到protobuf爲什麼更快更省帶寬。Base 128 Varin

原创 從零使用Maven搭建SpringMVC工程-IDEA開發工具

前段時間的工作中一直使用spring boot開發,spring boot本身確實開發很快,自動配置確實幫我們省去了不少的麻煩,但是這也是一把雙刃劍,如果你不是從spring mvc轉過來的,很多的細節就無從瞭解,真正出問題的時候也會無從

原创 HashMap的get方法傳入不一致類型的key?

今天同事向我抱怨了一個他最近使用hashmap時遇到的一個詭異問題,他的代碼邏輯大概如下:Map<Long, String> map = new HashMap<>(); map.put(70l, "dd"); System.out.pr

原创 微服務之分佈式跟蹤系統(springboot+pinpoint)

這篇文章介紹一下在微服務(springboot開發)的項目中使用pintpoint監控的過程及效果展示。背景隨着項目微服務的進行,微服務數量逐漸增加,服務間的調用也越來越複雜,我們急切需要一個APM工具幫我們監控各個服務的性能及對服務間的

原创 帶權重值的隨機選擇算法

一個新的功能上線都會走灰度的過程,萬一新功能有問題,則會導致線上的大量的報錯,甚至不可用的嚴重情況。比如我們現在本來接入了2個短信渠道去發送短信,現在接入好了第三個渠道,如果我們直接把代碼上了,那麼萬一這個第三個渠道的代碼寫的有問題,那麼

原创 SpringMvc 參數綁定自定義對象

springmvc我們經常在寫controller一般都接受兩種方式,一種是form提交,一種是json提交,下面就來介紹如何在這兩種方式中將提交的數據自動綁定到自定義對象中。json提交這個比較簡單,在網上搜一下一大把,這裏就簡單放一段

原创 GRPC學習之路(3)——protobuf的作用

上一篇文章介紹的是nginx做爲負載均衡與後端grpc的集成,沒有繼續深入下去,因爲這個需要線上真正實踐纔會有更多的感悟,之後入職後有體會的話再繼續寫吧。剛好我也比較好奇protobuf到底和grpc是個什麼關係,protobuf在整個r