|
71 | 71 |
|
72 | 72 | ## Java概述
|
73 | 73 |
|
74 |
| -- [什么是 Java?](docs/overview/what-is-java.md) |
75 |
| -- [Java 的发展简史](docs/overview/java-history.md) |
76 |
| -- [Java 的优势](docs/overview/java-advantage.md) |
77 |
| -- [JDK 和 JRE 有什么区别?](docs/overview/jdk-jre.md) |
78 |
| -- [手把手教你安装集成开发环境 Intellij IDEA](docs/overview/idea.md) |
79 |
| -- [第一个 Java 程序:Hello World](docs/overview/hello-world.md) |
| 74 | +- [什么是Java?Java发展简史,Java的优势](docs/overview/what-is-java.md) |
| 75 | +- [JDK和JRE有什么区别?](docs/overview/jdk-jre.md) |
| 76 | +- [安装集成开发环境Intellij IDEA](docs/overview/idea.md) |
| 77 | +- [第一个Java程序:Hello World](docs/overview/hello-world.md) |
80 | 78 |
|
81 | 79 |
|
82 | 80 | ## Java基础语法
|
83 | 81 |
|
84 |
| -- [基本数据类型](docs/basic-grammar/basic-data-type.md) |
85 |
| -- [流程控制](docs/basic-grammar/flow-control.md) |
86 |
| -- [运算符](docs/basic-grammar/operator.md) |
87 |
| -- [注释](docs/basic-grammar/javadoc.md) |
88 |
| - |
89 |
| -## 面向对象 |
90 |
| - |
91 |
| -- [什么是对象?什么是类](docs/oo/object-class.md) |
92 |
| -- [变量](docs/oo/var.md) |
93 |
| -- [方法](docs/oo/method.md) |
94 |
| -- [构造方法](docs/oo/construct.md) |
95 |
| -- [代码初始化块](docs/oo/code-init.md) |
96 |
| -- [抽象类](docs/oo/abstract.md) |
97 |
| -- [接口](docs/oo/interface.md) |
98 |
| -- [static 关键字](docs/oo/static.md) |
99 |
| -- [this 和 super 关键字](docs/oo/this-super.md) |
100 |
| -- [final 关键字](docs/oo/final.md) |
101 |
| -- [instanceof 关键字](docs/oo/instanceof.md) |
102 |
| -- [不可变对象](docs/basic-extra-meal/immutable.md) |
103 |
| -- [可变参数](docs/basic-extra-meal/varables.md) |
104 |
| -- [泛型](docs/basic-extra-meal/generic.md) |
105 |
| -- [注解](docs/basic-extra-meal/annotation.md) |
106 |
| -- [枚举](docs/basic-extra-meal/enum.md) |
107 |
| -- [反射](docs/basic-extra-meal/fanshe.md) |
108 |
| - |
109 |
| -## 字符串String |
110 |
| - |
111 |
| -- [String 为什么是不可变的?](docs/string/immutable.md) |
112 |
| -- [字符串常量池](docs/string/constant-pool.md) |
113 |
| -- [深入浅出 String.intern](docs/string/intern.md) |
114 |
| -- [如何比较两个字符串是否相等?](docs/string/equals.md) |
115 |
| -- [如何拼接字符串?](docs/string/join.md) |
116 |
| -- [如何拆分字符串?](docs/string/split.md) |
117 |
| - |
118 |
| -## 数组 |
119 |
| - |
120 |
| -- [什么是数组?](docs/array/array.md) |
121 |
| -- [如何打印数组?](docs/array/print.md) |
| 82 | +- [Java支持的8种基本数据类型](docs/basic-grammar/basic-data-type.md) |
| 83 | +- [Java流程控制语句](docs/basic-grammar/flow-control.md) |
| 84 | +- [Java运算符](docs/basic-grammar/operator.md) |
| 85 | +- [Java注释:单行、多行和文档注释](docs/basic-grammar/javadoc.md) |
| 86 | +- [Java中常用的48个关键字](docs/basic-extra-meal/48-keywords.md) |
| 87 | +- [Java命名规范(非常全面,可以收藏)](docs/basic-extra-meal/java-naming.md) |
| 88 | + |
| 89 | +## Java面向对象编程 |
| 90 | + |
| 91 | +- [怎么理解Java中类和对象的概念?](docs/oo/object-class.md) |
| 92 | +- [Java变量的作用域:局部变量、成员变量、静态变量、常量](docs/oo/var.md) |
| 93 | +- [Java方法](docs/oo/method.md) |
| 94 | +- [Java构造方法](docs/oo/construct.md) |
| 95 | +- [Java代码初始化块](docs/oo/code-init.md) |
| 96 | +- [Java抽象类](docs/oo/abstract.md) |
| 97 | +- [Java接口](docs/oo/interface.md) |
| 98 | +- [Java中的static关键字解析](docs/oo/static.md) |
| 99 | +- [Java中this和super的用法总结](docs/oo/this-super.md) |
| 100 | +- [浅析Java中的final关键字](docs/oo/final.md) |
| 101 | +- [Java instanceof关键字用法](docs/oo/instanceof.md) |
| 102 | +- [深入理解Java中的不可变对象](docs/basic-extra-meal/immutable.md) |
| 103 | +- [Java中可变参数的使用](docs/basic-extra-meal/varables.md) |
| 104 | +- [深入理解Java泛型](docs/basic-extra-meal/generic.md) |
| 105 | +- [深入理解Java注解](docs/basic-extra-meal/annotation.md) |
| 106 | +- [Java枚举(enum)](docs/basic-extra-meal/enum.md) |
| 107 | +- [大白话说Java反射:入门、使用、原理](docs/basic-extra-meal/fanshe.md) |
| 108 | + |
| 109 | +## 字符串&数组 |
| 110 | + |
| 111 | +- [为什么String是不可变的?](docs/string/immutable.md) |
| 112 | +- [深入了解Java字符串常量池](docs/string/constant-pool.md) |
| 113 | +- [深入解析 String#intern](docs/string/intern.md) |
| 114 | +- [Java判断两个字符串是否相等?](docs/string/equals.md) |
| 115 | +- [Java字符串拼接的几种方式](docs/string/join.md) |
| 116 | +- [如何在Java中优雅地分割String字符串?](docs/string/split.md) |
| 117 | +- [深入理解Java数组](docs/array/array.md) |
| 118 | +- [如何优雅地打印Java数组?](docs/array/print.md) |
122 | 119 |
|
123 | 120 | ## 集合框架(容器)
|
124 | 121 |
|
125 |
| -- [Java 中的集合框架该如何分类?](docs/collection/gailan.md) |
126 |
| -- [简单介绍下时间复杂度](docs/collection/big-o.md) |
127 |
| -- [ArrayList](docs/collection/arraylist.md) |
128 |
| -- [LinkedList](docs/collection/linkedlist.md) |
129 |
| -- [ArrayList 和 LinkedList 之增删改查的时间复杂度](docs/collection/list-war-1.md) |
130 |
| -- [ArrayList 和 LinkedList 的实现方式以及性能对比](docs/collection/list-war-2.md) |
131 |
| -- [Iterator与Iterable有什么区别?](docs/collection/iterator-iterable.md) |
132 |
| -- [为什么阿里巴巴强制不要在 foreach 里执行删除操作](docs/collection/fail-fast.md) |
133 |
| -- [详细讲解 HashMap 的 hash 原理](docs/collection/hash.md) |
134 |
| -- [详细讲解 HashMap 的扩容机制](docs/collection/hashmap-resize.md) |
135 |
| -- [HashMap 的加载因子为什么是 0.75?](docs/collection/hashmap-loadfactor.md) |
136 |
| -- [为什么 HashMap 是线程不安全的?](docs/collection/hashmap-thread-nosafe.md) |
| 122 | +- [Java集合框架](docs/collection/gailan.md) |
| 123 | +- [Java集合ArrayList详解](docs/collection/arraylist.md) |
| 124 | +- [Java集合LinkedList详解](docs/collection/linkedlist.md) |
| 125 | +- [Java中ArrayList和LinkedList的区别](docs/collection/list-war-2.md) |
| 126 | +- [Java中的Iterator和Iterable区别](docs/collection/iterator-iterable.md) |
| 127 | +- [为什么阿里巴巴强制不要在foreach里执行删除操作](docs/collection/fail-fast.md) |
| 128 | +- [Java8系列之重新认识HashMap](docs/collection/hashmap.md) |
| 129 | + |
| 130 | +## Java I/O |
| 131 | + |
| 132 | +- [Java IO学习整理](docs/io/shangtou.md) |
| 133 | +- [如何给女朋友解释什么是 BIO、NIO 和 AIO?](docs/io/BIONIOAIO.md) |
137 | 134 |
|
138 | 135 |
|
139 | 136 | ## 异常处理
|
140 | 137 |
|
141 |
| -- [聊聊异常处理机制](docs/exception/gailan.md) |
142 |
| -- [关于 try-catch-finally](docs/exception/try-catch-finally.md) |
143 |
| -- [关于 throw 和 throws](docs/exception/throw-throws.md) |
144 |
| -- [关于 try-with-resouces](docs/exception/try-with-resouces.md) |
145 |
| -- [异常处理机制到底该怎么用?](docs/exception/shijian.md) |
| 138 | +- [一文读懂Java异常处理](docs/exception/gailan.md) |
| 139 | +- [详解Java7新增的try-with-resouces语法](docs/exception/try-with-resouces.md) |
| 140 | +- [Java异常处理的20个最佳实践](docs/exception/shijian.md) |
| 141 | +- [Java空指针NullPointerException的传说](docs/exception/npe.md) |
146 | 142 |
|
147 | 143 | ## 常用工具类
|
148 | 144 |
|
149 |
| -- [数组工具类:Arrays](docs/common-tool/arrays.md) |
150 |
| -- [集合工具类:Collections](docs/common-tool/collections.md) |
151 |
| -- [简化每一行代码工具类:Hutool](docs/common-tool/hutool.md) |
152 |
| -- [Guava,拯救垃圾代码,效率提升N倍](docs/common-tool/guava.md) |
| 145 | +- [Java Arrays工具类10大常用方法](docs/common-tool/arrays.md) |
| 146 | +- [Java集合框架:Collections工具类](docs/common-tool/collections.md) |
| 147 | +- [Hutool:国产良心工具包,让你的Java变得更甜](docs/common-tool/hutool.md) |
| 148 | +- [Google开源的Guava工具库,太强大了~](docs/common-tool/guava.md) |
153 | 149 |
|
154 |
| -## Java8新特性 |
| 150 | +## Java新特性 |
155 | 151 |
|
156 |
| -- [入门Java Stream流](https://mp.weixin.qq.com/s/7hNUjjmqKcHDtymsfG_Gtw) |
157 |
| -- [Java 8 Optional 最佳指南](https://mp.weixin.qq.com/s/PqK0KNVHyoEtZDtp5odocA) |
158 |
| -- [Lambda 表达式入门](https://mp.weixin.qq.com/s/ozr0jYHIc12WSTmmd_vEjw) |
| 152 | +- [Java 8 Stream流详细用法](docs/java8/stream.md) |
| 153 | +- [Java 8 Optional最佳指南](docs/java8/optional.md) |
| 154 | +- [深入浅出Java 8 Lambda表达式](docs/java8/Lambda.md) |
159 | 155 |
|
160 | 156 | ## Java重要知识点
|
161 | 157 |
|
162 |
| -- [Java 中常用的 48 个关键字](docs/basic-extra-meal/48-keywords.md) |
163 |
| -- [Java 命名的注意事项](docs/basic-extra-meal/java-naming.md) |
164 |
| -- [详解 Java 的默认编码方式 Unicode](docs/basic-extra-meal/java-unicode.md) |
165 |
| -- [new Integer(18)与Integer.valueOf(18)有什么区别?](docs/basic-extra-meal/int-cache.md) |
166 |
| -- [聊聊自动拆箱与自动装箱](docs/basic-extra-meal/box.md) |
167 |
| -- [浅拷贝与深拷贝究竟有什么不一样?](docs/basic-extra-meal/deep-copy.md) |
168 |
| -- [为什么重写 equals 时必须重写 hashCode 方法?](docs/basic-extra-meal/equals-hashcode.md) |
169 |
| -- [方法重载和方法重写有什么区别?](docs/basic-extra-meal/override-overload.md) |
170 |
| -- [Java 到底是值传递还是引用传递?](docs/basic-extra-meal/pass-by-value.md) |
171 |
| -- [Java 不能实现真正泛型的原因是什么?](docs/basic-extra-meal/true-generic.md) |
172 |
| -- [Java 程序在编译期发生了什么?](docs/basic-extra-meal/what-happen-when-javac.md) |
173 |
| -- [Comparable和Comparator有什么区别?](docs/basic-extra-meal/comparable-omparator.md) |
174 |
| -- [Java IO 流详细划分](docs/io/shangtou.md) |
175 |
| -- [如何给女朋友解释什么是 BIO、NIO 和 AIO?](https://mp.weixin.qq.com/s/QQxrr5yP8X9YdFqIwXDoQQ) |
176 |
| -- [为什么 Object 类需要一个 hashCode() 方法呢?](https://mp.weixin.qq.com/s/PcbMQ5VGnPXlcgIsK8AW4w) |
177 |
| -- [重写的 11 条规则](https://mp.weixin.qq.com/s/tmaK5DSjQhA0IvTrSvKkQQ) |
178 |
| -- [空指针的传说](https://mp.weixin.qq.com/s/PDfd8HRtDZafXl47BCxyGg) |
| 158 | +- [彻底弄懂Java中的Unicode和UTF-8编码](docs/basic-extra-meal/java-unicode.md) |
| 159 | +- [Java中int、Integer、new Integer之间的区别](docs/basic-extra-meal/int-cache.md) |
| 160 | +- [深入剖析Java中的拆箱和装箱](docs/basic-extra-meal/box.md) |
| 161 | +- [彻底讲明白的Java浅拷贝与深拷贝](docs/basic-extra-meal/deep-copy.md) |
| 162 | +- [深入理解Java中的hashCode方法](docs/basic-extra-meal/hashcode.md) |
| 163 | +- [一次性搞清楚equals和hashCode](docs/basic-extra-meal/equals-hashcode.md) |
| 164 | +- [Java重写(Override)与重载(Overload)](docs/basic-extra-meal/override-overload.md) |
| 165 | +- [Java重写(Overriding)时应当遵守的11条规则](docs/basic-extra-meal/Overriding.md) |
| 166 | +- [Java到底是值传递还是引用传递?](docs/basic-extra-meal/pass-by-value.md) |
| 167 | +- [Java不能实现真正泛型的原因是什么?](docs/basic-extra-meal/true-generic.md) |
| 168 | +- [详解Java中Comparable和Comparator的区别](docs/basic-extra-meal/comparable-omparator.md) |
179 | 169 |
|
180 | 170 |
|
181 | 171 | ## Java并发编程
|
|
193 | 183 |
|
194 | 184 | - [JVM 是什么?](docs/jvm/what-is-jvm.md)
|
195 | 185 | - [Java 创建的对象到底放在哪?](docs/jvm/whereis-the-object.md)
|
| 186 | +- [Java程序在编译期发生了什么?](docs/basic-extra-meal/what-happen-when-javac.md) |
196 | 187 | - [图解 Java 垃圾回收机制](https://mp.weixin.qq.com/s/RQGImK3-SrvJfs8eYCiv4A)
|
197 | 188 | - [Java 字节码指令](https://mp.weixin.qq.com/s/GKe9F-IZZnw-f-_fRd_sZQ)
|
198 | 189 | - [轻松看懂 Java 字节码](https://mp.weixin.qq.com/s/DRMBsE4iZjJt4xF-AS4w-g)
|
|
0 commit comments