目录
- 必须掌握的基础知识
- 1. Git & Github
- 2. Linux
- 3. 数据结构和算法
- 4. HTTP / HTTPS
- 5. 设计模式
- 6. 计算机原理
- java学习之路
- 1. 工具
- 1.1 开发工具
- 1.2 构建工具
- 1.3 虚拟化工具
- 1.4 CI工具
- 2. JDK
- 2.1 Java Collections
- 2.2 Java并发和多线程
- 2.3 Java 8-15的新特性
- 2.4 Java IO
- 2.5 深入理解JVM
- 3. 框架
- 3.1 Spring
- 3.2 Spring Boot
- 3.3 Netty & Mina
- 3.4 ORM
- 3.5 微服务
- 4. 测试框架
- 5. 实用库
- Keep learning
java作为第一大编程语言,可谓源远流长,一代又一代的java程序员前仆后继走在java学习的路上。java程序员的学习之路在2020年又有什么变化呢?本文详细附上了每一个部分所需知识的教程链接地址,并会持续更新,希望能够和大家一起进步!
先上图:
上面的RoadMap图中列出了作为一个java程序员需要掌握的技术路线,所有技术都懂那当然非常好,如果还没掌握也没关系,just keep learning!
必须掌握的基础知识
作为程序员当然是有门槛的,这个门槛就是所需要掌握的基础知识,写好了程序不仅要知其然,更要知其所以然。这样才能在写程序的过程中,透过现象看到本质,从本质上提升写代码的功力。
1. Git & Github
Github作为全球最大的同性交友平台,是个程序员都应该知道。作为开源风潮的托管平台,GitHub上面有大量的优秀开源项目,如果有需可以从GitHub上面借用各种项目,没有需要也可以去读读上面的代码,提升下写作水平。
Git作为优秀的版本管理工具,相信绝大多数公司都在使用,那么掌握Git的命令和使用就是非常重要了。更为重要的是,Git通过git flow带给我们了代码管理的新思路。
2. Linux
很多程序员用惯了windows可能对Linux并不熟悉,但是大家要知道绝大多数的服务器都是部署在Linux上面的,不懂Linux就说自己懂编程,岂不是很搞笑?连自己写出来的代码运行的平台都不了解,怎么可以。即使不是运维专员,自己部署程序也要会的,部署中需要注意的问题肯定要关注,至于Linux的基本命令那更是要100%掌握。
3. 数据结构和算法
如果只是使用java中的库,那么至少array, linked list, hash table, binary tree, queue, stack, graph这些基本的数据结构是需要掌握的。
如果你想更深入一些Trie, B-Tree, AVL tree等等可以了解一下。
4. HTTP / HTTPS
现在是Web的天下了,搞懂HTTP,HTTPS走遍天下都不怕。
可以参考之前我的文章:
5. 设计模式
设计模式可以说是大神和小工的分界线,各种设计模式信手拈来才能成为设计专家。
当然这里不是要你死记硬背,关键是合理应用。
6. 计算机原理
知道计算机是怎么工作的很重要,你的代码,程序怎么转换成计算机可以懂的语言,CPU的调度原理,内存工作原理等等。