原创 線程池ThreadPoolExecutor實際使用和介紹

今天小G,在開發一個項目的時候,導入excel,20萬數據到數據庫,該數據爲業務數據 ,無法讓DBA進行導入,然後小G就想,那就線程走起; 說起線程就想起線程池,大家也知道,線程池可以防止 1、創建同類的線程導致消耗完內存 2、創

原创 github如何恢復刪除的項目

  最近小G做一個很不爽的事情,本來想在github上新建一個項目,把之前舊的項目刪除掉,真是太巧了,說出來我都感覺真是緣分,就是在刪除的時候,電腦壞掉了,結果想上傳的東西沒有,舊的也讓我刪除,不過幸虧github強大,有一個回收

原创 java代碼加載的順序

今天小G,寫下java class加載順序圖,具體如下畫的圖,簡單好記比較

原创 idea 裏面基礎插件

小G更換使用intellj idea 後,安裝一些plugins 插件有助於開發,在此記錄下,後續換電腦什麼可以安裝下,不用在去網上查詢, 安裝步驟爲: file —>setting—>plugins 然後輸入下面的plugins

原创 使用hsdis 報錯: Could not load hsdis-i386.dll

今天小G在看hotspot,然後下在hsdis發現報錯,網上看查好多資料,最後可以運行出來,最後總結下,如下 寫一個main類,然後在idea裏面jvm填寫: -server -Xcomp -XX:+UnlockDiagnosti

原创 BitSet源碼的解讀

  小G今天看下布隆過濾器(有誤差),主要判斷集合是否存在,其實布隆裏面有一個知識點,就是BitSet 我今天先說明下bitSet後續有時間我在寫下布隆過濾器 首先看下java.util.BitSet set方法 public

原创 JAVA 對象規範 POJO,對視圖到service等對象命名規範(POJO、DTO、VO、DAO)

今天小G,總結下關於項目中層直接對象命名的規範說明,共同一塊學習,如下 1、PO:持久對象 (persistent object) 2、VO:值對象(Value Object),通常用於業務層之間的數據傳遞,和PO一樣也是僅僅包含

原创 spring 事務類中方法循環調用

上年解決一個本類調用本類的方法,導致事務失效,今天小G想到這個問題,然後看下以前的代碼,然後寫下,記錄下,事務失效其實除特殊情況下,比如方法需要save,update,還有運行異常上拋出等限制外,其實還有一個大家都不注意,就是如果

原创 Java基礎16常用工具了,新手和老手可以複習看看,哈

小G今天看到一篇基礎文章,感覺不錯就轉過來,以後可以記住下,感覺好多東西,開發後,有點忘記了,哈哈 轉的文章爲alterem用戶內容,如果涉權,請及時聯繫作者,謝謝 作者:alterem juejin.im/post/5d4a25

原创 kafka無法消費文件查詢

小G今天做項目的時候,遇到測試環境無法消費消息問題,具體查詢如下: 名詞:group.id :消費組,項目目前都是多集羣搭建,防止多臺機子消費導致數據錯誤,冪等 環境kafka環境介紹, kafka +zookeeper,zook

原创 StringBuffer和StringBuilder是否線程安全

今天小G有一個面試題,面試題內容爲:StringBuffer和StringBuilder是否線程安全? 所以在此寫一個博客說明下,二話不說,直接上代碼,程序員必備(小G:答案是stringBuffer是線程安全) StringBu

原创 動態獲取規則加載

通過模塊 kieServices.newKieBuilder進行獲取,過幾天補全。

原创 drools源碼解析 如何獲取jar包和項目中pom文件

通過項目獲取drools中jar包 public class RuleExecutor { private static final Logger LOGGER = LoggerFactory.getLogger(RuleEx

原创 excel百萬數據處理,內存溢出問題,Java常見溢出問題解決

小G最近搞一個導出excel項目,但是數據量比較多導出來tomcat內存狂飆,開始使用xssf內存狂升,後來使用sax還好點,但是 行數到5萬左右,就2G, 第一步驟定位:liunx上面使用jmap -histo |head -30

原创 動態加載類出現問題 ToolProvider.getSystemJavaCompiler() Return NULL和動態加載pack

小G今天使用Java動態加載出現問題總結如下,見笑 問題1: 在spring boot 項目中新增一個動態加載class類使用的是tool.jar ,在eclipse上運行正常,部署到線上,就報錯調用getSystemJavaComp