Skip to content

Commit 158dfb0

Browse files
committed
结构调整
1 parent 9239563 commit 158dfb0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+885
-163
lines changed

README.md

Lines changed: 62 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -43,105 +43,101 @@
4343

4444
- [什么是 Java](docs/overview/what-is-java.md)
4545
- [Java 发展简史](docs/overview/java-history.md)
46-
- [Java 为什么如此流行](docs/overview/why-java-popular.md)
47-
- [环境准备:Intellij IDEA](docs/overview/idea.md)
48-
- [第一个 Java 程序:Hello World](docs/overview/hello-world.md)
46+
- [Java 的优势](docs/overview/java-advantage.md)
4947
- [JDK 和 JRE 有什么区别](docs/overview/jdk-jre.md)
50-
- [JVM 是什么](docs/overview/jvm.md)
48+
- [安装集成开发环境 Intellij IDEA](docs/overview/idea.md)
49+
- [第一个 Java 程序:Hello World](docs/overview/hello-world.md)
50+
5151

5252
### **Java 基础语法**
5353

54-
- [一网打尽 Java 的那些关键字](docs/core-grammar/java-keywords.md)
55-
- [Java 数据类型有哪些](docs/core-grammar/java-data-type.md)
56-
- [流程控制语句有哪些?图解版](docs/control/java-control.md)
57-
- [Java 运算符有哪些?](docs/core-grammar/java-operator.md)
58-
- [Java 注释:程序的注解](docs/overview/javadoc.md)
59-
- [技术大佬的必备素质:命名优雅](docs/core-grammar/java-naming.md)
54+
- [基本数据类型](docs/basic-grammar/basic-data-type.md)
55+
- [流程控制](docs/basic-grammar/flow-control.md)
56+
- [运算符](docs/basic-grammar/operator.md)
57+
- [注释:代码的最强辅助](docs/basic-grammar/javadoc.md)
6058

6159
### **面向对象**
6260

63-
- [对象和类的相爱相杀](docs/object-class/java-object-class.md)
64-
- [Java 变量类型有哪些](docs/core-grammar/java-var.md)
65-
- [方法:我负责程序的行为](docs/object-class/java-method.md)
66-
- [构造方法:对象初始化的必经之路](docs/object-class/java-construct.md)
67-
- [代码初始化块:让我先走一步](docs/object-class/code-init.md)
68-
- [抽象类:子类复用的基石](docs/object-class/java-abstract.md)
69-
- [接口:抽象的另外一种表现形式](docs/object-class/java-interface.md)
70-
71-
### **关键字详解**
61+
- [什么是对象?什么是类](docs/oo/object-class.md)
62+
- [变量](docs/oo/var.md)
63+
- [方法](docs/oo/method.md)
64+
- [构造方法](docs/oo/construct.md)
65+
- [代码初始化块](docs/oo/code-init.md)
66+
- [抽象类](docs/oo/java-abstract.md)
67+
- [接口](docs/oo/interface.md)
68+
- [static 关键字](docs/oo/static.md)
69+
- [this 和 super 关键字](docs/oo/this-super.md)
70+
- [final 关键字](docs/oo/final.md)
71+
- [instanceof 关键字](docs/oo/instanceof.md)
7272

73-
- [学妹必须学会的 static 关键字](docs/keywords/java-static.md)
74-
- [学弟必须掌握的 this 和 super ](docs/keywords/java-this.md)
75-
- [再见了,我的 final 关键字](docs/keywords/java-final.md)
76-
- [判断对象的类型:instanceof 关键字](docs/keywords/java-instanceof.md)
7773

7874
### **字符串**
7975

80-
- [从源码的角度来看字符串的不可变性](docs/string/source.md)
81-
- [学弟学妹都必须掌握的字符串常量池](docs/string/constant-pool.md)
82-
- [深入浅出之美团技术团队解析过的 String.intern](docs/string/intern.md)
76+
- [String 为什么是不可变的](docs/string/immutable.md)
77+
- [字符串常量池](docs/string/constant-pool.md)
78+
- [深入浅出 String.intern](docs/string/intern.md)
8379
- [如何比较两个字符串是否相等](docs/string/equals.md)
8480
- [如何拼接字符串](docs/string/join.md)
8581
- [如何拆分字符串](docs/string/split.md)
8682

8783
### **数组**
8884

89-
- [最重要的数据结构之一](docs/array/gailan.md)
90-
- [数组的专用工具类:java.util.Arrays](docs/array/arrays.md)
91-
- [打印数组最优雅的方式:deepToString](docs/array/print.md)
92-
93-
### **泛型**
94-
95-
- [晦涩难懂的泛型](docs/generic/generic.md)
96-
- [Java 不能实现真正泛型的原因是什么?](docs/generic/true-generic.md)
97-
98-
### **注解**
99-
100-
- [撸个注解有什么难的](docs/annotation/annotation.md)
101-
102-
### **枚举**
103-
104-
- [单例的最佳实现方式——枚举](docs/enum/enum.md)
85+
- [数组](docs/array/array.md)
86+
- [打印数组](docs/array/print.md)
10587

88+
### **集合框架**
10689

107-
### **反射**
90+
- [初识集合框架](docs/collection/gailan.md)
91+
- [时间复杂度](docs/collection/big-o.md)
92+
- [ArrayList](docs/collection/arraylist.md)
93+
- [LinkedList](docs/collection/linkedlist.md)
94+
- [ArrayList 重拳出击,把 LinkedList 干翻在地](docs/collection/list-war-1.md)
95+
- [被 ArrayList 锤了一拳后,LinkedList 很不服气](docs/collection/list-war-2.md)
96+
- [海康威视一面:Iterator与Iterable有什么区别?](docs/collection/iterator-iterable.md)
97+
- [为什么阿里巴巴强制不要在 foreach 里执行删除操作](docs/collection/fail-fast.md)
98+
- [HashMap 的 hash 原理](docs/collection/hash.md)
99+
- [HashMap 的扩容机制](docs/collection/hashmap-resize.md)
100+
- [HashMap 的加载因子为什么是 0.75](docs/collection/hashmap-loadfactor.md)
101+
- [为什么 HashMap 是线程不安全的?](docs/collection/hashmap-thread-nosafe.md)
102+
- [HashMap 精选面试题(背诵版)](docs/collection/hashmap-interview.md)
108103

109-
- [深入理解 Java 的反射](docs/fanshe/fanshe.md)
110104

111-
### **异常**
105+
### **异常处理**
112106

113107
- [异常处理机制](docs/exception/gailan.md)
114108
- [try-catch-finally](docs/exception/try-catch-finally.md)
115109
- [throw 和 throws](docs/exception/throw-throws.md)
116110
- [try-with-resouces](docs/exception/try-with-resouces.md)
117111
- [异常最佳实践](docs/exception/shijian.md)
118112

113+
### **常用工具类**
119114

120-
### **补充**
115+
- [数组工具类:Arrays](docs/common-tool/arrays.md)
116+
- [集合工具类:Collections](docs/common-tool/collections.md)
121117

122-
- [Java程序在编译期发生了什么](docs/overview/what-happen-when-javac.md)
123-
- [必知必会的 Unicode:躲开锟斤拷](docs/core-points/unicode.md)
124-
- [面试会考,Java 数据类型缓存池](docs/core-points/int-cache.md)
125-
- [傻傻分不清:方法重载和方法重写](docs/core-points/override-overload.md)
126-
- [Java 表示:我只有值传递,没有引用传递](docs/core-points/pass-by-value.md)
127-
- [面试经典题目:浅拷贝与深拷贝有什么区别](docs/core-points/deep-copy.md)
128-
- [自动拆箱与自动装箱,好玩](docs/core-points/box.md)
129-
- [为什么重写 equals 时必须重写 hashCode 方法](docs/core-points/equals-hashcode.md)
118+
### **加餐**
130119

131-
### **集合框架**
120+
- [Java 中常用的 48 个关键字](docs/basic-extra-meal/48-keywords.md)
121+
- [Java 命名约定](docs/basic-extra-meal/java-naming.md)
122+
- [Java 默认的编码方式 Unicode](docs/basic-extra-meal/java-unicode.md)
123+
- [new Integer(18) 与 Integer.valueOf(18) 有什么区别](docs/basic-extra-meal/int-cache.md)
124+
- [自动拆箱与自动装箱](docs/basic-extra-meal/box.md)
125+
- [方法重载和方法重写](docs/basic-extra-meal/override-overload.md)
126+
- [Java 到底是值传递还是引用传递](docs/basic-extra-meal/pass-by-value.md)
127+
- [浅拷贝与深拷贝](docs/basic-extra-meal/deep-copy.md)
128+
- [为什么重写 equals 时必须重写 hashCode 方法](docs/basic-extra-meal/equals-hashcode.md)
129+
- [注解](docs/basic-extra-meal/annotation.md)
130+
- [枚举](docs/basic-extra-meal/enum.md)
131+
- [深入理解 Java 中的反射](docs/basic-extra-meal/fanshe.md)
132+
- [泛型](docs/basic-extra-meal/generic.md)
133+
- [Java 不能实现真正泛型的原因是什么?](docs/basic-extra-meal/true-generic.md)
134+
- [Java程序在编译期发生了什么](docs/basic-extra-meal/what-happen-when-javac.md)
132135

133-
- [初探集合框架](docs/collection/gailan.md)
134-
- [时间复杂度](docs/collection/big-o.md)
135-
- [ArrayList](docs/collection/arraylist.md)
136-
- [LinkedList](docs/collection/linkedlist.md)
137-
- [ArrayList 重拳出击,把 LinkedList 干翻在地](docs/collection/list-war-1.md)
138-
- [被 ArrayList 锤了一拳后,LinkedList 很不服气](docs/collection/list-war-2.md)
139-
- [HashMap 的 hash 方法原理是什么](docs/collection/hash.md)
140-
- [HashMap 的扩容机制](docs/collection/hashmap-resize.md)
141-
- [HashMap 的加载因子为什么是 0.75](docs/collection/hashmap-loadfactor.md)
142-
- [为什么 HashMap 是线程不安全的?](docs/collection/hashmap-thread-nosafe.md)
143-
- [HashMap 精选面试题(背诵版)](docs/collection/hashmap-interview.md)
136+
## Java 进阶
137+
138+
### **Java 虚拟机**
144139

140+
- [JVM 是什么?](docs/jvm/what-is-jvm.md)
145141

146142
# :paw_prints: 联系作者
147143

_sidebar.md

Lines changed: 66 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,101 @@
1-
- **Java 概述**
1+
**Java 概述**
22

33
- [什么是 Java](docs/overview/what-is-java.md)
44
- [Java 发展简史](docs/overview/java-history.md)
5-
- [Java 为什么如此流行](docs/overview/why-java-popular.md)
6-
- [环境准备:Intellij IDEA](docs/overview/idea.md)
7-
- [第一个 Java 程序:Hello World](docs/overview/hello-world.md)
5+
- [Java 的优势](docs/overview/java-advantage.md)
86
- [JDK 和 JRE 有什么区别](docs/overview/jdk-jre.md)
9-
- [JVM 是什么](docs/overview/jvm.md)
7+
- [安装集成开发环境 Intellij IDEA](docs/overview/idea.md)
8+
- [第一个 Java 程序:Hello World](docs/overview/hello-world.md)
109

11-
- **Java 基础语法**
1210

13-
- [一网打尽 Java 的那些关键字](docs/core-grammar/java-keywords.md)
14-
- [Java 数据类型有哪些](docs/core-grammar/java-data-type.md)
15-
- [流程控制语句有哪些?图解版](docs/control/java-control.md)
16-
- [Java 运算符有哪些?](docs/core-grammar/java-operator.md)
17-
- [Java 注释:程序的注解](docs/overview/javadoc.md)
18-
- [技术大佬的必备素质:命名优雅](docs/core-grammar/java-naming.md)
11+
**Java 基础语法**
1912

20-
- **面向对象**
13+
- [基本数据类型](docs/basic-grammar/basic-data-type.md)
14+
- [流程控制](docs/basic-grammar/flow-control.md)
15+
- [运算符](docs/basic-grammar/operator.md)
16+
- [注释:代码的最强辅助](docs/basic-grammar/javadoc.md)
2117

22-
- [对象和类的相爱相杀](docs/object-class/java-object-class.md)
23-
- [Java 变量类型有哪些](docs/core-grammar/java-var.md)
24-
- [方法:我负责程序的行为](docs/object-class/java-method.md)
25-
- [构造方法:对象初始化的必经之路](docs/object-class/java-construct.md)
26-
- [代码初始化块:让我先走一步](docs/object-class/code-init.md)
27-
- [抽象类:子类复用的基石](docs/object-class/java-abstract.md)
28-
- [接口:抽象的另外一种表现形式](docs/object-class/java-interface.md)
18+
**面向对象**
2919

30-
- **关键字详解**
20+
- [什么是对象?什么是类](docs/oo/object-class.md)
21+
- [变量](docs/oo/var.md)
22+
- [方法](docs/oo/method.md)
23+
- [构造方法](docs/oo/construct.md)
24+
- [代码初始化块](docs/oo/code-init.md)
25+
- [抽象类](docs/oo/java-abstract.md)
26+
- [接口](docs/oo/interface.md)
27+
- [static 关键字](docs/oo/static.md)
28+
- [this 和 super 关键字](docs/oo/this-super.md)
29+
- [final 关键字](docs/oo/final.md)
30+
- [instanceof 关键字](docs/oo/instanceof.md)
3131

32-
- [学妹必须学会的 static 关键字](docs/keywords/java-static.md)
33-
- [学弟必须掌握的 this 和 super ](docs/keywords/java-this.md)
34-
- [再见了,我的 final 关键字](docs/keywords/java-final.md)
35-
- [判断对象的类型:instanceof 关键字](docs/keywords/java-instanceof.md)
3632

37-
- **字符串**
33+
**字符串**
3834

39-
- [从源码的角度来看字符串的不可变性](docs/string/source.md)
40-
- [学弟学妹都必须掌握的字符串常量池](docs/string/constant-pool.md)
41-
- [深入浅出之美团技术团队解析过的 String.intern](docs/string/intern.md)
35+
- [String 为什么是不可变的](docs/string/immutable.md)
36+
- [字符串常量池](docs/string/constant-pool.md)
37+
- [深入浅出 String.intern](docs/string/intern.md)
4238
- [如何比较两个字符串是否相等](docs/string/equals.md)
4339
- [如何拼接字符串](docs/string/join.md)
4440
- [如何拆分字符串](docs/string/split.md)
4541

46-
- **数组**
47-
48-
- [最重要的数据结构之一](docs/array/gailan.md)
49-
- [数组的专用工具类:java.util.Arrays](docs/array/arrays.md)
50-
- [打印数组最优雅的方式:deepToString](docs/array/print.md)
51-
52-
- **泛型**
53-
54-
- [晦涩难懂的泛型](docs/generic/generic.md)
55-
- [Java 不能实现真正泛型的原因是什么?](docs/generic/true-generic.md)
56-
57-
- **注解**
58-
59-
- [撸个注解有什么难的](docs/annotation/annotation.md)
42+
**数组**
6043

61-
- **枚举**
44+
- [数组](docs/array/array.md)
45+
- [打印数组](docs/array/print.md)
6246

63-
- [单例的最佳实现方式——枚举](docs/enum/enum.md)
47+
**集合框架**
6448

49+
- [初识集合框架](docs/collection/gailan.md)
50+
- [时间复杂度](docs/collection/big-o.md)
51+
- [ArrayList](docs/collection/arraylist.md)
52+
- [LinkedList](docs/collection/linkedlist.md)
53+
- [ArrayList 重拳出击,把 LinkedList 干翻在地](docs/collection/list-war-1.md)
54+
- [被 ArrayList 锤了一拳后,LinkedList 很不服气](docs/collection/list-war-2.md)
55+
- [海康威视一面:Iterator与Iterable有什么区别?](docs/collection/iterator-iterable.md)
56+
- [为什么阿里巴巴强制不要在 foreach 里执行删除操作](docs/collection/fail-fast.md)
57+
- [HashMap 的 hash 原理](docs/collection/hash.md)
58+
- [HashMap 的扩容机制](docs/collection/hashmap-resize.md)
59+
- [HashMap 的加载因子为什么是 0.75](docs/collection/hashmap-loadfactor.md)
60+
- [为什么 HashMap 是线程不安全的?](docs/collection/hashmap-thread-nosafe.md)
61+
- [HashMap 精选面试题(背诵版)](docs/collection/hashmap-interview.md)
6562

66-
- **反射**
67-
68-
- [深入理解 Java 的反射](docs/fanshe/fanshe.md)
6963

70-
- **异常**
64+
**异常处理**
7165

7266
- [异常处理机制](docs/exception/gailan.md)
7367
- [try-catch-finally](docs/exception/try-catch-finally.md)
7468
- [throw 和 throws](docs/exception/throw-throws.md)
7569
- [try-with-resouces](docs/exception/try-with-resouces.md)
7670
- [异常最佳实践](docs/exception/shijian.md)
7771

72+
**常用工具类**
7873

79-
- **补充**
74+
- [数组工具类:Arrays](docs/common-tool/arrays.md)
75+
- [集合工具类:Collections](docs/common-tool/collections.md)
8076

81-
- [Java程序在编译期发生了什么](docs/overview/what-happen-when-javac.md)
82-
- [必知必会的 Unicode:躲开锟斤拷](docs/core-points/unicode.md)
83-
- [面试会考,Java 数据类型缓存池](docs/core-points/int-cache.md)
84-
- [傻傻分不清:方法重载和方法重写](docs/core-points/override-overload.md)
85-
- [Java 表示:我只有值传递,没有引用传递](docs/core-points/pass-by-value.md)
86-
- [面试经典题目:浅拷贝与深拷贝有什么区别](docs/core-points/deep-copy.md)
87-
- [自动拆箱与自动装箱,好玩](docs/core-points/box.md)
88-
- [为什么重写 equals 时必须重写 hashCode 方法](docs/core-points/equals-hashcode.md)
77+
**加餐**
8978

90-
- **集合框架**
79+
- [Java 中常用的 48 个关键字](docs/basic-extra-meal/48-keywords.md)
80+
- [Java 命名约定](docs/basic-extra-meal/java-naming.md)
81+
- [Java 默认的编码方式 Unicode](docs/basic-extra-meal/java-unicode.md)
82+
- [new Integer(18) 与 Integer.valueOf(18) 有什么区别](docs/basic-extra-meal/int-cache.md)
83+
- [自动拆箱与自动装箱](docs/basic-extra-meal/box.md)
84+
- [方法重载和方法重写](docs/basic-extra-meal/override-overload.md)
85+
- [Java 到底是值传递还是引用传递](docs/basic-extra-meal/pass-by-value.md)
86+
- [浅拷贝与深拷贝](docs/basic-extra-meal/deep-copy.md)
87+
- [为什么重写 equals 时必须重写 hashCode 方法](docs/basic-extra-meal/equals-hashcode.md)
88+
- [注解](docs/basic-extra-meal/annotation.md)
89+
- [枚举](docs/basic-extra-meal/enum.md)
90+
- [深入理解 Java 中的反射](docs/basic-extra-meal/fanshe.md)
91+
- [泛型](docs/basic-extra-meal/generic.md)
92+
- [Java 不能实现真正泛型的原因是什么?](docs/basic-extra-meal/true-generic.md)
93+
- [Java程序在编译期发生了什么](docs/basic-extra-meal/what-happen-when-javac.md)
9194

92-
- [初探集合框架](docs/collection/gailan.md)
93-
- [时间复杂度](docs/collection/big-o.md)
94-
- [ArrayList](docs/collection/arraylist.md)
95-
- [LinkedList](docs/collection/linkedlist.md)
96-
- [ArrayList 重拳出击,把 LinkedList 干翻在地](docs/collection/list-war-1.md)
97-
- [被 ArrayList 锤了一拳后,LinkedList 很不服气](docs/collection/list-war-2.md)
98-
- [HashMap 的 hash 方法原理是什么](docs/collection/hash.md)
99-
- [HashMap 的扩容机制](docs/collection/hashmap-resize.md)
100-
- [HashMap 的加载因子为什么是 0.75](docs/collection/hashmap-loadfactor.md)
101-
- [为什么 HashMap 是线程不安全的?](docs/collection/hashmap-thread-nosafe.md)
102-
- [HashMap 精选面试题(背诵版)](docs/collection/hashmap-interview.md)
95+
96+
**Java 虚拟机**
97+
98+
- [JVM 是什么?](docs/jvm/what-is-jvm.md)
10399

104100
- **其他:**
105101

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## 数组概览
1+
## 数组
22

33
“哥,我看你之前的文章里提到,ArrayList 的内部是用数组实现的,我就对数组非常感兴趣,想深入地了解一下,今天终于到这个环节了,好期待呀!”三妹的语气里显得很兴奋。
44

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## 关键字
1+
## Java 中常用的 48 个关键字
22

33
“二哥,就我之前学过的这些 Java 代码中,有 public、static、void、main 等等,它们应该都是关键字吧?”三妹的脸上泛着甜甜的笑容,我想她在学习 Java 方面已经变得越来越自信了。
44

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## 撸个注解有什么难的
1+
## 注解
22

33
“二哥,这节讲注解吗?”三妹问。
44

File renamed without changes.
File renamed without changes.
File renamed without changes.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## 深入理解 Java 的反射
1+
## 深入理解 Java 中的反射
22

33
“二哥,什么是反射呀?”三妹开门见山地问。
44

0 commit comments

Comments
 (0)