原创 Netty學習前傳

差不多有一個多月沒有更新了,因爲這段時間在做一件事情:學習netty,當然並沒有學完現在相當於是一個學習前的一個前序。我覺得是學習netty之前必須要先了解的底層知識點。一下就是我的一些學習記錄。後續還會繼續更新。 記錄 jdk動態代理爲

原创 記錄:PDF關鍵字尋找

關於獲取PDF中關鍵字位置可以直接用的demo package com.sign; import java.io.ByteArrayOutputStream; import java.io.IOException; import java

原创 leetCode-八皇后問題

爲了使腦袋不生鏽,偶爾還是需要給腦子運動一下。今天找了一個leetCode上的一個算法來運動一下。 題目是這樣的: 在 8 X 8 的網格中,放入八個皇后(棋子),滿足的條件是,任意兩個皇后(棋子)都不能處於同一行、同一列或同一斜線上,問有

原创 spring被忽略的精華-自定義註解

從事java開發也有小几年的時間了,中間有一段時間由於公司的需要沒有使用,直到最近項目的重構又用起來了。相信基本上java開發的同學都在不同程度上使用過spring,現在基本上面試也是一個必問的點。但是我通過這段時間和公司同事之間的配合開發

原创 項目體會

其實想寫這篇文章很久了,其目的不是別的,算是對自己過往的一個總結以及對未來的展望。當然其中有好有壞,有辛酸汗水,有喜悅與成就。 記得剛來公司的時候,沒想到是接手某碩 公司的代碼,這裏就不明說是哪家外包公司了。知道的自然懂。剛接手完全是懵的,

原创 AOP處理異常

隨着業務的增長,我們不得不面臨一個問題:進行業務的拆分。隨之而來的就是微服務的誕生。微服務解決了我們以前難以解決的痛點。以及增加了我們編碼的難度,我們不在需要關心以前的各種各樣的業務代碼之間的耦合,可以專心開發自己的業務代碼。但是微服務也並

原创 Guava函數式編程

函數式編程 截至JDK7,Java中也只能通過笨拙冗長的匿名類來達到近似函數式編程的效果。預計JDK8中會有所改變,但Guava現在就想給JDK5以上用戶提供這類支持。 過度使用Guava函數式編程會導致冗長、混亂、可讀性差而且低效的代碼。

原创 基本工具(guava)

1.1-使用和避免null 輕率地使用null可能會導致很多令人驚愕的問題。通過學習Google底層代碼庫,我們發現95%的集合類不接受null值作爲元素。我們認爲, 相比默默地接受null,使用快速失敗操作拒絕null值對開發者更有幫助。

原创 Guava緩存[Caches]

緩存 範例 LoadingCache<Key, Graph> graphs = CacheBuilder.newBuilder() .maximumSize(1000) .expireAfterWrite(10, Tim

原创 Guava集合[Collections]

2.1-不可變集合 範例 public static final ImmutableSet<String> COLOR_NAMES = ImmutableSet.of( "red", "orange", "yel