原创 JAVA8 Stack學習筆記

棧-Stack 定義:棧的元素是按後進先出(LIFO)的方法進行處理的,最後入棧的元素最先出棧;棧是一種線性集合,其添加和刪除都在一端進行;Stack類繼承了Vector類 public class Stack<E> extend

原创 聊一聊SpringCloud版本號管理

版本命名 Spring Cloud是一個擁有諸多子項目的大型綜合項目,原則上其子項目也都維護着自己的發佈版本號。那麼每一個Spring Cloud的版本都會包含不同的子項目版本,爲了要管理每個版本的子項目清單,避免版本名與子項目的

原创 JAVA同步工具類——Semaphore信號量

信號量 計數信號量(Counting Semaphore)用來控制同時訪問某個特定資源的操作數量,或者同時執行某個指定操作的數量; Semaphore管理着一組虛擬許可(permit),許可的初始數量可通過構造函數來指定;在執行操作時

原创 Java語法糖之foreach

JAVA集合foreach for-each其實只是java提供的語法糖。語法糖是編程語言提供的一些便於程序員書寫代碼的語法,是編譯器提供給程序員的糖衣,編譯時會對這些語法特殊處理。語法糖雖然不會帶來實質性的改進,但是在提高代碼可讀性

原创 JAVA對象實例化方式總結--及Unsafe黑科技

JAVA對象實例化的方法 本貼主要對JAVA實例化方式做個簡單的總結,尤其是Unsafe的方式,可能很多人都沒了解過,這個是sun工程師留的一個後門,可以稱爲“黑科技” New對象實例 // 直接new對象實例 Productor p

原创 JAVA類初始化順序總結

類的初始化 初始化順序 首先來看下,當一個類從main入口方法,對於靜態變量、靜態初始化塊、變量、初始化塊、構造器,它們的初始化順序: public class ClassLoadTest { private static U

原创 JAVA同步工具類——CountDownLatch

閉鎖 在學習CountDownLatch之前,讓我們先了解一下閉鎖的概念。 閉鎖是一種同步工具類,可以延遲線程的進度直到其到達終止狀態;閉鎖的作用相當於一扇門,在閉鎖到達結束狀態之前,這扇門一直是關閉的,並且沒有任何線程能通過,當到達

原创 java集合之CopyOnWriteArrayList

CopyOnWriteArrayList CopyOnWriteArrayList是juc中提供的併發安全的ArrayList,我們拆分一下類名"Copy"“On”“Write”“ArrayList”,從字面意思我們推斷出,這個是以在

原创 設計模式之迭代器模式

迭代器模式 定義:提供一種方法訪問一個容器對象中各個元素,而又不暴露該對象的內部細節 迭代器模式的結構 抽象迭代器(Iterator)角色:此抽象角色定義出遍歷元素所需的接口; 迭代器實現:實現迭代器接口中定義的方法,完成集合的迭代

原创 Java中集合類遍歷性能

集合元素在內存如何存放 數據元素在內存中,主要有2種存儲方式: 1、順序存儲,Random Access(或直接存儲,Direct Access): 這種方式,相鄰的數據元素存放於相鄰的內存地址中,整塊內存地址是連續的。可以根據元素的

原创 JAVA8 TreeSet學習筆記

TreeSet TreeSet是基於TreeMap的NavigableSet實現。使用元素的自然順序對元素進行排序,或者根據創建set時提供的Comparator進行排序,具體取決於使用的構造方法。這句話什麼意思呢?就是說,跟Hash

原创 JAVA——TreeSet學習筆記

TreeSet TreeSet是基於TreeMap的NavigableSet實現。使用元素的自然順序對元素進行排序,或者根據創建set時提供的Comparator進行排序,具體取決於使用的構造方法。這句話什麼意思呢?就是說,跟Hash

原创 JAVA8 HashSet學習筆記

HashSet Set集合的最主要特性就是沒有重複元素,HashSet是Set的一個字類,其內部基於HashMap實現,因此HashSet的實現比較簡單,相關HashSet的操作,基本上都是直接調用底層HashMap的相關方法來完成

原创 JAVA8 TreeMap學習筆記

TreeMap TreeMap集合是基於紅黑樹(Red-Black tree)的 NavigableMap實現。該集合最重要的特點就是可排序,該映射根據其鍵的自然順序進行排序,或者根據創建映射時提供的 Comparator 進行排序,

原创 常見的緩存失效策略

常見的緩存失效策略 常見的幾種緩存失效策略,總結一下: FIFO ,first in first out ,最先進入緩存的數據在緩存空間不夠情況下(超出最大元素限制時)會被首先清理出去 LFU , Less Frequently U