Skip to content
4 changes: 2 additions & 2 deletions docs/database/MySQL.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,9 +159,9 @@ select sql_no_cache count(*) from usr;

事务最经典也经常被拿出来说例子就是转账了。假如小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:将小明的余额减少1000元,将小红的余额增加1000元。万一在这两个操作之间突然出现错误比如银行系统崩溃,导致小明余额减少而小红的余额没有增加,这样就不对了。事务就是保证这两个关键操作要么都成功,要么都要失败。

### 事物的四大特性(ACID)
### 事务的四大特性(ACID)

![事物的特性](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/事务特性.png)
![事务的特性](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/事务特性.png)

1. **原子性(Atomicity):** 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用;
2. **一致性(Consistency):** 执行事务后,数据库从一个正确的状态变化到另一个正确的状态;
Expand Down
36 changes: 18 additions & 18 deletions docs/java/basis/Java基础知识疑难点.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
<!-- TOC -->

- [1. 基础](#_1-基础)
- [1.1. 正确使用 equals 方法](#_11-正确使用-equals-方法)
- [1.2. 整型包装类值的比较](#_12-整型包装类值的比较)
- [1.3. BigDecimal](#_13-bigdecimal)
- [1.3.1. BigDecimal 的用处](#_131-bigdecimal-的用处)
- [1.3.2. BigDecimal 的大小比较](#_132-bigdecimal-的大小比较)
- [1.3.3. BigDecimal 保留几位小数](#_133-bigdecimal-保留几位小数)
- [1.3.4. BigDecimal 的使用注意事项](#_134-bigdecimal-的使用注意事项)
- [1.3.5. 总结](#_135-总结)
- [1.4. 基本数据类型与包装数据类型的使用标准](#_14-基本数据类型与包装数据类型的使用标准)
- [1. 基础](#1-基础)
- [1.1. 正确使用 equals 方法](#11-正确使用-equals-方法)
- [1.2. 整型包装类值的比较](#12-整型包装类值的比较)
- [1.3. BigDecimal](#13-bigdecimal)
- [1.3.1. BigDecimal 的用处](#131-bigdecimal-的用处)
- [1.3.2. BigDecimal 的大小比较](#132-bigdecimal-的大小比较)
- [1.3.3. BigDecimal 保留几位小数](#133-bigdecimal-保留几位小数)
- [1.3.4. BigDecimal 的使用注意事项](#134-bigdecimal-的使用注意事项)
- [1.3.5. 总结](#135-总结)
- [1.4. 基本数据类型与包装数据类型的使用标准](#14-基本数据类型与包装数据类型的使用标准)
- [2. 集合](#_2-集合)
- [2.1. Arrays.asList()使用指南](#_21-arraysaslist使用指南)
- [2.1.1. 简介](#_211-简介)
- [2.1.2. 《阿里巴巴Java 开发手册》对其的描述](#_212-阿里巴巴java-开发手册对其的描述)
- [2.1.3. 使用时的注意事项总结](#_213-使用时的注意事项总结)
- [2.1.4. 如何正确的将数组转换为ArrayList?](#_214-如何正确的将数组转换为arraylist)
- [2.2. Collection.toArray()方法使用的坑&如何反转数组](#_22-collectiontoarray方法使用的坑如何反转数组)
- [2.3. 不要在 foreach 循环里进行元素的 remove/add 操作](#_23-不要在-foreach-循环里进行元素的-removeadd-操作)
- [2.1. Arrays.asList()使用指南](#21-arraysaslist使用指南)
- [2.1.1. 简介](#211-简介)
- [2.1.2. 《阿里巴巴Java 开发手册》对其的描述](#212-阿里巴巴java-开发手册对其的描述)
- [2.1.3. 使用时的注意事项总结](#213-使用时的注意事项总结)
- [2.1.4. 如何正确的将数组转换为ArrayList?](#214-如何正确的将数组转换为arraylist)
- [2.2. Collection.toArray()方法使用的坑&如何反转数组](#22-collectiontoarray方法使用的坑如何反转数组)
- [2.3. 不要在 foreach 循环里进行元素的 remove/add 操作](#23-不要在-foreach-循环里进行元素的-removeadd-操作)

<!-- /TOC -->

Expand Down Expand Up @@ -83,7 +83,7 @@ System.out.println(a.equals(b));//true

当使用自动装箱方式创建一个Integer对象时,当数值在-128 ~127时,会将创建的 Integer 对象缓存起来,当下次再出现该数值时,直接从缓存中取出对应的Integer对象。所以上述代码中,x和y引用的是相同的Integer对象。

**注意:**如果你的IDE(IDEA/Eclipse)上安装了阿里巴巴的p3c插件,这个插件如果检测到你用 ==的话会报错提示,推荐安装一个这个插件,很不错。
**注意:** 如果你的IDE(IDEA/Eclipse)上安装了阿里巴巴的p3c插件,这个插件如果检测到你用 ==的话会报错提示,推荐安装一个这个插件,很不错。

## 1.3. BigDecimal

Expand Down
2 changes: 1 addition & 1 deletion docs/java/collection/ArrayList源码+扩容机制分析.md
Original file line number Diff line number Diff line change
Expand Up @@ -637,7 +637,7 @@ public class ArrayList<E> extends AbstractList<E>

#### 3.2.3. `ensureExplicitCapacity()` 方法

如果调用 `ensureCapacityInternal()` 方法就一定会进过(执行)这个方法,下面我们来研究一下这个方法的源码!
如果调用 `ensureCapacityInternal()` 方法就一定会进入(执行)这个方法,下面我们来研究一下这个方法的源码!

```java
//判断是否需要扩容
Expand Down
2 changes: 1 addition & 1 deletion docs/java/jvm/类加载过程.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Class 文件需要加载到虚拟机中之后才能运行和使用,那么虚

### 初始化

初始化是类加载的最后一步,也是真正执行类中定义的 Java 程序代码(字节码),初始化阶段是执行类构造器 `<clinit> ()`方法的过程。
初始化是类加载的最后一步,也是真正执行类中定义的 Java 程序代码(字节码),初始化阶段是执行初始化方法 `<clinit> ()`方法的过程。

对于`<clinit>()` 方法的调用,虚拟机会自己确保其在多线程环境中的安全性。因为 `<clinit>()` 方法是带锁线程安全,所以在多线程环境下进行类初始化的话可能会引起死锁,并且这种死锁很难被发现。

Expand Down