Skip to content

Commit f50a2ea

Browse files
committed
docs: java部分的错别字和不通顺描述修正
1 parent 353e458 commit f50a2ea

24 files changed

+85
-83
lines changed

docs/java/basis/bigdecimal.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ System.out.println(a == b);// false
2626

2727
**为什么浮点数 `float``double` 运算的时候会有精度丢失的风险呢?**
2828

29-
这个和计算机保存小数的机制有很大关系。我们知道计算机是二进制的,而且计算机在表示一个数字时,宽度是有限的,无限循环的小数存储在计算机时,只能被截断,所以就会导致小数精度发生损失的情况。这也就是解释了为什么十进制小数没有办法用二进制精确表示
29+
这个和计算机保存小数的机制有很大关系。我们知道计算机是二进制的,而且计算机在表示一个数字时,宽度是有限的,无限循环的小数存储在计算机时,只能被截断,所以就会导致小数精度发生损失的情况。这也就解释了为什么十进制小数没有办法用二进制精确表示
3030

3131
就比如说十进制下的 0.2 就没办法精确转换成二进制小数:
3232

docs/java/basis/java-basic-questions-01.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -834,7 +834,7 @@ System.out.println(a == b);// false
834834
835835
**为什么会出现这个问题呢?**
836836
837-
这个和计算机保存浮点数的机制有很大关系。我们知道计算机是二进制的,而且计算机在表示一个数字时,宽度是有限的,无限循环的小数存储在计算机时,只能被截断,所以就会导致小数精度发生损失的情况。这也就是解释了为什么浮点数没有办法用二进制精确表示
837+
这个和计算机保存浮点数的机制有很大关系。我们知道计算机是二进制的,而且计算机在表示一个数字时,宽度是有限的,无限循环的小数存储在计算机时,只能被截断,所以就会导致小数精度发生损失的情况。这也就解释了为什么浮点数没有办法用二进制精确表示
838838
839839
就比如说十进制下的 0.2 就没办法精确转换成二进制小数:
840840

docs/java/basis/java-basic-questions-02.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -527,7 +527,7 @@ public native int hashCode();
527527

528528
**那为什么两个对象有相同的 `hashCode` 值,它们也不一定是相等的?**
529529

530-
因为 `hashCode()` 所使用的哈希算法也许刚好会让多个对象传回相同的哈希值。越糟糕的哈希算法越容易碰撞,但这也与数据值域分布的特性有关(所谓哈希碰撞也就是指的是不同的对象得到相同的 `hashCode` )。
530+
因为 `hashCode()` 所使用的哈希算法也许刚好会让多个对象传回相同的哈希值。越糟糕的哈希算法越容易碰撞,但这也与数据值域分布的特性有关(所谓哈希碰撞就是指不同的对象得到相同的 `hashCode` )。
531531

532532
总结下来就是:
533533

docs/java/collection/arraylist-source-code.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class ArrayList<E> extends AbstractList<E>
2727
```
2828

2929
- `List` : 表明它是一个列表,支持添加、删除、查找等操作,并且可以通过下标进行访问。
30-
- `RandomAccess` :这是一个标志接口,表明实现这个接口的 `List` 集合是支持 **快速随机访问** 的。在 `ArrayList` 中,我们即可以通过元素的序号快速获取元素对象,这就是快速随机访问。
30+
- `RandomAccess` :这是一个标志接口,表明实现这个接口的 `List` 集合是支持 **快速随机访问** 的。在 `ArrayList` 中,我们就可以通过元素的序号快速获取元素对象,这就是快速随机访问。
3131
- `Cloneable` :表明它具有拷贝能力,可以进行深拷贝或浅拷贝操作。
3232
- `Serializable` : 表明它可以进行序列化操作,也就是可以将对象转换为字节流进行持久化存储或网络传输,非常方便。
3333

docs/java/collection/concurrent-hash-map-source-code.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ head:
2222

2323
![Java 7 ConcurrentHashMap 存储结构](https://oss.javaguide.cn/github/javaguide/java/collection/java7_concurrenthashmap.png)
2424

25-
Java 7 中 `ConcurrentHashMap` 的存储结构如上图,`ConcurrnetHashMap` 由很多个 `Segment` 组合,而每一个 `Segment` 是一个类似于 `HashMap` 的结构,所以每一个 `HashMap` 的内部可以进行扩容。但是 `Segment` 的个数一旦**初始化就不能改变**,默认 `Segment` 的个数是 16 个,你也可以认为 `ConcurrentHashMap` 默认支持最多 16 个线程并发。
25+
Java 7 中 `ConcurrentHashMap` 的存储结构如上图,`ConcurrentHashMap` 由很多个 `Segment` 组合,而每一个 `Segment` 是一个类似于 `HashMap` 的结构,所以每一个 `HashMap` 的内部可以进行扩容。但是 `Segment` 的个数一旦**初始化就不能改变**,默认 `Segment` 的个数是 16 个,你也可以认为 `ConcurrentHashMap` 默认支持最多 16 个线程并发。
2626

2727
### 2. 初始化
2828

docs/java/collection/hashmap-source-code.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ JDK1.8 之前 HashMap 底层是 **数组和链表** 结合在一起使用也就
3232

3333
HashMap 通过 key 的 hashCode 经过扰动函数处理过后得到 hash 值,然后通过 `(n - 1) & hash` 判断当前元素存放的位置(这里的 n 指的是数组的长度),如果当前位置存在元素的话,就判断该元素与要存入的元素的 hash 值以及 key 是否相同,如果相同的话,直接覆盖,不相同就通过拉链法解决冲突。
3434

35-
所谓扰动函数指的就是 HashMap 的 hash 方法。使用 hash 方法也就是扰动函数是为了防止一些实现比较差的 hashCode() 方法 换句话说使用扰动函数之后可以减少碰撞。
35+
所谓扰动函数指的就是 HashMap 的 hash 方法。使用 hash 方法也就是扰动函数是为了防止一些实现比较差的 hashCode() 方法换句话说使用扰动函数之后可以减少碰撞。
3636

3737
**JDK 1.8 HashMap 的 hash 方法源码:**
3838

docs/java/concurrent/java-thread-pool-summary.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -769,7 +769,7 @@ Exception in thread "main" java.util.concurrent.TimeoutException
769769
}
770770
```
771771

772-
`CachedThreadPool``corePoolSize` 被设置为空(0),`maximumPoolSize`被设置为 `Integer.MAX.VALUE`,即它是无界的,这也就意味着如果主线程提交任务的速度高于 `maximumPool` 中线程处理任务的速度时,`CachedThreadPool` 会不断创建新的线程。极端情况下,这样会导致耗尽 cpu 和内存资源。
772+
`CachedThreadPool``corePoolSize` 被设置为空(0),`maximumPoolSize`被设置为 `Integer.MAX_VALUE`,即它是无界的,这也就意味着如果主线程提交任务的速度高于 `maximumPool` 中线程处理任务的速度时,`CachedThreadPool` 会不断创建新的线程。极端情况下,这样会导致耗尽 cpu 和内存资源。
773773

774774
#### 执行任务过程介绍
775775

docs/java/io/io-basis.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ dataOutputStream.writeBoolean(true);
156156
dataOutputStream.writeByte(1);
157157
```
158158

159-
`ObjectInputStream` 用于从输入流中读取 Java 对象(`ObjectInputStream`,反序列化),`ObjectOutputStream`将对象写入到输出流(`ObjectOutputStream`序列化)
159+
`ObjectInputStream` 用于从输入流中读取 Java 对象(反序列化),`ObjectOutputStream` 将对象写入到输出流序列化
160160

161161
```java
162162
ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream("file.txt")

docs/java/io/io-design-patterns.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream("inpu
5757
}
5858
```
5959

60-
这个时候,你可以会想了**为啥我们直接不弄一个`BufferedFileInputStream`(字符缓冲文件输入流)呢?**
60+
这个时候,你可能会想了**为啥我们不直接弄一个`BufferedFileInputStream`(字符缓冲文件输入流)呢?**
6161

6262
```java
6363
BufferedFileInputStream bfis = new BufferedFileInputStream("input.txt");

docs/java/io/nio-basis.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ Channel 最核心的两个方法:
201201
这里我们以 `FileChannel` 为例演示一下是读取文件数据的。
202202

203203
```java
204-
RandomAccessFile reader = new RandomAccessFile("/Users/guide/Documents/test_read.in", "r"))
204+
RandomAccessFile reader = new RandomAccessFile("/Users/guide/Documents/test_read.in", "r");
205205
FileChannel channel = reader.getChannel();
206206
ByteBuffer buffer = ByteBuffer.allocate(1024);
207207
channel.read(buffer);

0 commit comments

Comments
 (0)