10张思维图,告诉你Java应该要怎么学。
不知不觉踏入互联网行业已经三年了。
回顾当初第一次接触Java,是在大学的课堂,晦涩难懂的知识点,现在还能想起被期末考试支配的恐惧。
直到踏入互联网这个行业,加上前阵子把《Java核心技术卷1》、《深入理解Java虚拟机》、《计算机网络》等等这些书籍看完,再回想一下自己整个入行到工作的历程,总结了一下学习Java的路线,希望可以帮到各位初入行的Java小白。
图一 大纲 图二 Java基础 图三 计算机基础 图四 数据库 图五 数据库前端 图六 进阶 图七 运维知识 图八 工具使用 图九 其他 图十 总结
学Java,但是不能只学Java,因为在计算机这棵大树中,Java只是一片叶子。
一个合格的Coder,除了Java,还需要熟悉操作系统、计算机网络、数据库、前端、运维、中间件、框架等等这些东西,如果要成为一个Top Coder,项目管理、英语、沟通、算法也很重要。
就针对就业来说,个人觉得掌握 Java基础、计算机基础、数据库、框架使用、Linux、中间件、开发IDE的使用,就算一个入门级的Coder了。
Java基础没有推荐的书籍,个人觉得,马老师的Java入门视频已经足够了。
Java基础 分为 Java基础知识、对象和类、异常、集合、IO、网络、并发 这7个部分。
如果说Java是叶子,你们Java基础就是这片叶子的叶脉。
计算机基础这部分主要分操作系统和计算机网络。
如果你是计算机专业的学生,那么《计算机网络 谢希仁》和《计算机操作系统(第四版》这两本书是不错的书籍。
个人推荐的话,《图解 TCP IP》这本书更通俗易懂。
数据库主流以MySQL为代表。
我们使用Java去操作数据的过程,就会产生不同的结果,数据如何保存,就需要使用数据库。
虽然是作为Java后端开发Coder,但是面对一个完整的项目,与前端有着不可或缺的关系。简单的前端知识我们还是需要了解的。
还有就是,也不是所有的公司都是区分前后端的,全栈工程师显然更厉害。
学完Java的基础,是不足以支撑我们去搭建又或者去了解一个项目的。
现在新的框架日新月异,像spring、springboot、dubbo等等,它们的出现解放了生产力,促进了开发的效率,提供了高效又便利的接口;还有像Redis、mq、Nginx等等中间件的辅助,令Java有了更灵活的扩展能力。
框架也是建立在Java上面的,仅仅学会使用框架也是不够的,关键是学会框架的思想。
除此之外,要想成为一名Top Coder,算法是必不可少的。
学习算法,推荐《剑指offer》和LeetCode。
LeeCode地址:https://leetcode-cn.com/
提到运维,就少不了和服务器打交道,和服务器打交道,就得掌握Linux的知识。
虽然我们不是要做专业的运维,但也是要掌握部分的运维知识的,毕竟 项目部署、排错、日志、备份等等,也是需要我们作为一名开发掌握的知识。
在devops的主流下,Jenkins+Git+docker的自动化测试、上线流程使开发和运维的工作效率更高。
工具是开发的生产力。工欲善其事必先利其器,每个人都应该找到适合自己的开发工具并且掌握这些工具的使用方法,这样我们平时的开发效率才能更高。
就拿IDEA来说吧,设置代码风格、快捷键、使用插件 ,找到自己熟悉的一套脚手架,对我们日常开发来说是很有帮助的。
还有很多github的“神器”、开源jar、云服务API,需要自己学会发现。
唠叨一下代码之外的吧,我们做技术的,最可悲的就是永远用技术的视角来看待所有的问题。
代码之外,还有很多学问,比如沟通能力、项目管理。
此外,对应届生来说,如何写简历、面试、谈薪 也是需要注意和关注的。
如果你对技术满怀热情,在以后的工作中,就能抵消大部分的迷惘和烦恼。
把以上8个要点总结一下,做成一张xmind,希望可以帮到各位即将准备学习Java的各位。
清楚自己想要什么,知道怎么去追求。不要害怕失败,可能会成功的。加油