Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 0c38c98

Browse files
Merge branch 'master' into JavaGuide-fs
2 parents 43d5367 + 12fd03e commit 0c38c98

File tree

4 files changed

+8
-6
lines changed

4 files changed

+8
-6
lines changed

‎docs/java/Java基础知识.md‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,8 +227,10 @@ new 运算符,new 创建对象实例(对象实例在堆内存中),对象
227227
对象的相等,比的是内存中存放的内容是否相等。而引用相等,比较的是他们指向的内存地址是否相等。
228228

229229
### 2.2 面向对象三大特征
230+
230231
#### 2.2.1 封装
231232
封装是指把一个对象的状态信息(也就是属性)隐藏在对象内部,不允许外部对象直接访问对象的内部信息。但是可以提供一些可以被外界访问的方法来操作属性。就好像我们看不到挂在墙上的空调的内部的零件信息(也就是属性),但是可以通过遥控器(方法)来控制空调。如果属性不想被外界访问,我们大可不必提供方法给外界访问。但是如果一个类没有提供给外界访问的方法,那么这个类也没有什么意义了。就好像如果没有空调遥控器,那么我们就无法操控空凋制冷,空调本身就没有意义了(当然现在还有很多其他方法 ,这里只是为了举例子)。
233+
232234
```java
233235
public class Student {
234236
private int id;//id属性私有化
@@ -302,6 +304,7 @@ final 关键字主要用在三个地方:变量、方法、类。
302304
3. 使用 final 方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。在早期的 Java 实现版本中,会将 final 方法转为内嵌调用。但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升(现在的 Java 版本已经不需要使用 final 方法进行这些优化了)。类中所有的 private 方法都隐式地指定为 final。
303305

304306
### 2.4 接口
307+
305308
#### 2.4.1 接口和抽象类的区别是什么?
306309

307310
1. 接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),而抽象类可以有非抽象的方法。
@@ -324,8 +327,6 @@ final 关键字主要用在三个地方:变量、方法、类。
324327
### 2.5 类的扩展
325328
#### 2.5.1 String StringBuffer 和 StringBuilder 的区别是什么? String 为什么是不可变的?
326329

327-
**可变性**
328-
329330
简单的来说:String 类中使用 final 关键字修饰字符数组来保存字符串,`private final char value[]`,所以 String 对象是不可变的。
330331

331332
> 补充(来自[issue 675](https://github.com/Snailclimb/JavaGuide/issues/675)):在 Java 9 之后,String 类的实现改用 byte 数组存储字符串 `private final byte[] value`;

‎docs/java/Multithread/JavaConcurrencyAdvancedCommonInterviewQuestions.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public class Singleton {
7373
private Singleton() {
7474
}
7575

76-
public static Singleton getUniqueInstance() {
76+
public synchronizedstatic Singleton getUniqueInstance() {
7777
//先判断对象是否已经实例过,没有实例化过才进入加锁代码
7878
if (uniqueInstance == null) {
7979
//类对象加锁

‎docs/java/collection/Java集合框架常见面试题.md‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -384,10 +384,11 @@ public class Person implements Comparable<Person> {
384384
// TODO Auto-generated method stub
385385
if (this.age > o.getAge()) {
386386
return 1;
387-
} else if (this.age < o.getAge()) {
387+
}
388+
if (this.age < o.getAge()) {
388389
return -1;
389390
}
390-
return age;
391+
return 0;
391392
}
392393
}
393394

‎docs/questions/java-learning-path-and-methods.md‎

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

33
**下面的学习路线以及方法是笔主根据个人学习经历总结改进后得出,我相信照着这条学习路线来你的学习效率会非常高。**
44

5-
学习某个知识点的过程中如果不知道看什么书的话,可以查看这篇文章 :[Java 学习必备书籍推荐终极版!](https://github.com/Snailclimb/JavaGuide/blob/master/docs/data/java-recommended-books.md)
5+
学习某个知识点的过程中如果不知道看什么书的话,可以查看这篇文章 :[Java 学习必备书籍推荐终极版!](https://github.com/Snailclimb/JavaGuide/blob/master/docs/books/java.md)
66

77
另外,很重要的一点:**建议使用 Intellij IDEA 进行编码,可以单独抽点时间学习 Intellij IDEA 的使用。**
88

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /