原创 Spring--Environment類

一、Environment   用來表示整個應用運行時的環境,爲了更形象地理解Environment,你可以把Spring應用的運行時簡單地想象成兩個部分:一個是Spring應用本身,一個是Spring應用所處的環境。   Environ

原创 BeanFactory預處理:BeanFactoryPostProcessor源碼執行分析

和BeanPostProcessor原理一致,Spring提供了對BeanFactory進行操作的處理器BeanFactoryProcessor,簡單來說就是獲取容器BeanFactory,這樣就可以在真正初始化bean之前對bean做一

原创 ApplicationContext.getBean源碼解析

spring中有兩種類型的Bean:一種是普通的JavaBean;另一種就是工廠Bean(FactoryBean),這兩種Bean都受Spring的IoC容器管理,但它們之間卻有一些區別。   普通的JavaBean不再多說,我們將其定義

原创 Bean預處理:BeanPostProcessor的使用和源碼解析

作用 BeanPostProcessor接口的作用是在Spring容器完成Bean實例化前後可以添加一些自己的邏輯處理,我們可以定義一個或者多個BeanPostProcessor接口的實現。 BeanPostProcessor接口提供了兩

原创 Spiring初始化BeanFactory源碼解讀

在初始化Spring的時候會調用org.springframework.context.support.AbstractApplicationContext#refresh方法,其中 ConfigurableListableBeanFa

原创 SPI 技術:JDBC加載不同數據庫廠商的驅動

SPI 技術 SPI全稱Service Provider Interface,是Java提供的一套用來被第三方實現或者擴展的API,它可以用來啓用框架擴展和替換組件。 Java SPI 實際上是“基於接口的編程+策略模式+配置文件”組合實

原创 Mysql索引優化注意事項&&索引容易失效的幾個注意點

  建索引注意事項   1、單值索引,儘量選擇過濾性更好的字段,例如:性別字段,過濾度爲50%,識別率很差,不建議建索引 2、組合索引,索引字段的順序可以按照識別度進行排序,識別度越高,放在越靠前 3、組合索引,儘量包含where語句中的

原创 abandon connection, owner thread: DubboServerHandler錯誤原因

今天線上出現問題,查日誌,發下了以下報錯日誌信息: abandon connection, owner thread: DubboServerHandler-10.66.177.126:22913-thread-199, connecte

原创 ThreadPoolExecutor的的核心線程回收設置allowCoreThreadTimeOut

如果你對ThreadPoolExecutor的執行還不瞭解,可以參考有界、無界隊列對ThreadPoolExcutor執行的影響這篇文章。 在ThreadPoolExecutor類中有個allowCoreThreadTimeOut(boo

原创 @resource與@autowired

1、不同點 @Autowired爲Spring提供的註解,需要導入包org.springframework.beans.factory.annotation.Autowired;只按照byType注入。 @Autowired默認按類型裝配

原创 記一次線上系統莫名被kill

正在工作,突然收到警報,線上系統服務掛了 進入應用系統日誌發現服務的進程被kill掉了 查看應用的系統日誌,也沒有發現OOM等的異常的日誌信息。 於是到linux的系統日誌/var/log/messages去查看 找到了原因。 OOM

原创 幾種GC專用名詞解釋

Full GC:年輕代和老年代一塊回收 YGC:年輕代GC Minor GC:年輕代GC Major GC:老年代GC

原创 java命令編譯java類、查看class文件內容

比如該java類: public class SynchronizedDemo { public void method() { synchronized (this) { System.

原创 less命令爲什麼會佔用很大的內存

某天,線上系統突然掛了,後來查到是因爲當時linux的內存使用突然飆升,導致操作系統oom killer執行,將服務給kill掉了。 在阿里雲後臺查看當時的內存佔用,除了幾個服務的佔用外,less竟然佔用了18%,而此時,正好有同事在線上