原创 Java中的各種區別

文章目錄十 heap和stack有什麼區別1.定義十五 JAVA鎖有哪些種類,以及區別公平鎖/非公平鎖可重入鎖獨享鎖/共享鎖互斥鎖/讀寫鎖樂觀鎖/悲觀鎖分段鎖偏向鎖/輕量級鎖/重量級鎖十六 編譯與解釋十七 synchronized

原创 Java中的一些爲什麼

爲什麼接口可以多繼承 非接口的單繼承 多繼承雖然能使子類同時擁有多個父類的特徵,但是其缺點也是很顯著的,主要有兩方面: 如果在一個子類繼承的多個父類中擁有相同名字的實例變量,子類在引用該變量時將產生歧義,無法判斷應該使用哪個父

原创 MYSQL索引的底層實現原理

1 索引的本質 索引(Index)是幫助MySQL高效獲取數據的數據結構,爲什麼需要需要特定的數據結構呢?首先,順序查找這種複雜度爲O(n)的算法在數據量很大時顯然是糟糕的,更優秀的查找算法,比如二分查找(binary searc

原创 CAS和MESI和VOALTILE

CAS比較並交換(Compare and Swap) 1 基本原理 有3個操作數,內存值V,舊的預期值A,要修改的新值B。當且僅當預期值A和內存值V相同時,將內存值V修改爲B,否則什麼都不做。 CAS是一種典型的樂觀鎖, 假設不會

原创 MYSQL的鎖機制

1 有哪些鎖 mysql 中的鎖可以按照多個維度進行分類 1.1 按照工作原理分 其實就是讀寫鎖加上意向鎖 1.1.1 共享鎖(S 鎖 ) 持有同一個共享鎖的多個進程可以同時進入保護空間,這就是共享鎖命名的來源,持有通常在讀取數據

原创 引的底層實現原理

1 索引的本質 索引(Index)是幫助MySQL高效獲取數據的數據結構,爲什麼需要需要特定的數據結構呢?首先,順序查找這種複雜度爲O(n)的算法在數據量很大時顯然是糟糕的,更優秀的查找算法,比如二分查找(binary searc

原创 數據庫事務

1 前言 關於事務,說簡單點就是一串原子操作,說複雜又牽扯出好多疑問:爲啥需要事務;ACID是幹啥的,是怎麼保證的;隔離級別和併發問題是什麼關係,底層是怎麼實現…帶着這些問題,讓我們開始學習事務吧 2 爲什麼要有事務 現實中存在很

原创 Lock和Synchronized

1 鎖的分類 可重入鎖 Synchronized和ReentrantLook都是可重入鎖,鎖的可重入性標明瞭鎖是針對線程分配方式而不是針對方法。例如調用Synchronized方法A中可以調用Synchronized方法B,而不需

原创 Java垃圾收集器

Java垃圾收集器分爲年輕代收集器(Serial、ParNew、Parallel、Scavenge),老年代垃圾收集器(Serial Old、Parallel Old、CMS收集器),還有比較特殊的G1。 1 Serial 最基本

原创 HashMap

1 基本特性 儲存的是鍵值對,可以接受null鍵值,非Synchronized,很快 2 基本常量 2.1 DEFAULT_INITIAL_CAPACITY 初始容量,也就是默認會創建 16 個箱子,箱子的個數不能太多或太少。如果

原创 博客鏈接目錄

Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析:http://www.importnew.com/28263.html dubbo的8種集羣容錯模式 https://www.itcodemon

原创 軟考筆記(軟件設計師)

海明威校驗碼 由Richard Hamming於1950年提出、目前還被廣泛採用的一種很有效的校驗方法,是隻要增加少數幾個校驗位,就能檢測出二位同時出錯、亦能檢測出一位出錯並能自動恢復該出錯位的正確值的有效手段,後者被稱爲自動糾錯。它

原创 Spring技術內幕學習筆記

一、 Spring的設計理念和整體架構1.Spring的設計目標簡單來說,Spring爲開發者提供的是一個一站式的輕量級應用開發框架。作爲平臺,Spring抽象了開發中遇到的共性問題。同時作爲輕量級的框架,Spring有一些特點:支持PO

原创 Hibernate緩存機制

一、why(爲什麼要用Hibernate緩存?) Hibernate是一個持久層框架,經常訪問物理數據庫。 爲了降低應用程序對物理數據源訪問的頻次,從而提高應用程序的運行性能。 緩存內的數據是對物理數據源中的數據的複製,應用程序在運行時從

原创 垃圾回收

一、垃圾回收的意義 在C++中,對象所佔的內存在程序結束運行之前一直被佔用,在明確釋放之前不能分配給其他對象;而在Java中,當沒有對象引用指向原先分配給某個對象的內存時,該內存便成爲垃圾。JVM的一個系統級線程會自動釋放該內存塊。垃圾回