原创 java的@PostConstruct

javax.annotation  註釋類型 PostConstruct @Documented @Retention(value=RUNTIME) @Target(value=METHOD) public @interface Pos

原创 mybatis的sql攔截器應用

mybatis的sql攔截器應用 前言 在項目上線前的開發及調試中,都需要清楚的知道每條sql的用時來避免在生產環境出現慢查詢,甚至對於業務邏輯較複雜的應用,還需防止大對象的產生(比如千萬級別的集合),此時我們完全可以使用mybatis的

原创 springboot打包成war發佈的坑

大家先來看下面兩張圖,一樣的接口,查詢時間波動很大:       這個問題糾纏很久了,之前我做btr-open-web開放平臺的時候就有遇到,後面想去查一下,但是後面開放平臺沒人用,就沒動力去處理了。接着b

原创 CGLIB註解丟失原因淺析及解決辦法

CGLIB動態代理後註解無法獲取 今天在開發中,使用了Srping的cglib,偶爾發現若開啓CGLIB代理 spring.aop.proxy-target-class=true注入接口後無法獲取其實現類上註解@service。

原创 常量應該封裝到常量類,常量接口,還是枚舉類中?

前言 之前項目中響應前臺的接口中會用到一些公共常量。這個時候就比較糾結,常量到底是封裝到哪裏比較好呢,因爲以前寫的很多代碼不怎麼規範,而且有時候常量用到的不算太多太集中,所以就哪裏用到哪個類上去聲明一個出來,這樣雖然很方便,但是統一維護起

原创 zookeeper篇:源碼導入idea

如何將zookeeper源碼導入到Idea 1.下載並安裝Ant Ant官網: http://ant.apach.org 安裝配置Ant 在命令行窗口的任意目錄下執行Ant –version命令,可以看到版本號,則說明Ant安

原创 記錄:創建idea插件Demo(簡單的流程)

原文鏈接:https://www.jianshu.com/p/722841c6d0a9 一、概述 相信大家在使用Android Studio的時候,或多或少的會使用一些插件,適當的配合插件可以幫

原创 springboot接入自定義AuthorizingRealm無法注入問題(null)

發生的原因是:自定義AuthorizingRealm上加上了@service等註解,不應該加,否則會出現“注入失敗”(其實是被覆蓋了)但能正常啓動項目的問題,具體案例往下看。   springboot配置shiro文件:shiroConf

原创 下載jdk舊版本

http://www.oracle.com/technetwork/java/javase/archive-139210.html。 進入鏈接,選擇所要下載的jdk版本。

原创 idea 的項目管理, 生成iml

因爲不明原因 導致,idea 會自動生成xxx.iml和xxx(1).iml,以後 導致發包時編譯失敗 解決方法: 打開maven管理,點擊ignoreProjects後,子項目會被忽略,iml文件會被刪除(兩個都被刪除了),再點unIg

原创 jvm類加載之雙親委派模型

雙親委派模型類加載是具有層次結構的,也就是父子關係,這種父子關係不是繼承,而是通過組合來複用類加載的代碼。Bootstrap 是所有類加載器的父親。雙親委派模型的工作過程:每個類都有緩存,先判斷自己的緩存有沒有加載的此類,如果沒有然後委託

原创 共享鎖和悲觀鎖,與產生死鎖的聯繫

共享鎖(S):允許一個事務去讀一行,阻止其他事務獲得相同數據集的排他鎖。一個用戶①進行查詢並加了lock in share mode,另一個用戶②也可以進行查詢並添加lock in share mode,但當用戶①進行增改刪操作時,需要獲

原创 ArrayList擴容過程

如果通過無參構造的話,初始數組容量爲0,當真正對數組進行添加時,才真正分配容量。每次按照1.5倍(位運算)的比率通過copeOf的方式擴容。 在JKD1.6中實現是,如果通過無參構造的話,初始數組容量爲10,每次通過copeOf的方式擴容

原创 JVMGC的過程

JVM GC只回收堆區和方法區堆有存放對象的兩大區域,新生代和老年代,新生代又分成三個區域,一個Eden和兩個Survivor區,默認空間比例是8:1:1。新實例的對象首先存放在Eden區,當Eden空間不足,則進行一個minorGC,將

原创 JVM類加載的過程細節

類加載的過程:加載、驗證、準備、解析、初始化、使用、卸載1、加載類加載器根據類全限定名獲取二進制字節流,把二進制字節流加載到內存中,然後將這個字節流所代表的靜態存儲結構轉化爲方法區的運行時數據結構,在堆中生成相應的java.lang.Cl