# :rainbow: To Be Better Javaer,Java 程序员进阶之路 - 通俗易懂、风趣幽默 > **作者:** 沉默王二,Java Developer,[:pencil2: 个人博客](https://itwanger.com),[:books: 计算机经典书单(download)](https://mp.weixin.qq.com/s/qwUtTbfDB36VSwnjMRakqA) > Java 程序员进阶之路,本专栏旨在为 Java 爱好者提供一个清晰详细的学习教程,专栏风趣幽默、通俗易懂,对 Java 爱好者极度友好和舒适😄,内容包括但不限于 Java 基础、Java 集合框架、Java IO、Java 并发编程、Java 虚拟机、Java 企业级开发(Maven、Git、SSM、Spring Boot)等核心知识点。。如果本仓库能为你提供帮助,请给予支持(关注、点赞、分享)! # ⛳目录 - 仓库同步:[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-参与贡献) 具体章节可以参照下面这张思维导图(绿色✅的部分是已经更新的) ![](https://img-blog.csdnimg.cn/6b336a5ed8c64ff8b959b739fed21491.png) # :bookmark: 学习说明 **编程是听不会,也看不会的,只有经过大量的实践才能学会,所以一定要动手,专栏中所有的例子都不要放过,一个一个来,直到自己能在没有任何帮助的情况下,独立完成代码的编写**。 记住:编程是门手艺活,唯手熟尔! ---- 1. 本专栏的所有内容都是经过我精心打磨的,所以你完全不用担心学不会的问题! 2. 本专栏的所有配套源码已经在 GitHub 上开源(在本仓库的 code 目录下,直接导入到 Intellij IDEA 就可以运行),你在练手的时候可以作为参考。 3. 如果你在学习的过程中遇到了什么问题,包括:不能运行、优化意见、文字错误等任何问题都可以提交 issue,也可以联系我,微信:`qing_geee`,备注 Java。 4. 本专栏不仅会教你如何学习 Java,还会把我十多年的编程经验倾囊相授,让你真正成为一名有即战力的选手。 5. **没有什么使我停留——除了目的,纵然岸旁有玫瑰、有绿荫、有宁静的港湾,我是不系之舟**。 # :pencil: 章节目录 ## Java 入门 ### **Java 概述** - [什么是 Java](docs/overview/what-is-java.md) - [Java 发展简史](docs/overview/java-history.md) - [Java 的优势](docs/overview/java-advantage.md) - [JDK 和 JRE 有什么区别](docs/overview/jdk-jre.md) - [安装集成开发环境 Intellij IDEA](docs/overview/idea.md) - [第一个 Java 程序:Hello World](docs/overview/hello-world.md) ### **Java 基础语法** - [基本数据类型](docs/basic-grammar/basic-data-type.md) - [流程控制](docs/basic-grammar/flow-control.md) - [运算符](docs/basic-grammar/operator.md) - [注释:代码的最强辅助](docs/basic-grammar/javadoc.md) ### **面向对象** - [什么是对象?什么是类](docs/oo/object-class.md) - [变量](docs/oo/var.md) - [方法](docs/oo/method.md) - [构造方法](docs/oo/construct.md) - [代码初始化块](docs/oo/code-init.md) - [抽象类](docs/oo/abstract.md) - [接口](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) - [方法重载和方法重写](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) ### **字符串** - [String 为什么是不可变的](docs/string/immutable.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/array.md) - [打印数组](docs/array/print.md) ### **集合框架** - [初识集合框架](docs/collection/gailan.md) - [时间复杂度](docs/collection/big-o.md) - [ArrayList](docs/collection/arraylist.md) - [泛型](docs/basic-extra-meal/generic.md) - [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) ### **异常处理** - [异常处理机制](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) - [异常最佳实践](docs/exception/shijian.md) ### **常用工具类** - [数组工具类:Arrays](docs/common-tool/arrays.md) - [集合工具类:Collections](docs/common-tool/collections.md) - [简化每一行代码工具类:Hutool](docs/common-tool/hutool.md) - [Guava,拯救垃圾代码,效率提升N倍](docs/common-tool/guava.md) ### **Java IO** - [IO 流的分类和概述](docs/io/shangtou.md) ### **加餐** - [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) - [Comparable和Comparator有什么区别?](docs/basic-extra-meal/comparable-omparator.md) ## Java 企业级开发 ### **Maven** - [项目构建神器 Maven](docs/maven/maven.md) ### **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) ## Java 进阶 ### **Java 并发编程** - [室友打一把王者就学会了多线程](docs/thread/wangzhe-thread.md) ### **Java 虚拟机** - [JVM 是什么?](docs/jvm/what-is-jvm.md) ## 八股文 - [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) # :paw_prints: 联系作者 - **技术交流群** 本群的宗旨是给大家提供一个良好的技术学习交流平台,所以杜绝一切广告!
由于微信群人满 100 之后无法加入,请先添加作者微信「qing_geee」(也可以扫描下方的二维码),备注:加群。
- **原创公众号** 本号的slogan:技术文通俗易懂,吹水文风趣幽默。
目前已有近 10 万读者关注,微信搜索「**沉默王二**」(也可以扫描下方的二维码)就可以关注我了。
回复关键字「**03**」可以下载《Java 程序员进阶之路》专栏的离线 PDF 版本(暗黑版和亮白版)。 - **star 趋势图** [![Stargazers over time](https://starchart.cc/itwanger/toBeBetterJavaer.svg)](https://starchart.cc/itwanger/toBeBetterJavaer) # :muscle: 参与贡献 1. 如果你对本项目有任何建议或发现文中内容有误的,欢迎提交 issues 进行指正。 2. 对于文中我没有涉及到知识点,欢迎提交 PR。 # :gift: Donate 开源不易,如果《Java 程序员进阶之路》专栏对你有些帮助,可以请二哥喝杯咖啡,算是对开源做出的一点点鼓励吧!
:gift_heart: 感谢大家对我资金的赞赏,每隔一个月会统计一次。 时间|小伙伴|赞赏金额 ---|---|--- 2021-10-26|*鱼|28 元 2021-10-11|*人|28 元 2021-09-01|S*n|6.6 元 2021-08-02|*秒|1 元 2021-06-13|*7| 28 元 2021-04-29|pebble|2 元