README.md 8.5 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 IO、Java 并发编程、Java 虚拟机等。如果本仓库能为你提供帮助,请给予支持(关注、点赞、分享)!
沉默王二'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
# :bookmark: 学习说明
沉默王二's avatar
补充  
沉默王二 已提交
17

沉默王二's avatar
沉默王二 已提交
18
《Java 程序员进阶之路》专栏主要针对零基础学 Java 编程的同学,从 Java 核心语法开始,循序渐进,再到 Java 集合框架、Java IO、Java 并发编程、Java 虚拟机,只讲重点。
沉默王二's avatar
补充  
沉默王二 已提交
19 20 21

一开始,不要求快,毕竟知识是需要时间来沉淀的。一定要从头到尾阅读这个专栏,因为基础真的很重要,“根基不牢,地动山摇”。

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

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

----

沉默王二's avatar
沉默王二 已提交
28
1. 本专栏面向的是 Java 初学者,完全零基础的小伙伴,所以你完全不用担心学不会的问题,所有内容都是经过我精心打磨的!
沉默王二's avatar
补充  
沉默王二 已提交
29

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

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

沉默王二's avatar
沉默王二 已提交
34
4. 本专栏不仅会教你如何学习 Java,还会把我十多年的编程经验倾囊相授,这比学习 Java 可能更重要。
沉默王二's avatar
补充  
沉默王二 已提交
35

沉默王二's avatar
沉默王二 已提交
36
5. 送大家一句我的座右铭吧:**没有什么使我停留——除了目的,纵然岸旁有玫瑰、有绿荫、有宁静的港湾,我是不系之舟**
沉默王二's avatar
沉默王二 已提交
37

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

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

沉默王二's avatar
沉默王二 已提交
42
### **Java 概述**
沉默王二's avatar
沉默王二 已提交
43

沉默王二's avatar
沉默王二 已提交
44 45 46
- [什么是 Java](docs/overview/what-is-java.md)
- [Java 发展简史](docs/overview/java-history.md)
- [Java 为什么如此流行](docs/overview/why-java-popular.md)
沉默王二's avatar
沉默王二 已提交
47
- [环境准备:Intellij IDEA](docs/overview/idea.md)
沉默王二's avatar
沉默王二 已提交
48 49 50
- [第一个 Java 程序:Hello World](docs/overview/hello-world.md)
- [JDK 和 JRE 有什么区别](docs/overview/jdk-jre.md)
- [JVM 是什么](docs/overview/jvm.md)
沉默王二's avatar
沉默王二 已提交
51

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

沉默王二's avatar
沉默王二 已提交
54 55
- [一网打尽 Java 的那些关键字](docs/core-grammar/java-keywords.md)
- [Java 数据类型有哪些](docs/core-grammar/java-data-type.md)
沉默王二's avatar
沉默王二 已提交
56 57 58
- [流程控制语句有哪些?图解版](docs/control/java-control.md)
- [Java 运算符有哪些?](docs/core-grammar/java-operator.md)
- [Java 注释:程序的注解](docs/overview/javadoc.md)
沉默王二's avatar
沉默王二 已提交
59
- [技术大佬的必备素质:命名优雅](docs/core-grammar/java-naming.md)
沉默王二's avatar
沉默王二 已提交
60

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

沉默王二's avatar
沉默王二 已提交
63 64 65 66 67 68 69 70 71 72 73 74 75 76
- [对象和类的相爱相杀](docs/object-class/java-object-class.md)
- [Java 变量类型有哪些](docs/core-grammar/java-var.md)
- [方法:我负责程序的行为](docs/object-class/java-method.md)
- [构造方法:对象初始化的必经之路](docs/object-class/java-construct.md)
- [代码初始化块:让我先走一步](docs/object-class/code-init.md)
- [抽象类:子类复用的基石](docs/object-class/java-abstract.md)
- [接口:抽象的另外一种表现形式](docs/object-class/java-interface.md)

### **关键字详解**

- [学妹必须学会的 static 关键字](docs/keywords/java-static.md)
- [学弟必须掌握的 this 和 super ](docs/keywords/java-this.md)
- [再见了,我的 final 关键字](docs/keywords/java-final.md)
- [判断对象的类型:instanceof 关键字](docs/keywords/java-instanceof.md)
沉默王二's avatar
沉默王二 已提交
77

沉默王二's avatar
沉默王二 已提交
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
### **字符串**

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

### **数组**

- [最重要的数据结构之一](docs/array/gailan.md)
- [数组的专用工具类:java.util.Arrays](docs/array/arrays.md)
- [打印数组最优雅的方式:deepToString](docs/array/print.md)

沉默王二's avatar
沉默王二 已提交
93
### **泛型**
沉默王二's avatar
沉默王二 已提交
94

沉默王二's avatar
沉默王二 已提交
95 96
- [晦涩难懂的泛型](docs/generic/generic.md)
- [Java 不能实现真正泛型的原因是什么?](docs/generic/true-generic.md)
沉默王二's avatar
沉默王二 已提交
97

沉默王二's avatar
沉默王二 已提交
98
### **注解**
沉默王二's avatar
沉默王二 已提交
99

沉默王二's avatar
沉默王二 已提交
100
- [撸个注解有什么难的](docs/annotation/annotation.md)
沉默王二's avatar
沉默王二 已提交
101

沉默王二's avatar
沉默王二 已提交
102 103 104
### **枚举**

- [单例的最佳实现方式——枚举](docs/enum/enum.md)
沉默王二's avatar
沉默王二 已提交
105

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

沉默王二's avatar
沉默王二 已提交
107
### **反射**
沉默王二's avatar
沉默王二 已提交
108

沉默王二's avatar
沉默王二 已提交
109
- [深入理解 Java 的反射](docs/fanshe/fanshe.md)
沉默王二's avatar
沉默王二 已提交
110

沉默王二's avatar
沉默王二 已提交
111
### **异常**
沉默王二's avatar
沉默王二 已提交
112 113 114 115 116

- [异常处理机制](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
目录  
沉默王二 已提交
117
- [异常最佳实践](docs/exception/shijian.md)
沉默王二's avatar
沉默王二 已提交
118

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

沉默王二's avatar
沉默王二 已提交
120
### **补充**
沉默王二's avatar
泛型  
沉默王二 已提交
121

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

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

沉默王二's avatar
沉默王二 已提交
133
- [初探集合框架](docs/collection/gailan.md)
沉默王二's avatar
沉默王二 已提交
134
- [时间复杂度](docs/collection/big-o.md)
沉默王二's avatar
沉默王二 已提交
135 136 137
- [ArrayList](docs/collection/arraylist.md)
- [LinkedList](docs/collection/linkedlist.md)
- [HashMap 的 hash 方法原理是什么](docs/collection/hash.md)
沉默王二's avatar
hashmap  
沉默王二 已提交
138
- [HashMap 的扩容机制](docs/collection/hashmap-resize.md)
沉默王二's avatar
沉默王二 已提交
139 140
- [HashMap 的加载因子为什么是 0.75](docs/collection/hashmap-loadfactor.md)
- [为什么 HashMap 是线程不安全的?](docs/collection/hashmap-thread-nosafe.md)
沉默王二's avatar
菜单  
沉默王二 已提交
141
- [HashMap 精选面试题(背诵版)](docs/collection/hashmap-interview.md)
沉默王二's avatar
沉默王二 已提交
142

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

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

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

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

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

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

    回复关键字「**03**」可以下载《Java 程序员进阶之路》专栏的离线 PDF 版本(暗黑版和亮白版)。
沉默王二's avatar
沉默王二 已提交
163

沉默王二's avatar
补充  
沉默王二 已提交
164
## :muscle: 参与贡献
沉默王二's avatar
沉默王二 已提交
165

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

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

沉默王二's avatar
补充  
沉默王二 已提交
170
## :gift: Donate
沉默王二's avatar
沉默王二 已提交
171

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

沉默王二's avatar
沉默王二 已提交
174
<div align="left">
沉默王二's avatar
沉默王二 已提交
175
    <img src="https://cdn.jsdelivr.net/gh/itwanger/toBeBetterJavaer/images/zhifu.png" width="260px">
沉默王二's avatar
沉默王二 已提交
176
</div>
沉默王二's avatar
沉默王二 已提交
177 178

:gift_heart: 感谢大家对我资金的赞赏
沉默王二's avatar
沉默王二 已提交
179

沉默王二's avatar
沉默王二 已提交
180
时间|小伙伴|赞赏金额
沉默王二's avatar
沉默王二 已提交
181
---|---|---
沉默王二's avatar
沉默王二 已提交
182
2012-09-01|S*n|6.6 元
沉默王二's avatar
沉默王二 已提交
183 184 185
2012-08-02|*秒|1 元
2021-06-13|*7| 28 元
2021-04-29|pebble|2 元