原创 深入瞭解spring IoC

IoC全稱Inversion of Control即控制反轉,它還有一個別名依賴注入。spring利用Ioc容器幫我們自動構建對象及注入依賴對象,減少了對象構建與業務代碼的耦合,使得我們能夠更加高效愉快的寫bug🐞了( ̄▽ ̄)"。

原创 帶你完全理解Spring AOP

AOP概述 在我們的日常開發中,除了正常業務邏輯外,還可能經常會需要在業務邏輯的特定位置加入日誌,以便於調試和問題分析。但是這種插入日誌的邏輯和業務邏輯間並不存在連續性和依賴性,這種邏輯侵入隨着項目的不斷髮展,會導致項目越來越來

原创 java類加載順序及對象實例化順序

在java中類的加載、連初始化都是在程序運行期完成的,雖然會稍微增加開銷,但是卻很大的增加了靈活性,我們可用在運行期間動態的去網絡獲取其他地方加載一個二進制流來作爲程序代碼的一部分。接下來我們簡單介紹下java類的加載順序。 從

原创 靜態代碼塊

private static final HashMap<String, String> MAP = new HashMap<String, String>(); static { MAP.put("banana", "

原创 Why does my Java process consume more memory than Xmx?

ome of you have been there. You have added -Xmx option to your startup scripts and sat back relaxed knowing that th

原创 java transient關鍵字

transient是用在序列化中的。當我們序列化的過程中,如果我們不想序列化某個字段,那麼我們就可以使用這個關鍵字,jvm就會在序列化的時候自動忽略這個字段的數值。 transient主要有兩個用途: 1.保證數據的安全。在進行序

原创 JVM對象佔用內存計算

大家都知道,jvm中對象實例存儲在堆中,對象的引用存儲在棧中,而對象的元數據(類型數據)存儲在方法區。在我們進行內存優化的過程中經常需要了解每個對象佔用的內存大小。接下來我將介紹對象佔用內存大小的計算方式。 Java的對象模型

原创 紅黑樹和B+樹

(一)紅黑樹 紅黑樹是一種自平衡二叉查找樹,也被稱爲"對稱二叉B樹",它可以在O(logn)時間內利用 O(logn)的空間來完成查找、插入、刪除操作。紅黑樹的讀操作與普通二叉查找樹相同,而插入和刪除操作可能會破壞紅黑樹的規則,需

原创 Thread.yield()和Thread.sleep(0)

關於Thread.yield()和Thread.sleep(0)的語義問題真是一個讓人撓頭的問題,翻了好多資料,在java6語言規範中看到了一段這樣的描述: 重點在紅框中,簡而言之就是:sleep(0)和yield()的實現不需

原创 JVM之壓縮指針---Compressed oops

1、32位 vs. 64位 32位與64位的對比是在2000年以後興起的。然而64位CPU早就在超級計算機領域中得到應用了,只是最近幾年64位CPU纔在PC上成爲主流配置。從32位到64位的轉變,絕對不是一件簡單的工作,因

原创 深入理解HashMap

(1)初始化容量、負載因子和閾值 HashMap默認的初始容量是16,默認的負載因子爲 0.75。我們在開發中經常會通過使用帶參構造new HashMap(int initialCapacity)來構造一個Map,雖然我們可以通過

原创 java Exception

(1)異常類繼承結構 我們先來看下java異常類的體系結構: Java將java.lang.Throwable作爲所有異常的超類。Throwable有兩個重要的子類:Exception(異常)和 Error(錯誤)。 Error

原创 mysql中count(*)和count(1)和count(column)區別

在日常的mysql使用中,我們經常會看到SELECT COUNT(*)、SELECT COUNT(1)等查詢語句,他們到底有什麼區別呢?今天我就來總結下。 我們先從函數的含義說起: count(*) 統計滿足查詢條件的結果集的

原创 java線程實現及線程池的使用

Java線程實現 線程把處理器的調度和資源分配分開,是cpu的最小調度單位。多個線程可以共享進程的內存資源,又可以獨立調度。java線程關鍵方法都是通過高效的本地方法實現的。Java線程的主要實現方式有三種:內核實現、用戶實現、內

原创 Spring事務詳解

(一)事務的隔離級別 大家都知道事務有四個屬性,即ACID(原子性、一致性、隔離性、持久性)。這四個裏面稍微難理解點的是一致性和持久性。所謂的一致性是指:事務執行前後數據的一致性狀態,例如事務執行前用戶有1萬元,事務回滾後用戶仍