auto commit

This commit is contained in:
CyC2018 2020-11-19 01:40:33 +08:00
parent e7478680c0
commit 493f076782
3 changed files with 4 additions and 4 deletions

View File

@ -759,7 +759,7 @@ System.out.println(set.size()); // 2
理想的哈希函数应当具有均匀性即不相等的对象应当均匀分布到所有可能的哈希值上这就要求了哈希函数要把所有域的值都考虑进来可以将每个域都当成 R 进制的某一位然后组成一个 R 进制的整数
R 一般取 31因为它是一个奇素数如果是偶数的话当出现乘法溢出信息就会丢失因为与 2 相乘相当于向左移一位最左边的位丢失并且一个数与 31 相乘可以转换成移位和减法`31*x == (x\<\<5)-x`编译器会自动进行这个优化
R 一般取 31因为它是一个奇素数如果是偶数的话当出现乘法溢出信息就会丢失因为与 2 相乘相当于向左移一位最左边的位丢失并且一个数与 31 相乘可以转换成移位和减法`31*x == (x<<5)-x`编译器会自动进行这个优化
```java
@Override

View File

@ -132,7 +132,7 @@ private static final int DEFAULT_CAPACITY = 10;
#### 2. 扩容
添加元素时使用 ensureCapacityInternal() 方法来保证容量足够如果不够时需要使用 grow() 方法进行扩容新容量的大小为 `oldCapacity + (oldCapacity >> 1)`也就是旧容量的 1.5 倍左右oldCapacity 为偶数就是 1.5 oldCapacity为奇数就是 1.5 -0.5奇偶不同比如 8+8/2 = 12, 13+13/2=19如果是奇数的话会丢掉小数
添加元素时使用 ensureCapacityInternal() 方法来保证容量足够如果不够时需要使用 grow() 方法进行扩容新容量的大小为 `oldCapacity + (oldCapacity >> 1)` oldCapacity+oldCapacity/2其中 oldCapacity >> 1 需要取整所以新容量大约是旧容量的 1.5 倍左右oldCapacity 为偶数就是 1.5 为奇数就是 1.5 -0.5
扩容操作需要调用 `Arrays.copyOf()` 把原数组整个复制到新数组中这个操作代价很高因此最好在创建 ArrayList 对象时就指定大概的容量大小减少扩容操作的次数

View File

@ -45,9 +45,9 @@
#### 2. 过滤特殊字符
例如将 `\<` 转义为 `&lt;` `\>` 转义为 `&gt;`从而避免 HTML Jascript 代码的运行
例如将 `<` 转义为 `&lt;` `>` 转义为 `&gt;`从而避免 HTML Jascript 代码的运行
富文本编辑器允许用户输入 HTML 代码就不能简单地将 `\<` 等字符进行过滤了极大地提高了 XSS 攻击的可能性
富文本编辑器允许用户输入 HTML 代码就不能简单地将 `<` 等字符进行过滤了极大地提高了 XSS 攻击的可能性
富文本编辑器通常采用 XSS filter 来防范 XSS 攻击通过定义一些标签白名单或者黑名单从而不允许有攻击性的 HTML 代码的输入