原创 JAVA即時編譯--深入理解JAVA虛擬機讀書筆記

解釋器: 每次讀取一代碼,將代碼轉換成對應JVM執行的指令,然後調用JVM指令執行。 即時編譯:將源代碼直接生成符合本地物理機可識別的機器語言。 解釋器對同樣的代碼每次都要重新翻譯成JVM指令,效率低下。即時編譯器的好處在於可以對代

原创 JAVA類加載機制

參考:https://www.jianshu.com/p/ace2aa692f96

原创 JAVA垃圾收集器--深入理解JAVA虛擬機讀書筆記

文章目錄一、JAVA垃圾收集(GC)哪些內存需要回收1. 引用計數法2. 可達性分析算法3. Java引用4. 對象finalize()方法什麼時候回收Java安全點如何回收1. 標記-清除算法2. 複製算法3. 標記整理算法4. 分

原创 JAVA內存區域與對象的內存佈局--深入理解JAVA虛擬機讀書筆記

文章目錄一、JAVA內存區域及內存溢出異常1. 程序計數器--線程私有2. Java虛擬機棧--線程私有3. 本地方法棧--線程私有4. Java堆--線程共享5. 方法區--線程共享6. 運行時常量池--線程共享7. 直接內存--線

原创 IDEA 調試自定義AbstractProcessor

IDEA 調試自定義AbstractProcessor 本人需要自定義Processor代碼編譯插件,在開發過程中API不熟悉,需要多次Debugger調試。搜索了很久才找到怎麼對自定義Processor進行調試。 參考地址:htt

原创 Maven多模塊及version修改

Maven多模塊及version修改 對於使用maven構建的java項目,通常聚合多個子模塊項目。在版本迭代的過程中經常變更版本號,更新parent版本號,發現子模塊版本號沒有更新,需要一個個的手動去更新,太麻煩,且容易出錯。 在

原创 Mybatis配置文件解析過程詳解

記錄是一種精神,是加深理解最好的方式之一。 最近看了下Mybatis的源碼,瞭解了下Mybatis對配置文件的解析過程,在這裏把他記下來。雖然這不復雜,對這方面的博客也有很多,寫的也很好。但我堅信看懂了是其一,能夠教別人或者描述清楚記下

原创 java註解處理器

java註解處理器 轉載https://race604.com/annotation-processing/ Java中的註解(Annotation)是一個很神奇的東西,特別現在有很多Android庫都是使用註解的方式來實現的。一直想

原创 Mybatis二級緩存原理

記錄是一種精神,是加深理解最好的方式之一。 最近看了下Mybatis的源碼,分析了二級緩存的實現方式,在這裏把他記下來。雖然這不復雜,對這方面的博客也有很多,寫的也很好。但我堅信看懂了是其一,能夠教別人或者描述清楚記下來才能真正的掌握。

原创 Spring Resource接口說明

Spring Resource接口說明 在Spring中Resource接口有着相當廣泛的使用。Spring在加載配置文件時候,都是基於Resource接口加載的。此接口抽象程度比較高,是Spring的輔助重要接口之一。 我們先看下Spr

原创 Spring Bean生命週期理解

Spring Bean生命週期理解 Spring Bean生命週期理解 BeanFactory接口是Spring的首要核心接口,要學習Spring必須對此接口深度理解。在閱讀此接口源碼的時候,剛好發現了接口文檔對應的就是Sprin

原创 Mybatis插件原理

記錄是一種精神,是加深理解最好的方式之一。 最近看了下Mybatis的源碼,分析了Mybatis插件的實現方式,在這裏把他記下來。 曹金桂 [email protected] (如有欠缺還請指教) 時間:2016年10月23日

原创 Mybatis一級緩存原理

記錄是一種精神,是加深理解最好的方式之一。 最近看了下Mybatis的源碼,瞭解Mybatis一級緩存的實現方式,在這裏把他記下來 曹金桂 [email protected](如有遺漏之處還請指教) 時間:2016年10月6日

原创 JAVA學習筆記--線程狀態及對象鎖

JAVA學習筆記–線程狀態及對象鎖 https://my.oschina.net/goldenshaw/blog?catalog=3277710&temp=1499785479453 JAVA學習筆記線程狀態及對象鎖 一線程狀態

原创 JAVA學習筆記--垃圾收集器

JAVA學習筆記–垃圾收集器 一、概述 參考:http://blog.csdn.net/ffm83/article/details/42873001 參數 描述 新生代GC方式 老年代和持久代GC方式 -XX:+UseS