原创 JDK11-vector集合源碼
1.介紹 Vector同樣繼承自AbstractList,與ArrayList、LinedList一樣,是List的一種實現,是線程安全的 2.類定義 public class Vector<E> extends Abstr
原创 JDK11-HashTable集合
介紹 和HashMap一樣,Hashtable 也是一個散列表,它存儲的內容是鍵值對(key-value)映射,底層實現由“數組+鏈表”實現,相對於hashMap來說簡單很多。 Hashtable 繼承於Dictionary,實現了M
原创 JDK11-LinkedHashMap集合
介紹 inkedHashMap 繼承自 HashMap,在 HashMap 基礎上,通過維護一條雙向鏈表,解決了 HashMap 不能隨時保持遍歷順序和插入順序一致的問題。除此之外,LinkedHashMap 對訪問順序也提供了相關支持。
原创 JDK11-ArrayList集合源碼(2)
List集合一覽圖 1.ArrayList: 底層是數組,線程不安全; 2.LinkedList: 底層是鏈表,線程不安全; 3.Vector 底層數據結構是數組。線程安全; 1.List
原创 Spring5--IOC
簡介 spring已經成爲了java開發人員必備的框架,spring基本引領着整個java開發方向的流程,現在spring提供了五花八門的模塊來幫助開發人員進行各種java項目的構建,在spring5中提出了非阻塞的web框架。
原创 JDK11-Map集合源碼
Map集合結合一覽圖 Map集合:大部分比較重要的數據結構需要實現的接口 public interface Map<K, V> { // Query Operations /** * Returns t
原创 Java集合-基於JDK11(1)
Java集合體系一覽圖(UML) 1.Iterable 接口 Iterable,即迭代器的意思。其作用是爲集合類提供for-each循環遍歷的支持,只要讓一個類實現這個接口,該類的對象就可以成爲for-each循環遍歷的目標。換句話
原创 JDK11-HashMap集合
1.HashMap介紹 HashMap爲Map接口的一個實現類,實現了所有Map的操作。HashMap除了允許key和value保存null值和非線程安全外,其他實現幾乎和HashTable一致。 HashMap使用散列存儲的方式保存ka
原创 JDK11-WeakHashMap集合
介紹 WeakHashMap 繼承於AbstractMap,實現了Map接口。 和HashMap一樣,WeakHashMap 也是一個散列表,它存儲的內容也是鍵值對(key-value)映射,而且鍵和值都可以是null。
原创 JDK11-LinkedList集合源碼(3)
1.介紹 LinkedList 是線程不安全的,允許元素爲null的雙向鏈表。就是這麼簡單 2.LinkedList繼承結構一覽圖 3.類定義 public class LinkedList<E> extends
原创 Spring cloud Erueka
1.服務發現的由來 服務發現及註冊中心或是命名服務(後文統一稱爲服務發現),不是憑空出現的,其演進與軟件開發的架構方式的演進有密切關聯,大致如下: 1.1 單體架構時代 早期的互聯網開發,多使用單體架構
原创 爲什麼阿里巴巴禁止在 foreach 循環裏進行元素的 remove/add 操作
在阿里巴巴Java開發手冊中,有這樣一條規定: 但是手冊中並沒有給出具體原因,本文就來深入分析一下該規定背後的思考。 1 foreach循環 foreach循環(Foreach loop)是計算機編程語言中的一種控制流程語句,通常用
原创 多線程下的數據安全
前言 多線程下的線程安全,主要是由於無法控制線程的執行順序,無法確定那個線程是先執行,是由CPU確定的,出現線程不安全的情況-》每次運行的結構都不相同(程序無法按照我們想要的結果) 下面是一個簡單的多線程例子,來說明下多線程下的數據安
原创 微服務架構-Hystrix
分佈式存在的問題 服務雪崩 多個微服務之間調用的時候,假設微服務A調用微服務B和微服務C,微服務B和微服務C又調用其它的微服務,這就是所謂的“扇出”。如果扇出的鏈路上某個微服務的調用響應時間過長或者不可用,對微服務A的調用就會佔用越
原创 微服務架構-Ribbon
Ribbon介紹 Spring Cloud Ribbon是基於Netflix Ribbon實現的一套客戶端 負載均衡的工具。 簡單的說,Ribbon是Netflix發佈的開源項目,主要功能是提供客戶端的軟件負載均衡