原创 (6)項目異常封裝

枚舉異常封裝 @Getter public enum ResultEnum { PARAM_ERROR(1, "參數不正確"), PRODUCT_NOT_EXIST(10, "商品不存在"), PRO

原创 集合迭代器原理刨解JDK1.8(2)

1.ArrayList中的迭代器 ArrayList實現了迭代器接口,返回一個Itr內部類對象 public Iterator<E> iterator() { return new Itr(); }

原创 集合HashSet原理刨解JDK1.8(6)

HashSet繼承抽象類,抽象類可以實現一些默認方法,在JDK1.8沒出來之前。實現Set接口和Cloneable接口。 public class HashSet<E> extends AbstractSet<E>

原创 集合HashMap原理刨解JDK1.8(5)

HashMap繼承AbstractMap抽象類Map接口和Cloneable接口。Map接口如下方法,JDK1.8實現了一些默認方法 public interface Map<K,V>{//K和v是類型參數,分別表示鍵(Key)

原创 集合Qeque原理刨解JDK1.8(4)

LinkedList 實現了Deque棧接口並且實現Queue隊列,隊列先進先出,在尾部添加元素,從頭部刪除元素。 Queue如下方法 1.add()和 offer()尾部添加元素 2.element()和peek() 查看頭部元

原创 集合ArrayList原理刨解JDK1.8(1)

介紹 List表示有順序的集合,implements Cloneable擴展了基本方法, RandomAccess 標記接口,表示此類能隨機訪問,類似數組特性, 對象是連續存儲的,根據索引直接定位到元素,訪問效率高,LinkedL

原创 集合TreeSet原理刨解JDK1.8(8)

TreeSet實現Set接口有序實現Comparable()接口才行,排重。底層基於TreeMap實現 構造方法 1.第一個默認構造方法創建對象, 對象要實現Comparable比較 2.第二個傳入比較器,不要求對象實現Compa

原创 (9)AOP和Redis登錄案例

1.@Aspect(切面): 通常是一個類,裏面可以定義切入點和通知 2.@Before(“verify()”)標識一個前置增強方法,相當於BeforeAdvice的功能 3.@Pointcut表示式 execution:用於匹

原创 集合LinkedList原理刨解JDK1.8(3)

介紹 和ArrayList一樣,同樣實現List接口,List接口繼承Cloneable接口,LinkedList實現棧接口Deque。Deque還實現了隊列Queue。這篇更精彩Deque public class Linked

原创 集合TreeMap原理刨解JDK1.8(7)

HashMap對象沒有順序,TreeMap實現是排序平衡二叉樹,大致是紅黑樹,樹可以排序。根據根節點比較左小右大的特點,注意的是按鍵排序,值不排序。 對象只要實現comparable可以排序,重寫compareTo(Object

原创 (8)@JsonInclude處理返回null到頁面

1.平時項目中有些字段不需要賦值,返回給前端頁面JSON是null。 在實體類加 @JsonInclude(JsonInclude.Include.NON_NULL) 每個類都要加,不值得,我們可以加全局配置 jackson:

原创 (3)返回JSON格式Data對象封裝

1.VO層的使用,返回JSON格式的數據到頁面,不需要返回全部數據(不安全) 2.類型T是data裏面的對象數據 /** * http請求返回的最外層對象 */ @Data public class ResultVO<T> {

原创 java List集合去重(實戰)

覺得以下幾點更貼實際開發,又簡單,沒有整那些for循環判斷效率低 1. HashSet 去重,利用set特性 HashSet可以去重,但是無序,把List集合所有元素存入HashSet對象,接着把List集合元素全部清空,最後把H

原创 (7)項目中生成唯一的主鍵

每個項目裏都會用到 public class KeyUtil { /** * 生成唯一的主鍵 * 格式: 時間+隨機數 * synchronized 在高併發也能保證不會重複 *

原创 集合LinkedHashMap原理刨解JDK1.8(9)

LinkedHashMap是HashMap的子類,內部有一個雙向鏈表維護鍵值對,先添加元素的在前面,後添加的元素在後面,修改不影響順序,保持插入順序,按插入順序訪問,例如購物車場景。 五個構造方法4個是按插入順序訪問,另一個可以