README.md 11.4 KB
Newer Older
沉默王二's avatar
沉默王二 已提交
1
# :rainbow: To Be Better Javaer,Java 程序员进阶之路 - 通俗易懂、风趣幽默
沉默王二's avatar
沉默王二 已提交
2

沉默王二's avatar
qqq  
沉默王二 已提交
3
> **作者:** 沉默王二,Java Developer,[:pencil2: 个人博客](https://itwanger.com),[:books: 计算机经典书单(download)](https://mp.weixin.qq.com/s/qwUtTbfDB36VSwnjMRakqA)
沉默王二's avatar
沉默王二 已提交
4

沉默王二's avatar
沉默王二 已提交
5
>🌈 Java 程序员进阶之路,本专栏风趣幽默、通俗易懂,对 Java 爱好者极度友好和舒适😄,内容包括 Java 基础、Java 并发编程、Java 虚拟机、Java 面试题、Java 企业级开发(Git、SSM、Spring Boot)、计算机基础知识(操作系统、计组、计网、数据结构与算法)等核心知识点。如果本专栏为你提供了帮助,请给予支持(star一下,或者推荐给你的朋友)!
沉默王二's avatar
沉默王二 已提交
6

沉默王二's avatar
预览  
沉默王二 已提交
7

沉默王二's avatar
沉默王二 已提交
8
# ⛳目录
沉默王二's avatar
补充  
沉默王二 已提交
9

沉默王二's avatar
沉默王二 已提交
10 11 12 13 14
- 仓库同步:[Github](https://github.com/itwanger/toBeBetterJavaer) | [码云](https://gitee.com/itwanger/toBeBetterJavaer) | [CodeChina](https://codechina.csdn.net/qing_gee/toBeBetterJavaer)
- [学习说明](https://github.com/itwanger/toBeBetterJavaer#bookmark-学习说明)
- [章节目录](https://github.com/itwanger/toBeBetterJavaer#pencil-章节目录)
- [联系作者](https://github.com/itwanger/toBeBetterJavaer#paw_prints-联系作者)
- [参与贡献](https://github.com/itwanger/toBeBetterJavaer#muscle-参与贡献)
沉默王二's avatar
补充  
沉默王二 已提交
15

沉默王二's avatar
沉默王二 已提交
16
具体章节可以参照下面这张思维导图(绿色✅的部分是已经更新的)
沉默王二's avatar
沉默王二 已提交
17
  
沉默王二's avatar
沉默王二 已提交
18
![](https://img-blog.csdnimg.cn/7a19bf4d16064987bdf76b10a348715b.png)
沉默王二's avatar
沉默王二 已提交
19 20


沉默王二's avatar
沉默王二 已提交
21
# :bookmark: 学习说明
沉默王二's avatar
补充  
沉默王二 已提交
22

沉默王二's avatar
沉默王二 已提交
23
**编程是听不会,也看不会的,只有经过大量的实践才能学会,所以一定要动手,专栏中所有的例子都不要放过,一个一个来,直到自己能在没有任何帮助的情况下,独立完成代码的编写**
沉默王二's avatar
补充  
沉默王二 已提交
24

沉默王二's avatar
沉默王二 已提交
25
记住:编程是门手艺活,唯手熟尔!
沉默王二's avatar
补充  
沉默王二 已提交
26 27 28

----

沉默王二's avatar
沉默王二 已提交
29
1. 本专栏的所有内容都是经过我精心打磨的,所以你完全不用担心学不会的问题!
沉默王二's avatar
补充  
沉默王二 已提交
30

沉默王二's avatar
沉默王二 已提交
31
2. 本专栏的所有配套源码已经在 GitHub 上开源(在本仓库的 code 目录下,直接导入到 Intellij IDEA 就可以运行),你在练手的时候可以作为参考。
沉默王二's avatar
补充  
沉默王二 已提交
32

沉默王二's avatar
沉默王二 已提交
33
3. 如果你在学习的过程中遇到了什么问题,包括:不能运行、优化意见、文字错误等任何问题都可以提交 issue,也可以联系我,微信:`qing_geee`,备注 Java。
沉默王二's avatar
补充  
沉默王二 已提交
34

沉默王二's avatar
沉默王二 已提交
35
4. 本专栏不仅会教你如何学习 Java,还会把我十多年的编程经验倾囊相授,让你真正成为一名有即战力的选手。
沉默王二's avatar
补充  
沉默王二 已提交
36

沉默王二's avatar
沉默王二 已提交
37
5. **没有什么使我停留——除了目的,纵然岸旁有玫瑰、有绿荫、有宁静的港湾,我是不系之舟**
沉默王二's avatar
沉默王二 已提交
38

沉默王二's avatar
沉默王二 已提交
39 40
# :pencil: 章节目录

沉默王二's avatar
沉默王二 已提交
41 42 43 44 45
## Java 企业级开发

### **Maven**

- [项目构建神器 Maven](docs/maven/maven.md)
沉默王二's avatar
沉默王二 已提交
46
- [更快的 Maven 来了!!!性能提升 300%](docs/maven/mvnd.md)
沉默王二's avatar
沉默王二 已提交
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65

### **Git**

- [可能是 Git 历史上最伟大的一次代码提交](docs/git/git-qiyuan.md)
- [终于有人把 Git 的数据模型讲清楚了](docs/git/shujujiegou.md)
- [昨晚看完 Linus 第一次提交的 Git 代码后,我失眠了!](docs/git/neibushixian.md)
- [要熟练使用 Git,恐怕要记住这60个命令](docs/git/mingling.md)
- [崩溃!实习生把小组的代码仓库搞得一团糟。。。](docs/git/jibenshiyong.md)
- [信不信,7 张图就能让你把 Git 分支管理拿捏的死死的。。](docs/git/fenzhi.md)
- [豆瓣9.1分!我昨天在挂急诊时啃完了这本书!](docs/git/progit.md)

### **Nginx**

- [某俄罗斯小哥,竟靠一个服务器软件直接封神?](docs/nginx/nginx.md)

### **SpringBoot**

- [一分钟快速搭建 Spring Boot 项目](docs/springboot/initializr.md)
- [基于SpringBoot 的CMS系统,拿去开发企业官网真香](https://mp.weixin.qq.com/s/HWTVu7E62VkaH2anQc1J_g)
66
- [Spring Boot为什么不需要额外安装Tomcat?](docs/springboot/tomcat.md)
沉默王二's avatar
沉默王二 已提交
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85


### **事故处理**

- [我鮳!Log4j2突发重大漏洞,我们也中招了。。](docs/shigu/log4j2.md)
- [重现了一波 Log4j2 核弹级漏洞,同事的电脑沦为炮灰](https://mp.weixin.qq.com/s/zXzJVxRxMUnoyJs6_NojMQ)
- [面试官问:生成订单30分钟未支付,则自动取消,该怎么实现?](https://mp.weixin.qq.com/s/J6jb_Dt3C49CIjYBTrN4gQ)

### **真香工具**

- [干掉 Xshell?这款开源的终端工具Tabby逼格更高!](docs/gongju/tabby.md)
- [再见Postman!一款更适合国人的接口管理工具ApiPost!](https://mp.weixin.qq.com/s/ZgkNQsve_vq6Xq0_gnWHCw)
- [EasyPoi实现Excel导入导出,好用到爆,POI可以扔掉了!](https://mp.weixin.qq.com/s/H2Bwc-7ghcjyaEnKUTQ5Dg)
- [再见了VMware,一款更轻量级的虚拟机Multipass!](https://mp.weixin.qq.com/s/gy6dVHvNy495bqov6JOAdA)

### **开源项目**

- [2 个 Java 练手项目(云E办、仿网易云音乐)](docs/kaiyuan/yuneban-wangyiyunyinyue.md)

沉默王二's avatar
沉默王二 已提交
86
## Java 入门
沉默王二's avatar
沉默王二 已提交
87

沉默王二's avatar
沉默王二 已提交
88
### **Java 概述**
沉默王二's avatar
沉默王二 已提交
89

沉默王二's avatar
沉默王二 已提交
90 91
- [什么是 Java](docs/overview/what-is-java.md)
- [Java 发展简史](docs/overview/java-history.md)
沉默王二's avatar
沉默王二 已提交
92
- [Java 的优势](docs/overview/java-advantage.md)
沉默王二's avatar
沉默王二 已提交
93
- [JDK 和 JRE 有什么区别](docs/overview/jdk-jre.md)
沉默王二's avatar
沉默王二 已提交
94 95 96
- [安装集成开发环境 Intellij IDEA](docs/overview/idea.md)
- [第一个 Java 程序:Hello World](docs/overview/hello-world.md)

沉默王二's avatar
沉默王二 已提交
97

沉默王二's avatar
沉默王二 已提交
98
### **Java 基础语法**
沉默王二's avatar
沉默王二 已提交
99

沉默王二's avatar
沉默王二 已提交
100 101 102 103
- [基本数据类型](docs/basic-grammar/basic-data-type.md)
- [流程控制](docs/basic-grammar/flow-control.md)
- [运算符](docs/basic-grammar/operator.md)
- [注释:代码的最强辅助](docs/basic-grammar/javadoc.md)
沉默王二's avatar
沉默王二 已提交
104

沉默王二's avatar
沉默王二 已提交
105
### **面向对象**
沉默王二's avatar
沉默王二 已提交
106

沉默王二's avatar
沉默王二 已提交
107 108 109 110 111
- [什么是对象?什么是类](docs/oo/object-class.md)
- [变量](docs/oo/var.md)
- [方法](docs/oo/method.md)
- [构造方法](docs/oo/construct.md)
- [代码初始化块](docs/oo/code-init.md)
沉默王二's avatar
沉默王二 已提交
112
- [抽象类](docs/oo/abstract.md)
沉默王二's avatar
沉默王二 已提交
113 114 115 116 117
- [接口](docs/oo/interface.md)
- [static 关键字](docs/oo/static.md)
- [this 和 super 关键字](docs/oo/this-super.md)
- [final 关键字](docs/oo/final.md)
- [instanceof 关键字](docs/oo/instanceof.md)
沉默王二's avatar
git  
沉默王二 已提交
118 119 120 121 122
- [方法重载和方法重写](docs/basic-extra-meal/override-overload.md)
- [Java 到底是值传递还是引用传递](docs/basic-extra-meal/pass-by-value.md)
- [Java的不可变对象](docs/basic-extra-meal/immutable.md)
- [可变参数](docs/basic-extra-meal/varables.md)

沉默王二's avatar
沉默王二 已提交
123

沉默王二's avatar
沉默王二 已提交
124

沉默王二's avatar
沉默王二 已提交
125 126
### **字符串**

沉默王二's avatar
沉默王二 已提交
127 128 129
- [String 为什么是不可变的](docs/string/immutable.md)
- [字符串常量池](docs/string/constant-pool.md)
- [深入浅出 String.intern](docs/string/intern.md)
沉默王二's avatar
沉默王二 已提交
130 131 132 133 134 135
- [如何比较两个字符串是否相等](docs/string/equals.md)
- [如何拼接字符串](docs/string/join.md)
- [如何拆分字符串](docs/string/split.md)

### **数组**

沉默王二's avatar
沉默王二 已提交
136 137
- [数组](docs/array/array.md)
- [打印数组](docs/array/print.md)
沉默王二's avatar
沉默王二 已提交
138

沉默王二's avatar
沉默王二 已提交
139
### **集合框架**
沉默王二's avatar
沉默王二 已提交
140

沉默王二's avatar
沉默王二 已提交
141 142 143
- [初识集合框架](docs/collection/gailan.md)
- [时间复杂度](docs/collection/big-o.md)
- [ArrayList](docs/collection/arraylist.md)
沉默王二's avatar
git  
沉默王二 已提交
144
- [泛型](docs/basic-extra-meal/generic.md)
沉默王二's avatar
沉默王二 已提交
145 146 147 148 149 150 151 152 153
- [LinkedList](docs/collection/linkedlist.md)
- [ArrayList 重拳出击,把 LinkedList 干翻在地](docs/collection/list-war-1.md)
- [被 ArrayList 锤了一拳后,LinkedList 很不服气](docs/collection/list-war-2.md)
- [海康威视一面:Iterator与Iterable有什么区别?](docs/collection/iterator-iterable.md)
- [为什么阿里巴巴强制不要在 foreach 里执行删除操作](docs/collection/fail-fast.md)
- [HashMap 的 hash 原理](docs/collection/hash.md)
- [HashMap 的扩容机制](docs/collection/hashmap-resize.md)
- [HashMap 的加载因子为什么是 0.75](docs/collection/hashmap-loadfactor.md)
- [为什么 HashMap 是线程不安全的?](docs/collection/hashmap-thread-nosafe.md)
沉默王二's avatar
沉默王二 已提交
154

沉默王二's avatar
沉默王二 已提交
155

沉默王二's avatar
沉默王二 已提交
156
### **异常处理**
沉默王二's avatar
沉默王二 已提交
157 158 159 160 161

- [异常处理机制](docs/exception/gailan.md)
- [try-catch-finally](docs/exception/try-catch-finally.md)
- [throw 和 throws](docs/exception/throw-throws.md)
- [try-with-resouces](docs/exception/try-with-resouces.md)
沉默王二's avatar
目录  
沉默王二 已提交
162
- [异常最佳实践](docs/exception/shijian.md)
沉默王二's avatar
沉默王二 已提交
163

沉默王二's avatar
沉默王二 已提交
164
### **常用工具类**
沉默王二's avatar
沉默王二 已提交
165

沉默王二's avatar
沉默王二 已提交
166 167
- [数组工具类:Arrays](docs/common-tool/arrays.md)
- [集合工具类:Collections](docs/common-tool/collections.md)
沉默王二's avatar
沉默王二 已提交
168
- [简化每一行代码工具类:Hutool](docs/common-tool/hutool.md)
沉默王二's avatar
guava  
沉默王二 已提交
169 170
- [Guava,拯救垃圾代码,效率提升N倍](docs/common-tool/guava.md)

沉默王二's avatar
沉默王二 已提交
171 172 173 174
### **Java IO**

- [IO 流的分类和概述](docs/io/shangtou.md)

沉默王二's avatar
泛型  
沉默王二 已提交
175

沉默王二's avatar
沉默王二 已提交
176
### **加餐**
沉默王二's avatar
沉默王二 已提交
177

沉默王二's avatar
沉默王二 已提交
178 179 180 181 182 183 184 185 186 187 188 189
- [Java 中常用的 48 个关键字](docs/basic-extra-meal/48-keywords.md)
- [Java 命名约定](docs/basic-extra-meal/java-naming.md)
- [Java 默认的编码方式 Unicode](docs/basic-extra-meal/java-unicode.md)
- [new Integer(18) 与 Integer.valueOf(18) 有什么区别](docs/basic-extra-meal/int-cache.md)
- [自动拆箱与自动装箱](docs/basic-extra-meal/box.md)
- [浅拷贝与深拷贝](docs/basic-extra-meal/deep-copy.md)
- [为什么重写 equals 时必须重写 hashCode 方法](docs/basic-extra-meal/equals-hashcode.md)
- [注解](docs/basic-extra-meal/annotation.md)
- [枚举](docs/basic-extra-meal/enum.md)
- [深入理解 Java 中的反射](docs/basic-extra-meal/fanshe.md)
- [Java 不能实现真正泛型的原因是什么?](docs/basic-extra-meal/true-generic.md)
- [Java程序在编译期发生了什么](docs/basic-extra-meal/what-happen-when-javac.md)
沉默王二's avatar
git  
沉默王二 已提交
190
- [Comparable和Comparator有什么区别?](docs/basic-extra-meal/comparable-omparator.md)
沉默王二's avatar
沉默王二 已提交
191

沉默王二's avatar
沉默王二 已提交
192

沉默王二's avatar
沉默王二 已提交
193 194
## Java 进阶

沉默王二's avatar
沉默王二 已提交
195 196 197 198
### **Java 并发编程**

- [室友打一把王者就学会了多线程](docs/thread/wangzhe-thread.md)

沉默王二's avatar
沉默王二 已提交
199
### **Java 虚拟机**
沉默王二's avatar
沉默王二 已提交
200

沉默王二's avatar
沉默王二 已提交
201
- [JVM 是什么?](docs/jvm/what-is-jvm.md)
沉默王二's avatar
沉默王二 已提交
202

沉默王二's avatar
git  
沉默王二 已提交
203 204
## 八股文

沉默王二's avatar
沉默王二 已提交
205 206 207 208 209
- [Java 面试八股文精选 34 题](docs/baguwen/java-basic-34.md)
- [Java 基础(背诵版)](docs/baguwen/java-basic.md)
- [HashMap精选面试题](docs/collection/hashmap-interview.md)
- [Java 并发编程(背诵版)](docs/baguwen/java-thread.md)
- [Java 虚拟机(背诵版)](docs/baguwen/jvm.md)
沉默王二's avatar
沉默王二 已提交
210

沉默王二's avatar
git  
沉默王二 已提交
211 212


沉默王二's avatar
沉默王二 已提交
213
# :paw_prints: 联系作者
沉默王二's avatar
沉默王二 已提交
214

沉默王二's avatar
沉默王二 已提交
215
- **技术交流群**
沉默王二's avatar
沉默王二 已提交
216

沉默王二's avatar
沉默王二 已提交
217 218 219
    本群的宗旨是给大家提供一个良好的技术学习交流平台,所以杜绝一切广告!<br>由于微信群人满 100 之后无法加入,请先添加作者微信「qing_geee」(也可以扫描下方的二维码),备注:加群。
    
    <div align="left">
沉默王二's avatar
沉默王二 已提交
220 221
        <img src="https://cdn.jsdelivr.net/gh/itwanger/toBeBetterJavaer/images/qing_geee.png" width="260px">
    </div>
沉默王二's avatar
沉默王二 已提交
222

沉默王二's avatar
沉默王二 已提交
223
- **原创公众号**
沉默王二's avatar
沉默王二 已提交
224

沉默王二's avatar
沉默王二 已提交
225
    本号的slogan:技术文通俗易懂,吹水文风趣幽默。<br>目前已有近 10 万读者关注,微信搜索「**沉默王二**」(也可以扫描下方的二维码)就可以关注我了。
沉默王二's avatar
沉默王二 已提交
226 227
    
    <div align="left">
沉默王二's avatar
沉默王二 已提交
228 229 230 231
        <img src="https://cdn.jsdelivr.net/gh/itwanger/toBeBetterJavaer/images/gongzhonghao.png" width="260px">
    </div>

    回复关键字「**03**」可以下载《Java 程序员进阶之路》专栏的离线 PDF 版本(暗黑版和亮白版)。
沉默王二's avatar
沉默王二 已提交
232 233 234 235 236 237 238
    
    
- **star 趋势图**

[![Stargazers over time](https://starchart.cc/itwanger/toBeBetterJavaer.svg)](https://starchart.cc/itwanger/toBeBetterJavaer)


沉默王二's avatar
沉默王二 已提交
239

沉默王二's avatar
沉默王二 已提交
240
# :muscle: 参与贡献
沉默王二's avatar
沉默王二 已提交
241

沉默王二's avatar
补充  
沉默王二 已提交
242
1. 如果你对本项目有任何建议或发现文中内容有误的,欢迎提交 issues 进行指正。
沉默王二's avatar
沉默王二 已提交
243 244
2. 对于文中我没有涉及到知识点,欢迎提交 PR。

沉默王二's avatar
沉默王二 已提交
245

沉默王二's avatar
沉默王二 已提交
246
# :gift: Donate
沉默王二's avatar
沉默王二 已提交
247

沉默王二's avatar
沉默王二 已提交
248
开源不易,如果《Java 程序员进阶之路》专栏对你有些帮助,可以请二哥喝杯咖啡,算是对开源做出的一点点鼓励吧!
沉默王二's avatar
沉默王二 已提交
249

沉默王二's avatar
沉默王二 已提交
250
<div align="left">
沉默王二's avatar
沉默王二 已提交
251
    <img src="https://cdn.jsdelivr.net/gh/itwanger/toBeBetterJavaer/images/zhifu.png" width="260px">
沉默王二's avatar
沉默王二 已提交
252
</div>
沉默王二's avatar
沉默王二 已提交
253

沉默王二's avatar
沉默王二 已提交
254
:gift_heart: 感谢大家对我资金的赞赏,每隔一个月会统计一次。
沉默王二's avatar
沉默王二 已提交
255

沉默王二's avatar
沉默王二 已提交
256
时间|小伙伴|赞赏金额
沉默王二's avatar
沉默王二 已提交
257
---|---|---
沉默王二's avatar
打赏  
沉默王二 已提交
258
2021-12-20|t*1|5 元
沉默王二's avatar
沉默王二 已提交
259
2021-10-26|*鱼|28 元
沉默王二's avatar
沉默王二 已提交
260 261 262
2021-10-11|*人|28 元
2021-09-01|S*n|6.6 元
2021-08-02|*秒|1 元
沉默王二's avatar
沉默王二 已提交
263 264
2021-06-13|*7| 28 元
2021-04-29|pebble|2 元