原创 Spring在bean的創建過程中9次執行後置處理器BeanPostProcessor

從AbstractAutowireCapableBeanFactory 的createbean方法開始   其中的createBean方法是單例對象從BeanDefinition到bean實例的實際方法   beanPostProces

原创 Spring中如何得到編譯後的形參名的 LocalVariableTableParameterNameDiscoverer

衆所周知,在 jdk 8 以前java源碼編譯後通過反射是無法獲得形參名的,在Java 8及之後,編譯的時候可以通過-parameters 爲反射生成元信息,可以獲取到方法的參數名,但這個行爲默認是關閉的,  我們平常用Spring的時候

原创 spring-boot定製和優化內嵌的Tomcat

原文  https://www.jianshu.com/p/4ee2628b1cb5   

原创 Spring Boot 參數校驗

文章寫的很詳細,很通俗 詳見原文  https://www.cnblogs.com/cjsblog/p/8946768.html

原创 IDEA去除自動檢測bean是否存在

Springboot張合mybatis時,各種*mapper是在啓動運行時,掃描生成爲bean給容器管理,所以在編譯期是沒有相應的bean的,於是在編譯期 使用@Autowired  自動注入時 ,idea會檢測報錯,到處都是紅的,強迫症

原创 算法學習(1)八大排序

均爲從小到大排序   1.冒泡排序 冒泡排序(Bubble Sorting)的基本思想是:通過對待排序序列從前向後(從下標較小的元素開始),依次比較相鄰元素的值,若發現逆序則交換,使值較大的元素逐漸從前移向後部,就象水底下的氣泡一樣逐漸向

原创 Minor GC Full GC 觸發條件

Minor GC ,Full GC 觸發條件 Minor GC觸發條件:當Eden區滿時,觸發Minor GC。 Full GC觸發條件: (1)調用System.gc時,系統建議執行Full GC,但是不必然執行 (2)老年代空間不足

原创 maven安裝jar包到本地倉庫

有時候你需要向Maven工程裏導入一些老舊的且在你配置的鏡像庫上找不到的jar包,或者項目經理拋給你一個框架jar包讓你導入到本地庫中方便大家使用。 首先把需要的jar包下下來,此處給一個阿里雲的搜索網站,http://maven.ali

原创 看完jdk動態代理源碼,根據流程自己動手實現

前天看jdk動態代理,總覺得有點不爽很多代碼,沒看到,於是去看了代碼,根據我的理解寫了自己的一套動態代理實現,還可以 代理類 ZwProxy實現流程如下  1.使用反射,生成代理類的源文件 2.將源文件寫入磁盤相應的文件夾中,生在.jav

原创 java深度克隆和淺度克隆

java進行對象複製當然客以new 一個新的對象然後把原來對象的屬性值挨個複製到新的對象中去,可萬一屬性三四十個呢,不是很麻煩,於是便有了Java的Clone方法 Java對象要想具有Clone方法,首先要實現Cloneable接口,重寫

原创 jvm學習(2)——常用jvm參數

主要是三種參數        Trace跟蹤參數        堆的分配參數        棧的分配參數 1.Trace跟蹤參數 -XX:+PrintGCDetails            打印GC詳細信息 -XX:+PrintGCDa

原创 springmvc @ResponseBody返回json 報406 not acceptable

主要有三種可能 1,導包問題, 導這三個包 jackson-annotations-2.4.4.jar、jackson-core-2.4.4.jar、jackson-databind-2.4.4.jar。 spring 4.x以上的最好導

原创 jvm學習(1)——內存模型

jvm 基本結構   1,PC寄存器 每個線程擁有一個PC寄存器 在線程創建時 創建 指向下一條指令的地址 執行本地方法時,PC的值爲undefined   2.方法區 保存裝載的類信息      •類型的常量池      •字段,方法

原创 反射知識小結及動態代理

1.獲得類對象的三種方法 Class clazz=Class.forName(全類名); Class clazz=Person.class; Class clazz=person.getClass(); 2.通過類對象獲得實列 clazz