From 288fb85d924314e5dac93ac033ad0a5573c83487 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Sun, 5 Aug 2018 15:29:23 +0800 Subject: [PATCH] auto commit --- "notes/Java \345\237\272\347\241\200.md" | 34 ++--- "notes/Java \345\256\271\345\231\250.md" | 139 +++++++++++++++--- "notes/\347\256\227\346\263\225.md" | 2 +- pics/49495c95-52e5-4c9a-b27b-92cf235ff5ec.png | Bin 0 -> 10240 bytes pics/NP4z3i8m38Ntd28NQ4_0KCJ2q044Oez.png | Bin 0 -> 22528 bytes pics/SoWkIImgAStDuUBAp2j9BKfBJ4vLy0G.png | Bin 0 -> 14336 bytes pics/SoWkIImgAStDuUBAp2j9BKfBJ4vLy4q.png | Bin 0 -> 12288 bytes 7 files changed, 134 insertions(+), 41 deletions(-) create mode 100644 pics/49495c95-52e5-4c9a-b27b-92cf235ff5ec.png create mode 100644 pics/NP4z3i8m38Ntd28NQ4_0KCJ2q044Oez.png create mode 100644 pics/SoWkIImgAStDuUBAp2j9BKfBJ4vLy0G.png create mode 100644 pics/SoWkIImgAStDuUBAp2j9BKfBJ4vLy4q.png diff --git "a/notes/Java \345\237\272\347\241\200.md" "b/notes/Java \345\237\272\347\241\200.md" index f5133a6f..bcb94acc 100644 --- "a/notes/Java \345\237\272\347\241\200.md" +++ "b/notes/Java \345\237\272\347\241\200.md" @@ -4,7 +4,7 @@ * [缓存池](#缓存池) * [二、String](#二string) * [概览](#概览) - * [String 不可变的好处](#string-不可变的好处) + * [不可变的好处](#不可变的好处) * [String, StringBuffer and StringBuilder](#string,-stringbuffer-and-stringbuilder) * [String.intern()](#stringintern) * [三、运算](#三运算) @@ -153,7 +153,7 @@ public final class String private final char value[]; ``` -## String 不可变的好处 +## 不可变的好处 **1. 可以缓存 hash 值** @@ -212,7 +212,7 @@ String s5 = "bbb"; System.out.println(s4 == s5); // true ``` -在 Java 7 之前,字符串常量池被放在运行时常量池中,它属于永久代。而在 Java 7,字符串常量池被放在堆中。这是因为永久代的空间有限,在大量使用字符串的场景下会导致 OutOfMemoryError 错误。 +在 Java 7 之前,字符串常量池被放在运行时常量池中,它属于永久代。而在 Java 7,字符串常量池被移到 Native Method 中。这是因为永久代的空间有限,在大量使用字符串的场景下会导致 OutOfMemoryError 错误。 - [StackOverflow : What is String interning?](https://stackoverflow.com/questions/10578984/what-is-string-interning) - [深入解析 String#intern](https://tech.meituan.com/in_depth_understanding_string_intern.html) @@ -583,19 +583,7 @@ protected void finalize() throws Throwable {} ## equals() -**1. equals() 与 == 的区别** - -- 对于基本类型,== 判断两个值是否相等,基本类型没有 equals() 方法。 -- 对于引用类型,== 判断两个实例是否引用同一个对象,而 equals() 判断引用的对象是否等价,根据引用的对象的 equals() 方法的具体实现来进行比较。 - -```java -Integer x = new Integer(1); -Integer y = new Integer(1); -System.out.println(x.equals(y)); // true -System.out.println(x == y); // false -``` - -**2. 等价关系** +**1. 等价关系** (一)自反性 @@ -632,6 +620,18 @@ x.equals(y) == x.equals(y); // true x.equals(null); // false; ``` +**2. equals() 与 ==** + +- 对于基本类型,== 判断两个值是否相等,基本类型没有 equals() 方法。 +- 对于引用类型,== 判断两个实例是否引用同一个对象,而 equals() 判断引用的对象是否等价,根据引用对象 equals() 方法的具体实现来进行比较。 + +```java +Integer x = new Integer(1); +Integer y = new Integer(1); +System.out.println(x.equals(y)); // true +System.out.println(x == y); // false +``` + **3. 实现** - 检查是否为同一个对象的引用,如果是直接返回 true; @@ -1005,7 +1005,7 @@ public class A { **4. 静态内部类** -非静态内部类依赖于需要外部类的实例,而静态内部类不需要。 +非静态内部类依赖于外部类的实例,而静态内部类不需要。 ```java public class OuterClass { diff --git "a/notes/Java \345\256\271\345\231\250.md" "b/notes/Java \345\256\271\345\231\250.md" index c6fc88f4..27a783f1 100644 --- "a/notes/Java \345\256\271\345\231\250.md" +++ "b/notes/Java \345\256\271\345\231\250.md" @@ -14,6 +14,7 @@ * [ConcurrentHashMap](#concurrenthashmap) * [LinkedHashMap](#linkedhashmap) * [WeekHashMap](#weekhashmap) +* [附录](#附录) * [参考资料](#参考资料) @@ -24,15 +25,15 @@ ## Collection -

+

### 1. Set -- HashSet:基于哈希实现,支持快速查找,但不支持有序性操作,例如根据一个范围查找元素的操作。并且失去了元素的插入顺序信息,也就是说使用 Iterator 遍历 HashSet 得到的结果是不确定的。 +- HashSet:基于哈希表实现,支持快速查找。但不支持有序性操作,例如根据一个范围查找元素的操作。并且失去了元素的插入顺序信息,也就是说使用 Iterator 遍历 HashSet 得到的结果是不确定的。 - TreeSet:基于红黑树实现,支持有序性操作,但是查找效率不如 HashSet,HashSet 查找时间复杂度为 O(1),TreeSet 则为 O(logN)。 -- LinkedHashSet:具有 HashSet 的查找效率,且内部使用链表维护元素的插入顺序。 +- LinkedHashSet:具有 HashSet 的查找效率,且内部使用双向链表维护元素的插入顺序。 ### 2. List @@ -50,13 +51,13 @@ ## Map -

+

-- HashMap:基于哈希实现; +- HashMap:基于哈希表实现; - HashTable:和 HashMap 类似,但它是线程安全的,这意味着同一时刻多个线程可以同时写入 HashTable 并且不会导致数据不一致。它是遗留类,不应该去使用它。现在可以使用 ConcurrentHashMap 来支持线程安全,并且 ConcurrentHashMap 的效率会更高,因为 ConcurrentHashMap 引入了分段锁。 -- LinkedHashMap:使用链表来维护元素的顺序,顺序为插入顺序或者最近最少使用(LRU)顺序。 +- LinkedHashMap:使用双向链表来维护元素的顺序,顺序为插入顺序或者最近最少使用(LRU)顺序。 - TreeMap:基于红黑树实现。 @@ -64,7 +65,7 @@ ## 迭代器模式 -

+

Collection 实现了 Iterable 接口,其中的 iterator() 方法能够产生一个 Iterator 对象,通过这个对象就可以迭代遍历 Collection 中的元素。 @@ -95,7 +96,7 @@ Integer[] arr = {1, 2, 3}; List list = Arrays.asList(arr); ``` -也可以使用以下方式使用 asList(): +也可以使用以下方式调用 asList(): ```java List list = Arrays.asList(1,2,3); @@ -111,7 +112,7 @@ List list = Arrays.asList(1,2,3); ### 1. 概览 -实现了 RandomAccess 接口,因此支持随机访问,这是理所当然的,因为 ArrayList 是基于数组实现的。 +实现了 RandomAccess 接口,因此支持随机访问。这是理所当然的,因为 ArrayList 是基于数组实现的。 ```java public class ArrayList extends AbstractList @@ -126,7 +127,9 @@ private static final int DEFAULT_CAPACITY = 10; ### 2. 序列化 -基于数组实现,保存元素的数组使用 transient 修饰,该关键字声明数组默认不会被序列化。ArrayList 具有动态扩容特性,因此保存元素的数组不一定都会被使用,那么就没必要全部进行序列化。ArrayList 重写了 writeObject() 和 readObject() 来控制只序列化数组中有元素填充那部分内容。 +ArrayList 基于数组实现,并且具有动态扩容特性,因此保存元素的数组不一定都会被使用,那么就没必要全部进行序列化。 + +保存元素的数组 elementData 使用 transient 修饰,该关键字声明数组默认不会被序列化。ArrayList 重写了 writeObject() 和 readObject() 来控制只序列化数组中有元素填充那部分内容。 ```java transient Object[] elementData; // non-private to simplify nested class access @@ -174,7 +177,7 @@ private void grow(int minCapacity) { ### 4. 删除元素 -需要调用 System.arraycopy() 将 index+1 后面的元素都复制到 index 位置上。 +需要调用 System.arraycopy() 将 index+1 后面的元素都复制到 index 位置上,该操作的时间复杂度为 O(N),可以看出 ArrayList 删除元素的代价是非常高的。 ```java public E remove(int index) { @@ -311,7 +314,7 @@ CopyOnWriteArrayList 在写操作的同时允许读操作,大大提高了读 ### 1. 概览 -基于双向链表实现,内部使用 Node 来存储链表节点信息。 +基于双向链表实现,使用 Node 存储链表节点信息。 ```java private static class Node { @@ -328,7 +331,7 @@ transient Node first; transient Node last; ``` -

+

### 2. ArrayList 与 LinkedList @@ -474,7 +477,7 @@ public V put(K key, V value) { } ``` -HashMap 允许插入键为 null 的键值对。因为无法调用 null 的 hashCode(),也就无法确定该键值对的桶下标,只能通过强制指定一个桶下标来存放。HashMap 使用第 0 个桶存放键为 null 的键值对。 +HashMap 允许插入键为 null 的键值对。但是因为无法调用 null 的 hashCode() 方法,也就无法确定该键值对的桶下标,只能通过强制指定一个桶下标来存放。HashMap 使用第 0 个桶存放键为 null 的键值对。 ```java private V putForNullKey(V value) { @@ -601,10 +604,10 @@ static int indexFor(int h, int length) { | 参数 | 含义 | | :--: | :-- | -| capacity | table 的容量大小,默认为 16,需要注意的是 capacity 必须保证为 2 的 n 次方。| +| capacity | table 的容量大小,默认为 16。需要注意的是 capacity 必须保证为 2 的 n 次方。| | size | table 的实际使用量。 | | threshold | size 的临界值,size 必须小于 threshold,如果大于等于,就必须进行扩容操作。 | -| load_factor | 装载因子,table 能够使用的比例,threshold = capacity * load_factor。| +| loadFactor | 装载因子,table 能够使用的比例,threshold = capacity * loadFactor。| ```java static final int DEFAULT_INITIAL_CAPACITY = 16; @@ -851,7 +854,7 @@ public int size() { ### 3. JDK 1.8 的改动 -JDK 1.7 使用分段锁机制来实现并发更新操作,核心类为 Segment,它继承自重入锁 ReentrantLock,并发程度与 Segment 数量相等。 +JDK 1.7 使用分段锁机制来实现并发更新操作,核心类为 Segment,它继承自重入锁 ReentrantLock,并发度与 Segment 数量相等。 JDK 1.8 使用了 CAS 操作来支持更高的并发度,在 CAS 操作失败时使用内置锁 synchronized。 @@ -867,7 +870,7 @@ JDK 1.8 使用了 CAS 操作来支持更高的并发度,在 CAS 操作失败 public class LinkedHashMap extends HashMap implements Map ``` -内存维护了一个双向循环链表,用来维护插入顺序或者 LRU 顺序。 +内存维护了一个双向链表,用来维护插入顺序或者 LRU 顺序。 ```java /** @@ -881,13 +884,13 @@ transient LinkedHashMap.Entry head; transient LinkedHashMap.Entry tail; ``` -顺序使用 accessOrder 来决定,默认为 false,此时使用的是插入顺序。 +accessOrder 决定了顺序,默认为 false,此时使用的是插入顺序。 ```java final boolean accessOrder; ``` -LinkedHashMap 最重要的是以下用于记录顺序的函数,它们会在 put、get 等方法中调用。 +LinkedHashMap 最重要的是以下用于维护顺序的函数,它们会在 put、get 等方法中调用。 ```java void afterNodeAccess(Node p) { } @@ -896,7 +899,7 @@ void afterNodeInsertion(boolean evict) { } ### afterNodeAccess() -当一个 Node 被访问时,如果 accessOrder 为 true,会将它移到链表尾部。也就是说指定为 LRU 顺序之后,在每次访问一个节点时,会将这个节点移到链表尾部,保证链表尾部是最近访问的节点,那么链表首部就是最近最久未使用的节点。 +当一个节点被访问时,如果 accessOrder 为 true,则会将 该节点移到链表尾部。也就是说指定为 LRU 顺序之后,在每次访问一个节点时,会将这个节点移到链表尾部,保证链表尾部是最近访问的节点,那么链表首部就是最近最久未使用的节点。 ```java void afterNodeAccess(Node e) { // move node to last @@ -951,7 +954,11 @@ protected boolean removeEldestEntry(Map.Entry eldest) { ### LRU 缓存 -以下是使用 LinkedHashMap 实现的一个 LRU 缓存,设定最大缓存空间 MAX_ENTRIES 为 3。使用 LinkedHashMap 的构造函数将 accessOrder 设置为 true,开启 LUR 顺序。覆盖 removeEldestEntry() 方法实现,在节点多于 MAX_ENTRIES 就会将最近最久未使用的数据移除。 +以下是使用 LinkedHashMap 实现的一个 LRU 缓存: + +- 设定最大缓存空间 MAX_ENTRIES 为 3; +- 使用 LinkedHashMap 的构造函数将 accessOrder 设置为 true,开启 LUR 顺序; +- 覆盖 removeEldestEntry() 方法实现,在节点多于 MAX_ENTRIES 就会将最近最久未使用的数据移除。 ```java class LRUCache extends LinkedHashMap { @@ -1002,7 +1009,9 @@ Tomcat 中的 ConcurrentCache 就使用了 WeakHashMap 来实现缓存功能。 ConcurrentCache 采取的是分代缓存: - 经常使用的对象放入 eden 中,eden 使用 ConcurrentHashMap 实现,不用担心会被回收(伊甸园); -- 不常用的对象放入 longterm,longterm 使用 WeakHashMap 实现,用来存放比较老的对象,这些老对象会被垃圾收集器回收。 +- 不常用的对象放入 longterm,longterm 使用 WeakHashMap 实现,这些老对象会被垃圾收集器回收。 +- 当调用 get() 方法时,会先从 eden 区获取,如果没有找到的话再到 longterm 获取,当从 longterm 获取到就把对象放入 eden 中,保证频繁被访问的节点不容易被回收。 +- 当调用 put() 方法时,如果缓存当前容量大小超过了 size,那么就将 eden 中的所有对象都放入 longterm 中,利用虚拟机回收掉一部分不经常使用的对象。 ```java public final class ConcurrentCache { @@ -1039,6 +1048,90 @@ public final class ConcurrentCache { } ``` +# 附录 + +Collection 绘图源码: + +``` +@startuml + +interface Collection +interface Set +interface List +interface Queue +interface SortSet + +class HashSet +class LinkedHashSet +class TreeSet +class ArrayList +class Vector +class LinkedList +class PriorityQueue + + +Collection <|-- Set +Collection <|-- List +Collection <|-- Queue +Set <|-- SortSet + +Set <|.. HashSet +Set <|.. LinkedHashSet +SortSet <|.. TreeSet +List <|.. ArrayList +List <|.. Vector +List <|.. LinkeList +Queue <|.. LinkedList +Queue <|.. PriorityQueue + +@enduml +``` + +Map 绘图源码 + +``` +@startuml + +interface Map +interface SortMap + +class HashTable +class LinkedHashMap +class HashMap +class TreeMap + +Map <|.. HashTable +Map <|.. LinkedHashMap +Map <|.. HashMap +Map <|-- SortMap +SortMap <|.. TreeMap + +@enduml +``` + +迭代器类图 + +``` +@startuml + +interface Iterable +interface Collection +interface List +interface Set +interface Queue +interface Iterator +interface ListIterator + +Iterable <|-- Collection +Collection <|.. List +Collection <|.. Set +Collection <|-- Queue +Iterator <-- Iterable +Iterator <|.. ListIterator +ListIterator <-- List + +@enduml +``` # 参考资料 diff --git "a/notes/\347\256\227\346\263\225.md" "b/notes/\347\256\227\346\263\225.md" index f440111c..fb878742 100644 --- "a/notes/\347\256\227\346\263\225.md" +++ "b/notes/\347\256\227\346\263\225.md" @@ -2050,7 +2050,7 @@ public class SparseVector { 如果只有一个圆盘,那么只需要进行一次移动操作。 -从上面的讨论可以知道,an = 2 * an-1 + 1,显然an = 2n - 1,n 圆盘需要移动 2n - 1 次。 +从上面的讨论可以知道,an = 2 * an-1 + 1,显然 an = 2n - 1,n 个圆盘需要移动 2n - 1 次。

diff --git a/pics/49495c95-52e5-4c9a-b27b-92cf235ff5ec.png b/pics/49495c95-52e5-4c9a-b27b-92cf235ff5ec.png new file mode 100644 index 0000000000000000000000000000000000000000..662d99c3044a61731686ce2960dbd278764f2fb1 GIT binary patch literal 10240 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 literal 0 HcmV?d00001 diff --git a/pics/SoWkIImgAStDuUBAp2j9BKfBJ4vLy0G.png b/pics/SoWkIImgAStDuUBAp2j9BKfBJ4vLy0G.png new file mode 100644 index 0000000000000000000000000000000000000000..124ec97753c03b6e0c86bcad091a10efee85fc10 GIT binary patch literal 14336 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 literal 0 HcmV?d00001 -- GitLab