├── README.md
└── docs
├── .nojekyll
├── README.md
├── _coverpage.md
├── _navbar.md
├── _sidebar copy.md
├── _sidebar.md
├── about
├── _coverpage.md
├── _navbar.md
├── _sidebar.md
└── img
│ ├── logo.jpg
│ └── logo.png
├── aboutme.md
├── environment.md
├── history.md
├── img
├── logo.jpg
├── logo.png
├── qr.jpeg
├── tupu.jpg
└── 古时的风筝-后端学习概要图.png
├── index.html
├── java_basic.md
├── jvm.md
├── mysql
├── README.md
├── _coverpage.md
├── _navbar.md
├── _sidebar.md
└── img
│ ├── logo.jpg
│ └── logo.png
├── os_basic.md
└── require.md
/README.md:
--------------------------------------------------------------------------------
1 | **种一棵树最好的时间是十年前,其次是现在。学习的最好时间就是立刻,而不是明天。**
2 |
3 | > 我画了一张导图,展示了 Java 开发者需要掌握的知识架构,跟着这张导图学习,不会再找不到方向了。我的文章也都是根据这张导图扩展而来,当然知识点众多,只能说包含绝大多数核心重点内容,如果你有什么补充或者疑问,可以加我的「[微信](#关注我或加我好友)」交流。
4 |
5 | 还可以关注我的[公众号](#关注我或加我好友),一起学习,一起进步。
6 |
7 | **本仓库持续更新...,请随意 star**
8 |
9 | [](#关注我或加我好友)
10 | [](#加我好友)
11 | [](https://juejin.im/user/5e13ec1d6fb9a04846508aae)
12 | [](https://juejin.im/user/5e13ec1d6fb9a04846508aae)
13 |
14 | **文章会及时更新到我的个人博客[点击查看博客,阅读体验更佳](https://www.moonkite.cn),持续更新中...**
15 |
16 | **下面有我在公众号发过的[文章合集](#我写过的文章)**
17 |
18 | 更详细的脑图由于图片过长,显示效果不好,公众号回复「666」可下载大图查看。
19 |
20 | 
21 |
22 | # 我写过的文章
23 |
24 | ### 比较基础的
25 |
26 | - [7000 子讲解 Lambda、函数式接口、Stream 的原理及用法,一次性全给你](https://mp.weixin.qq.com/s/WSqLJEvO42uJ-DbOC2D36w)
27 |
28 | - [用 jenkins 来提高部署测试的效率](https://mp.weixin.qq.com/s/4I9lHEf5TvwwGtVPTjKFUw)
29 |
30 | - [做了个 web 版的 MyBatis Generator](https://mp.weixin.qq.com/s/bVrguGlUpxeoqT__6E176w)
31 |
32 | - [使用 github,知道这些就够了](https://mp.weixin.qq.com/s/s_pNeT1lMlVDbjO37Fys4A)
33 |
34 | - [前后端变量命名各有标准,如何做到兼顾](https://mp.weixin.qq.com/s/6H8zCkEWH6IsM54lJVRqqA)
35 |
36 | - [Maven 私服的简单使用](https://mp.weixin.qq.com/s/yHhgeL61jIl3jUPZ2ZX4jQ)
37 |
38 | - [后端开发如何入门前端](https://mp.weixin.qq.com/s/KW0PzXNH_YVuzeBAY4ck7A)
39 |
40 | - [Lombok:让我来提高你的开发效率](https://mp.weixin.qq.com/s/n_N_vdlhXVLGTVKGYDrClQ)
41 |
42 | - [先从简单的源码入手:MyBatis 工作原理分析](https://mp.weixin.qq.com/s/VuBNc0w3yTOUA013BK9g1g)
43 |
44 | - [MyBatis:这锅我不背](https://mp.weixin.qq.com/s/TFMH7ctYK_sYwafXS3jqPQ)
45 |
46 | - [为什么要使用接口编程](https://mp.weixin.qq.com/s/gZ9mF7lw3dZfKek5pdyKCQ)
47 |
48 | - [真的,你不可不知的 Java 反射](https://mp.weixin.qq.com/s/yWzKfMjzOrhhSLWA7WRkdQ)
49 |
50 | - [异常处理好,下班回家早](https://mp.weixin.qq.com/s/7TcJ_JqezJ5xmiJkwOFVdg)
51 |
52 | - [Java 字符串常量池指北](https://mp.weixin.qq.com/s/cYAX0XZAiGnmuHpCDDrXzw)
53 |
54 | - [阿里巴巴 Java 开发者手册,也是防坑指南](https://mp.weixin.qq.com/s/bCTs7wwW-XIhx7StJfJi3w)
55 |
56 | - [踩过 ArrayList 这几个坑的请举手](https://mp.weixin.qq.com/s/pAmnqfLiKbsd9MeTLuaagQ)
57 |
58 | - [HashSet:实不相瞒,我就是个套壳 HashMap](https://mp.weixin.qq.com/s/sD8RcFXUcia22mzP3NOG6A)
59 |
60 | - [别说你还不懂 HashMap](https://mp.weixin.qq.com/s/H6lxTfpedzzDz2QXihhdmw)
61 |
62 | - [有趣的图说 HashMap,普通人也能看懂](https://mp.weixin.qq.com/s/oECpsgmvS9L7zdW_7TIC9g)
63 |
64 | - [别再重复造轮子了,这几个开源工具库送你了](https://mp.weixin.qq.com/s/_Utj5ApU8_Ja0nu411SJAQ)
65 |
66 | ### Spring && Spring Boot
67 |
68 | - [跟我极速尝鲜 Spring Boot 2.3](https://mp.weixin.qq.com/s/eBzpHJm1l5_5ndG_2AMXUQ)
69 |
70 | - [从 Spring Boot 出发,分析 Spring IoC 过程](https://mp.weixin.qq.com/s/8o_Uc99zAzTbEkELCkB4Xw)
71 |
72 | - [原来 Spring Boot Banner 还能这么好玩儿](https://mp.weixin.qq.com/s/ug5n-zSdlJX9tZD43nUCbg)
73 |
74 | - [看完就懂的 Spring IoC 实现过程](https://mp.weixin.qq.com/s/Zmh-E3FaPHeV1DUXQBcY7g)
75 |
76 | - [你了解 Spring Boot Starter 吗](https://mp.weixin.qq.com/s/BVuFAUvGtxAhwC1R7HIGIw)
77 |
78 | - [Spring Boot 和 Docker 实现微服务部署](https://mp.weixin.qq.com/s/ZKL6HmB_w8zuWp9cVNRK7A)
79 |
80 | - [Spring mvc redis 扩展 Kyro 序列化方式](https://mp.weixin.qq.com/s/DGdZijfTxarWE9LoObVU-w)
81 |
82 | - [Spring 实现自定义 bean 的扩展](https://mp.weixin.qq.com/s/_Q6lrceWmAMTId1nSDBLEg)
83 |
84 | - [Spring AOP 和 动态代理技术](https://mp.weixin.qq.com/s/TWnod-b0qC9JwqUlBePAtg)
85 |
86 | ### JVM 了不起吗
87 |
88 | - [线上性能排查神器 BTrace 的使用](https://mp.weixin.qq.com/s/4vYFLVJWufJyNNuWrmDT2A)
89 |
90 | - [线上问题排查神器 Arthas](https://mp.weixin.qq.com/s/_B0SAly8JrM97qhVWbPRXw)
91 |
92 | - [跨平台这件事儿](https://mp.weixin.qq.com/s/-HoqcoCTec9kB086RWIc2g)
93 |
94 | - [我们说的 JVM 内存是什么](https://mp.weixin.qq.com/s/Liy8XYbJn9qfOAdVA4xx5w)
95 |
96 | - [Java 调试工具、热部署、JVM 监控工具都用到了它](https://mp.weixin.qq.com/s/9xn9Ht4WO0Et_V7ZclsX_Q)
97 |
98 | - [JConsole、VisualVM 依赖的 JMX 技术](https://mp.weixin.qq.com/s/41v2pyYx9kLthJGjyR9-iw)
99 |
100 | - [无意中就做了个 web 版 JVM 监控端](https://mp.weixin.qq.com/s/df1XroHcS6KYj4ftkzwKfQ)
101 |
102 | - [JVM 你不可不知的参数](https://mp.weixin.qq.com/s/thnH0qXK67jVmxkAaHmaIg)
103 |
104 | - [分析 JVM 常用的 JDK 内置工具](https://mp.weixin.qq.com/s/qi0wyLrU3ZT1PuXRhWBdSQ)
105 |
106 | - [手撕 JVM 垃圾收集日志(长文一篇)](https://mp.weixin.qq.com/s/chX7w9-RTUmRcz3-HliYTw)
107 |
108 | - [写 Java 这么久了,你编译过 JDK 源码吗](https://mp.weixin.qq.com/s/jWN5Ltv3IfhutzOetPhYsA)
109 |
110 | - [系统内存爆满,原来是线程搞的鬼](https://mp.weixin.qq.com/s/RRP6Zm3ATTY6sURoKzUuHw)
111 |
112 | - [过两年 JVM 可能就要被 GraalVM 替代了](https://mp.weixin.qq.com/s?__biz=MzAxMjA0MDk2OA==&mid=2449470918&idx=1&sn=c8d395b5d5019153f425d357f140ab04&chksm=8fbcbba1b8cb32b7aca6e3b0d202207e37632037dbb1a1dbf4fedc423235d111b28b71618176&token=1355206635&lang=zh_CN#rd)
113 |
114 | - [新项目为什么决定用 JDK 17 了](https://mp.weixin.qq.com/s?__biz=MzAxMjA0MDk2OA==&mid=2449470941&idx=1&sn=ff7ca366496b0b857a2f928117e749a4&chksm=8fbcbbbab8cb32ac5a9c6eff0a407e6099efaefb547b4f041a2811001d7c54d3d0438f736ba3&token=1355206635&lang=zh_CN#rd)
115 |
116 | ### Spring Cloud 系列
117 |
118 | 之前写过 Spring Cloud 系列,在另外一个仓库中,已经有 140 多为同学给了 star,欢迎各位同学关注。
119 |
120 | - [点击开始学习 Spring Cloud](https://github.com/huzhicheng/spring-cloud-study)
121 |
122 | - [Spring Cloud 各功能模块一览](https://mp.weixin.qq.com/s/f0iMAPNktJPLwmV9g4vdyw)
123 |
124 | - [Spring Cloud 系列之 Eureka 实现单点服务注册发现](https://mp.weixin.qq.com/s/kGrWQP_n_RCYTTaHbWQ3xQ)
125 | :[对应源码](https://github.com/huzhicheng/spring-cloud-study/tree/master/eureka/eureka-single)
126 |
127 | - [为 Eureka 服务注册中心实现安全控制](https://mp.weixin.qq.com/s/xVa6Ro4ORsCRJ9gsAOHAeg)
128 | :[对应源码](https://github.com/huzhicheng/spring-cloud-study/tree/master/eureka/eureka-single)
129 |
130 | - [Spring Cloud Eureka 实现高可用服务发现注册中心](https://mp.weixin.qq.com/s/d_GfdHxxiwdnYa2_mcv8TA)
131 | :[对应源码](https://github.com/huzhicheng/spring-cloud-study/tree/master/eureka/eureka-ha)
132 |
133 | - [Spring Cloud Config 实现配置中心](https://mp.weixin.qq.com/s/WX-F2PdNhcBbzbfl460Gnw)
134 | :[对应源码](https://github.com/huzhicheng/spring-cloud-study/tree/master/config)
135 |
136 | - [服务注册发现、配置中心集一体的 Spring Cloud Consul](https://mp.weixin.qq.com/s/HKhzKT4oMX8S_Jg1nLtxNA)
137 | :[对应源码](https://github.com/huzhicheng/spring-cloud-study/tree/master/consul)
138 |
139 | - [Spring Cloud 系列之 Spring Cloud Stream](https://mp.weixin.qq.com/s/QBjrCEO7OcPcy75cEkCndQ)
140 | :[对应源码](https://github.com/huzhicheng/spring-cloud-study/tree/master/stream)
141 |
142 | - [Spring Cloud Gateway 简单使用](https://mp.weixin.qq.com/s/LvK2_xPm0txNGJMUyKO1GQ)
143 | :[对应源码](https://github.com/huzhicheng/spring-cloud-study/tree/master/consul/gateway)
144 |
145 | - [Spring Cloud OAuth2 实现用户认证和单点登录](https://mp.weixin.qq.com/s/tXIycDTHw4nruuMP7xirQA)
146 | :[对应源码](https://github.com/huzhicheng/spring-cloud-study/tree/master/oauth2)
147 |
148 | - [Spring Cloud OAuth2 授权码模式,微信授权就是这个原理](https://mp.weixin.qq.com/s/r3G8Te9f9uXSbf8YaUV6MA)
149 | :[对应源码](https://github.com/huzhicheng/spring-cloud-study/tree/master/oauth2/oauth2-client-authorization-code-server)
150 |
151 | ### MySQL
152 |
153 | - [一条 SQL 统计大 V 涨粉排行榜](https://mp.weixin.qq.com/s/t_ZlIMs1c-7xorfuhcEt0A)
154 |
155 | - [面试必备:MySQL 的 4 种事务隔离级别及其原理](https://mp.weixin.qq.com/s/ukfhk_11LJDyQ7Ri8hXiAg)
156 |
157 | - [做开发也要掌握的 mysql 优化思路](https://mp.weixin.qq.com/s/KyVXCtXp6skGjCnTIs2WUA)
158 |
159 | - [一个 MySQL 隐式转换的坑,差点把服务器搞挂了](https://mp.weixin.qq.com/s?__biz=MzAxMjA0MDk2OA==&mid=2449470804&idx=1&sn=f8e7af9a4456063246ad94658e1054e1&chksm=8fbcbb33b8cb32251f594e43ff95dc8f61e4487bdb9180ed6acee186aa29ec3452cf4be2afd3&token=1290386788&lang=zh_CN#rd)
160 |
161 | - [用 MySQL 做全文检索功能](https://mp.weixin.qq.com/s?__biz=MzAxMjA0MDk2OA==&mid=2449470878&idx=1&sn=fce8e448cf53a5b652529df40a6b0371&chksm=8fbcbbf9b8cb32ef12fbda5a9938dab66b02885f91a7549915491e79311d743355795b0e1b5c&token=1355206635&lang=zh_CN#rd)
162 |
163 | ### 多线程
164 |
165 | - [你用到过 ThreadLocal 吗](https://mp.weixin.qq.com/s/YCYwTsRAe8cMKrwwTvV1JQ)
166 |
167 | - [Java 中的几种线程池不知道你用对了没有](https://mp.weixin.qq.com/s/lCoN068DgSM3jkUN7frt3g)
168 |
169 | - [多线程之---用 CountDownLatch 说明 AQS 的实现](https://mp.weixin.qq.com/s/At-c1asneps-s4fzaR3muA)
170 |
171 | - [从 volatile 说起,可见性和有序性是什么](https://mp.weixin.qq.com/s/URNlL006hGTBpXFbu_5EmA)
172 |
173 | - [我们说的 CAS 自旋锁是什么](https://mp.weixin.qq.com/s/VeHq-LFPTYbtO6DsHKwngw)
174 |
175 | - [工作中没有多线程使用场景,怎么办](https://mp.weixin.qq.com/s/IpR0NWZeOFwvWL_yXqR0nA)
176 |
177 | ### 技术之外
178 |
179 | - [为什么你提的问题没人回答](https://mp.weixin.qq.com/s/Xuv-QbXwkq5jrLq6fSkftw)
180 |
181 | - [不写代码搭建自己的技术博客](https://mp.weixin.qq.com/s/eaDyjcyNfUP70S6wSNBmkw)
182 |
183 | - [专栏没骗我,我自己骗了自己](https://mp.weixin.qq.com/s/t_61bsjtOHmTyrLWM-Ee-Q)
184 |
185 | - [Java 13 都发布了,你的 Java 8 下线了吗](https://mp.weixin.qq.com/s/3LqMv2ZIbLqvhRbml-d5Iw)
186 |
187 | - [我面向 Google 编程,他面向薪资编程](https://mp.weixin.qq.com/s/2xsxqx0S2rGt6DeO9ZsF0A)
188 |
189 | - [技术是如何被拿去作恶的](https://mp.weixin.qq.com/s/TA3j0-EzhowizothxwmOjw)
190 |
191 | - [二维码的秘密](https://mp.weixin.qq.com/s?__biz=MzAxMjA0MDk2OA==&mid=2449470840&idx=1&sn=571c8622abef2aa1045ce128baad372b&chksm=8fbcbb1fb8cb3209bf9c30c0ae8521d761d40cb12c122306a33cbcb26017f9a150afbc2b6964&token=1355206635&lang=zh_CN#rd)
192 |
193 | - [程序员• 后浪](https://mp.weixin.qq.com/s/zqMGJ4ixmNEat4HR5pHRqA)
194 |
195 | - [Java 竟然比我还大](https://mp.weixin.qq.com/s/ii87ytNzy1FFV9UoJUBzgw)
196 |
197 | - [程序员耳机里听的到底是什么](https://mp.weixin.qq.com/s/SopXuzk2RbV-XPELOT7E7g)
198 |
199 | - [原来 GitHub 不光能学代码,还有这些](https://mp.weixin.qq.com/s?__biz=MzAxMjA0MDk2OA==&mid=2449470888&idx=1&sn=368f3e68c787e140102adc775d3b2107&chksm=8fbcbbcfb8cb32d97e5313eaaf4dd14c8e30b9873a59529107133f47d010e7f14576af4c48be&token=1355206635&lang=zh_CN#rd)
200 |
201 | # 关注我或加我好友
202 |
203 | 
204 |
--------------------------------------------------------------------------------
/docs/.nojekyll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/huzhicheng/JavaNewBee/814608730d6c394285281ede2da898dbc4e56fbe/docs/.nojekyll
--------------------------------------------------------------------------------
/docs/README.md:
--------------------------------------------------------------------------------
1 | > **种一棵树最好的时间是十年前,其次是现在。学习的最好时间就是立刻,而不是明天。**
2 |
3 |
4 | 欢迎各位同学来到这里参观,这可能不是一个中规中矩的 Java 后端教程,文笔会比较随意,大家就当小说看吧,如果你已经是大牛了,就没必要浪费时间了,如果你是一个即将从事 Java 开发或者刚刚入门,或者做过两三年,感觉技术尚浅,可以拿来看看。
5 |
6 | 必须要说的是,我也不是什么大牛,只不过比各位多几年经验而已,本系列内容也是多来自于我自身学习经验,并不会面面俱到,只会介绍到我认为的重点部分。望同学各自斟酌,取中精华,去之糟粕。
7 |
8 | 我刚毕业的时候做的是 .NET,做企业级项目,后来才转的 Java,浪费了好几年的大好时光(其实也不是浪费,每段经历都有它的意义,当然过程中学习了 Python),转到 Java 之前也略懂一点基本语法,没有过渡期,直接开始做项目的,虽说 C# 和 Java 语法很像,但学过语言的都知道,学会语法只需要很短的时间,比如两天,但 Java 生态远比 .NET 复杂。所以说,我也是从零开始自学过来的,略有一点心得,分享出来,供各位同学参考。
9 |
10 | 如果你有什么建议或者疑问,也可以扫码关注我的公众号「古时的风筝」,或者直接加我的微信。公众号回复『666』有完整的后端学习知识图谱高清大图。
11 |
12 | [**开始阅读吧**](require)
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/docs/_coverpage.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 古时的风筝
7 | - 微信搜:古时的风筝,关注我这个程序员鼓励师,一个本打算写诗却写起了代码的田园码农。
--------------------------------------------------------------------------------
/docs/_navbar.md:
--------------------------------------------------------------------------------
1 |
14 |
15 |
--------------------------------------------------------------------------------
/docs/_sidebar copy.md:
--------------------------------------------------------------------------------
1 | * 基础篇
2 |
3 | * 面向对象
4 |
5 | * 什么是面向对象
6 |
7 | * [面向对象与面向过程](/basics/object-oriented/object-oriented-vs-procedure-oriented.md)
8 |
9 | * [面向对象的三大基本特征](/basics/object-oriented/characteristics.md)
10 |
11 | * [面向对象的五大基本原则](/basics/object-oriented/principle.md)
12 |
13 | * 封装、继承、多态
14 | * [什么是多态](/basics/object-oriented/polymorphism.md)
15 |
16 | * [方法重写与重载](/basics/object-oriented/overloading-vs-overriding.md)
17 |
18 | * [Java的继承与实现](/basics/object-oriented/extends-implement.md)
19 |
20 | * [Java的继承与组合](/basics/object-oriented/inheritance-composition.md)
21 |
22 | * [构造函数与默认构造函数](/basics/object-oriented/constructor.md)
23 |
24 | * [类变量、成员变量和局部变量](/basics/object-oriented/variable.md)
25 |
26 | * [成员变量和方法作用域](/basics/object-oriented/scope.md)
27 |
28 | * 平台无关性
29 |
30 | * [Java如何实现的平台无关性的](/basics/object-oriented/platform-independent.md)
31 |
32 | * [JVM还支持哪些语言](/basics/object-oriented/jvm-language.md)
33 |
34 | * 值传递
35 |
36 | * [值传递、引用传递](/basics/object-oriented/java-pass-by.md)
37 |
38 | * [为什么说Java中只有值传递](/basics/object-oriented/why-pass-by-reference.md)
39 |
40 | * Java基础知识
41 |
42 | * 基本数据类型
43 |
44 | * [8种基本数据类型](/basics/java-basic/basic-data-types.md)
45 |
46 | * [整型中byte、short、int、long的取值范围](/basics/java-basic/integer-scope.md)
47 |
48 | * [什么是浮点型?](/basics/java-basic/float.md)
49 |
50 | * [什么是单精度和双精度?](/basics/java-basic/single-double-float.md)
51 |
52 | * [为什么不能用浮点型表示金额?](/basics/java-basic/float-amount.md)
53 |
54 | * 自动拆装箱
55 |
56 | * [自动拆装箱](/basics/java-basic/boxing-unboxing.md)
57 |
58 | * [Integer的缓存机制](/basics/java-basic/integer-cache.md)
59 |
60 | * [如何正确定义接口的返回值(boolean/Boolean)类型及命名(success/Success)](/basics/java-basic/success-isSuccess-and-bollean-Bollean.md)
61 |
62 | * String
63 |
64 | * [字符串的不可变性](/basics/java-basic/final-string.md)
65 |
66 | * [JDK 6和JDK 7中substring的原理及区别](/basics/java-basic/substring.md)
67 |
68 | * replaceFirst、replaceAll、replace区别
69 |
70 | * [String对“+”的重载](/basics/java-basic/string-append.md)
71 |
72 | * [字符串拼接的几种方式和区别](/basics/java-basic/string-concat.md)
73 |
74 | * [String.valueOf和Integer.toString的区别](/basics/java-basic/value-of-vs-to-string.md)
75 |
76 | * [switch对String的支持](/basics/java-basic/switch-string.md)
77 |
78 | * 字符串池
79 |
80 | * 常量池(运行时常量池、[Class常量池](/basics/java-basic/class-contant-pool.md))
81 |
82 | * intern
83 |
84 | * Java中各种关键字
85 |
86 | * transient
87 |
88 | * instanceof
89 |
90 | * volatile
91 |
92 | * synchronized
93 |
94 | * final
95 |
96 | * static
97 |
98 | * const
99 |
100 | * 集合类
101 |
102 | * [Collection和Collections区别](/basics/java-basic/Collection-vs-Collections.md)
103 |
104 | * 常用集合类的使用
105 |
106 | * [Set和List区别?](/basics/java-basic/set-vs-list.md)
107 |
108 | * [ArrayList和LinkedList和Vector的区别](/basics/java-basic/arraylist-vs-linkedlist-vs-vector.md)
109 |
110 | * [SynchronizedList和Vector的区别](/basics/java-basic/synchronizedlist-vector.md)
111 |
112 | * [Set如何保证元素不重复?](/basics/java-basic/set-repetition.md)
113 |
114 | * [HashMap、HashTable、ConcurrentHashMap区别](/basics/java-basic/HashMap-HashTable-ConcurrentHashMap.md)
115 |
116 | * Java 8中Map相关的红黑树的引用背景、原理等
117 |
118 | * HashMap的容量、扩容、hash等原理
119 |
120 | * [Java 8中stream相关用法](/basics/java-basic/stream.md)
121 |
122 | * Apache集合处理工具类的使用
123 |
124 | * 不同版本的JDK中HashMap的实现的区别以及原因
125 |
126 | * [Arrays.asList获得的List使用时需要注意什么](/basics/java-basic/Arrays-asList.md)
127 |
128 | * Collection如何迭代
129 |
130 | * [Enumeration和Iterator区别](/basics/java-basic/Enumeration-vs-Iterator.md)
131 |
132 | * [fail-fast 和 fail-safe](/basics/java-basic/fail-fast-vs-fail-safe.md)
133 |
134 | * [如何在遍历的同时删除ArrayList中的元素](/basics/java-basic/delete-while-iterator.md)
135 |
136 | * [CopyOnWriteArrayList](/basics/java-basic/CopyOnWriteArrayList.md)
137 |
138 | * [ConcurrentSkipListMap](/basics/java-basic/ConcurrentSkipListMap.md)
139 |
140 | * 枚举
141 |
142 | * [枚举的用法](/basics/java-basic/enum-usage.md)
143 |
144 | * [枚举的实现](/basics/java-basic/enum-impl.md)
145 |
146 | * [枚举与单例](/basics/java-basic/enum-singleton.md)
147 |
148 | * Enum类
149 |
150 | * [Java枚举如何比较](/basics/java-basic/enum-compare.md)
151 |
152 | * [switch对枚举的支持](/basics/java-basic/enum-switch.md)
153 |
154 | * [枚举的序列化如何实现](/basics/java-basic/enum-serializable.md)
155 |
156 | * [枚举的线程安全性问题](/basics/java-basic/enum-thread-safe.md)
157 |
158 | * IO
159 |
160 | * [字符流、字节流](/basics/java-basic/byte-stream-vs-character-stream.md)
161 |
162 | * [输入流、输出流](/basics/java-basic/input-stream-vs-output-stream.md)
163 |
164 | * 字节流和字符流之间的相互转换
165 |
166 | * [同步、异步](/basics/java-basic/synchronized-vs-asynchronization.md)
167 |
168 | * [阻塞、非阻塞](/basics/java-basic/block-vs-non-blocking.md)
169 |
170 | * [Linux 5种IO模型](/basics/java-basic/linux-io.md)
171 |
172 | * [BIO、NIO和AIO的区别、三种IO的用法与原理](/basics/java-basic/bio-vs-nio-vs-aio.md)
173 |
174 | * netty
175 |
176 | * 反射
177 |
178 | * [反射](/basics/java-basic/reflection.md)与工厂模式、
179 |
180 | * [反射有什么作用](/basics/java-basic/usage-of-reflection.md)
181 |
182 | * [Class类](/basics/java-basic/Class.md)
183 |
184 | * `java.lang.reflect.*`
185 |
186 | * 动态代理
187 |
188 | * [静态代理](/basics/java-basic/static-proxy.md)
189 |
190 | * [动态代理](/basics/java-basic/dynamic-proxy.md)
191 |
192 | * [动态代理和反射的关系](/basics/java-basic/dynamic-proxy-vs-reflection.md)
193 |
194 | * [动态代理的几种实现方式](/basics/java-basic/dynamic-proxy-implementation.md)
195 |
196 | * [AOP](/basics/java-basic/aop-vs-proxy.md)
197 |
198 | * 序列化
199 |
200 | * [什么是序列化与反序列化](basics/java-basic/serialize.md)
201 |
202 | * [Java如何实现序列化与反序列化](basics/java-basic/serialize-in-java.md)
203 |
204 | * [Serializable 和 Externalizable 有何不同](basics/java-basic/diff-serializable-vs-externalizable.md)
205 |
206 | * 为什么序列化
207 |
208 | * [serialVersionUID](basics/java-basic/serialVersionUID.md)
209 |
210 | * [为什么serialVersionUID不能随便改](basics/java-basic/serialVersionUID-modify.md)
211 |
212 | * [transient](basics/java-basic/transient.md)
213 |
214 | * [序列化底层原理](basics/java-basic/serialize-principle.md)
215 |
216 | * [序列化如何破坏单例模式](basics/java-basic/serialize-singleton.md)
217 |
218 | * [protobuf](basics/java-basic/protobuf.md)
219 |
220 | * 为什么说序列化并不安全
221 |
222 | * 注解
223 |
224 | * [元注解](/basics/java-basic/meta-annotation.md)
225 |
226 | * [自定义注解](/basics/java-basic/custom-annotation.md)
227 |
228 | * Java中常用注解使用
229 |
230 | * 注解与反射的结合
231 |
232 | * [如何自定义一个注解?](/basics/java-basic/create-annotation.md)
233 |
234 | * [Spring常用注解](/basics/java-basic/annotation-in-spring.md)
235 |
236 | * 泛型
237 |
238 | * [什么是泛型](/basics/java-basic/generics.md)
239 |
240 | * [类型擦除](/basics/java-basic/type-erasue.md)
241 |
242 | * [泛型带来的问题](/basics/java-basic/generics-problem.md)
243 |
244 | * [泛型中K T V E ? object等的含义](/basics/java-basic/k-t-v-e.md)
245 |
246 | * 泛型各种用法
247 |
248 | * [限定通配符和非限定通配符](/basics/java-basic/Wildcard-Character.md)
249 |
250 | * [上下界限定符extends 和 super](/basics/java-basic/extends-vs-super.md)
251 |
252 | * [`List