原创 Spark2.3.3源碼解析——RPC框架初始化詳解

      作爲分佈式系統的spark rpc通信是一個很重要的課題。在spark2.3.3版本中rpc框架已經由akka替換成netty實現。接下來我們先介紹一下spark rpc中的組件,然後根據sparkcontext初始化過程來分

原创 java類型信息之RTTI

      之前看java編程思想第十四章類型信息,直接跳過了對RTTI概念的理解,只看了class、instanceof等的用法,發現這樣的做法是不可取的,因爲這樣就只是會用這些提供的類而忽略了真正的原理。        RTTI假定我

原创 記錄一次排查問題遇到apache.commons.beanutils包的坑

引言          在開發過程中,難免需要用到對象轉換器,比如apache的BeanUtils、ConvertUtils還有spring的BeanUtils。我們在公司的項目中就使用了apache的BeanUtils和ConvertU

原创 synchronized 關鍵字

synchronized作用範圍和作用對象        synchronized關鍵字是java用來支持原子性操作的,synchronized可以作用於方法、語句塊、靜態方法上。synchronized針對不同形式作用對象也不同--對象

原创 Spark2.3.3源碼解析——SparkRPC過程分析

      作爲分佈式系統的spark rpc通信是一個很重要的課題。在spark2.3.3版本中rpc框架已經由akka替換成netty實現。接下來我們先介紹一下spark rpc中的組件,然後根據sparkcontext初始化過程來分

原创 Himly框架源碼解析

Hmily框架知識點: 1.基礎配置@Hmily註解 @Hmily(confirmMethod = "", cancelMethod = "")   在所有需要配置分佈式事務的方法上加上此註解,主要配置confirm方法和cancel方法

原创 Java內存區域與內存溢出異常

    Java虛擬機在執行Java程序的過程中會把他所管理的內存劃分爲若干個不同的數據區域。瞭解這些區域可以爲接下來的學習打好基礎。一、運行時數據區域1.程序計數器程序計數器(Program Counter Register)是一塊較小

原创 類型信息解讀

      之前看java編程思想第十四章類型信息,直接跳過了對RTTI概念的理解,只看了class、instanceof等的用法,發現這樣的做法是不可取的,因爲這樣就只是會用這些提供的類而忽略了真正的原理。       RTTI假定我們

原创 泛型解讀

      看了java編程思想的泛型,我發現泛型是java後生的一個功能,所以他在加入的時候必須要兼容老代碼,適應新代碼。“泛型”這個術語的意思是:“適用於許多許多的類型”,讓類或者方法具備最廣泛的表達能力。Object與泛型比較   

原创 枚舉類型

基礎enum特性    enum是區別於類的一個類型,他們兩者有相似之處,實際上在創建enum的時候編譯器會爲你生成一個相關的類,這個類繼承自java.lang.Enum,裏面的枚舉元素都是一個枚舉類的static final實例,所以裏

原创 動態代理擴展

在講動態代理之前,先來介紹下靜態代理。   靜態代理的思想比較簡單,通過實現相同的接口,代理需要代理的類。話不多說直接上例子public class RuntimeClass implements RuntimeClassInterfac

原创 內部類解讀

       內部類對於新手來說就像是個謎團,極少接觸到,也極少用到,更加不知道在什麼場景下使用內部類。內部類就是將一個類(內部類)的定義放入另一個類(外圍類)的定義內部。內部類更多的是輔助外圍類,可以理解爲外圍類需要一個獨立的類來幫助他