Skip to content

Commit 5d64055

Browse files
author
lowking
committed
修正一些错别字
1 parent 964d050 commit 5d64055

File tree

12 files changed

+20
-20
lines changed

12 files changed

+20
-20
lines changed

docs/advance/design-patterns/abstract-factory-pattern.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
>
3737
> Product(具体产品):定义具体工厂生产的具体产品对象,实现抽象产品接口中定义的业务方法。
3838
39-
本文的例子采用一个汽车代工厂造汽车的例子。假设我们是一家汽车代工厂商,我们负责给奔驰和特斯拉两家公司制造车子。我们简单的把奔驰车理解为需要加油的车,特斯拉为需要充电的车。其中奔驰车中包含跑车和商务车两种,特斯拉同样也包含奔驰车和商务车
39+
本文的例子采用一个汽车代工厂造汽车的例子。假设我们是一家汽车代工厂商,我们负责给奔驰和特斯拉两家公司制造车子。我们简单的把奔驰车理解为需要加油的车,特斯拉为需要充电的车。其中奔驰车中包含跑车和商务车两种,特斯拉同样也包含跑车和商务车
4040

4141
[<img src="http://www.hollischuang.com/wp-content/uploads/2016/04/QQ20160419-1.png" alt="QQ20160419-1" width="657" height="554" class="alignnone size-full wp-image-1422" />][6]
4242

docs/advance/design-patterns/adapter-pattern.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ GOF中将适配器模式分为类适配器模式和对象适配器模式。区
125125
public void charge(){
126126
System.out.println("开始给我的GalaxyS7手机充电...");
127127
microUsbInterface.chargeWithMicroUsb();
128-
System.out.println("开始给我的GalaxyS7手机充电...");
128+
System.out.println("结束给我的GalaxyS7手机充电...");
129129
}
130130

131131
public MicroUsbInterface getMicroUsbInterface() {
@@ -203,14 +203,14 @@ GOF中将适配器模式分为类适配器模式和对象适配器模式。区
203203
==============================
204204
开始给我的GalaxyS7手机充电...
205205
使用MicroUsb型号的充电器充电...
206-
开始给我的GalaxyS7手机充电...
206+
结束给我的GalaxyS7手机充电...
207207
==============================
208208
开始给我的Iphone6Plus手机充电...
209209
使用MicroUsb型号的充电器充电...
210210
结束给我的Iphone6Plus手机充电...
211211

212212

213-
上面的例子通过适配器,把一个MicroUsb型号的充电器用来给Iphone充电。从代码层面,就是通过适配器复用了MicroUsb接口及其实现类。在很大程度上福永了已有的代码
213+
上面的例子通过适配器,把一个MicroUsb型号的充电器用来给Iphone充电。从代码层面,就是通过适配器复用了MicroUsb接口及其实现类。在很大程度上复用了已有的代码
214214

215215
## 优缺点
216216

docs/advance/design-patterns/strategy-pattern.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@
8888

8989
@Override
9090
public double calPrice(double bookPrice) {
91-
System.out.println("对于中级会员的折扣为20%");
91+
System.out.println("对于高级会员的折扣为20%");
9292
return bookPrice * 0.8;
9393
}
9494
}
@@ -149,7 +149,7 @@
149149
}
150150
}
151151

152-
//对于中级会员的折扣为20%
152+
//对于高级会员的折扣为20%
153153
//高级会员图书的最终价格为:240.0
154154
//对于中级会员的折扣为10%
155155
//中级会员图书的最终价格为:270.0

docs/basics/concurrent-coding/concurrent.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
并发(Concurrent),在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行。
22

3-
那么,操作系统视如何实现这种并发的呢
3+
那么,操作系统是如何实现这种并发的呢
44

55
现在我们用到操作系统,无论是Windows、Linux还是MacOS等其实都是**多用户多任务分时操作系统**。使用这些操作系统的用户是可以“同时”干多件事的。
66

docs/basics/concurrent-coding/debug-in-multithread.md

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

33
但是我之前面试过很多人,很多人都知道多线程怎么实现,但是却不知道如何调试多线程的代码,这篇文章我们来介绍下如何调试多线程的代码。
44

5-
首先我们写一个多线程的例子,使用继承Runnable接口的方式定义多个线程,并启动执行。
5+
首先我们写一个多线程的例子,使用实现Runnable接口的方式定义多个线程,并启动执行。
66

77
/**
88
* @author Hollis

docs/basics/java-basic/enum-class.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ Java中定义枚举是使用enum关键字的,但是Java中其实还有一个ja
1111

1212
这个类我们在日常开发中不会用到,但是其实我们使用enum定义的枚举,其实现方式就是通过继承Enum类实现的。
1313

14-
当我们使用enmu来定义一个枚举类型的时候,编译器会自动帮我们创建一个final类型的类继承Enum类,所以枚举类型不能被继承。
14+
当我们使用enum来定义一个枚举类型的时候,编译器会自动帮我们创建一个final类型的类继承Enum类,所以枚举类型不能被继承。

docs/basics/java-basic/enum-singleton.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,14 @@
3939
private volatile static Singleton singleton;
4040
private Singleton (){}
4141
public static Singleton getSingleton() {
42-
if (singleton == null) {
43-
synchronized (Singleton.class) {
4442
if (singleton == null) {
45-
singleton = new Singleton();
43+
synchronized (Singleton.class) {
44+
if (singleton == null) {
45+
singleton = new Singleton();
46+
}
47+
}
4648
}
47-
}
48-
}
49-
return singleton;
49+
return singleton;
5050
}
5151
}
5252

docs/basics/java-basic/final-string.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ String s2 = s;
7070

7171
当我们在程序中传递一个字符串的时候,如果这个字符串的内容是不可变的,那么我们就可以相信这个字符串中的内容。
7272

73-
但是,如果是可变的,那么这个字符串内容就可能随时都被修改。那么这个字符串内容就完全可信了。这样整个系统就没有安全性可言了。
73+
但是,如果是可变的,那么这个字符串内容就可能随时都被修改。那么这个字符串内容就完全不可信了。这样整个系统就没有安全性可言了。
7474

7575
#### 线程安全
7676

docs/basics/java-basic/hash-in-hashmap.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
}
8080

8181

82-
前面我说过,`indexFor`方法其实主要是将hash生成的整型转换成链表数组中的下标。那么`return h & (length-1);`是什么意思呢?其实,他就是取模。Java之所有使用位运算(&)来代替取模运算(%),最主要的考虑就是效率。**位运算(&)效率要比代替取模运算(%)高很多,主要原因是位运算直接对内存数据进行操作,不需要转成十进制,因此处理速度非常快。**
82+
前面我说过,`indexFor`方法其实主要是将hash生成的整型转换成链表数组中的下标。那么`return h & (length-1);`是什么意思呢?其实,他就是取模。Java之所以使用位运算(&)来代替取模运算(%),最主要的考虑就是效率。**位运算(&)效率要比代替取模运算(%)高很多,主要原因是位运算直接对内存数据进行操作,不需要转成十进制,因此处理速度非常快。**
8383

8484
那么,为什么可以使用位运算(&)来实现取模运算(%)呢?这实现的原理如下:
8585

docs/basics/java-basic/hashmap-default-capacity.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ Step 1 怎么理解呢?其实是对一个二进制数依次向右移位,然
194194

195195
### 扩容
196196

197-
除了初始化的时候回指定HashMap的容量,在进行扩容的时候,其容量也可能会改变。
197+
除了初始化的时候会指定HashMap的容量,在进行扩容的时候,其容量也可能会改变。
198198

199199
HashMap有扩容机制,就是当达到扩容条件时会进行扩容。HashMap的扩容条件就是当HashMap中的元素个数(size)超过临界值(threshold)时就会自动扩容。
200200

0 commit comments

Comments
 (0)