跳到主要内容

🐏 Java开发学习路线

Java是国内岗位需求量最大的编程语言(其次是前端开发),也是国内高校最推荐学习的编程语言之一(另外一个是C++)。Java被广泛用于各种应用程序的开发,尤其是企业解决方案的后端、安卓开发等。对于大学生、技术新人以及想转行的童鞋来说,Java都是非常值得学习的一个技术方向。本学习路线也主要面向如何快速走向Java程序员职业化道路,满足企业招聘需求。

学前注意事项

没有基础也可以学习和从事Java开发

对于国内大多数想从事或转行Java开发的童鞋来说,甚至你完全可以不学漫长而复杂的计算机专业(CS)知识体系的课程以及数学,只需一门心思专注于Java以及Java生态的学习,即便你没有扎实的数学功底,只掌握基础的高中英语,你只需要投入大概半年左右的时间(每天8小时左右)就能满足大多数企业的岗位需求。

而对于211及以上的计算机专业学生来说,除了需要掌握核心的CS课程以外,非常建议你在确定选择了Java这个学习方向的情况下及早掌握Java以及Java生态的学习,这对你找实习和就业会有很大的帮助。

实战是学编程最快的方法

如果不实战,只是看书、看视频,就不要学编程了!!很多学生学Java还跟高中、大学一样,喜欢看各种视频,收藏一些文章,就是不动手,这会让你觉得编程越学越复杂,越学越迷茫。编程只有你自己动手实战,自己敲代码运行,再根据运行的结果理解概念,这样学才会变得更加简单。

编程是一项类似于开车、骑自行车、做菜等一样的技术技能,你只有实实在在看到过方向盘、车轮、电饭煲是什么看,在车上实际摸过方向盘、踩过车轮、启动过电饭煲,你才能真正理解它们。在编程里也是一样,比如线程、进程、HTTP,对于初学者来说,如果你没有通过实战见过,通过运行代码来了解它们,无论老师讲得有多好,你都不可能真正理解。

没有实战过的理解,只是你自以为的理解,即便是考试拿了高分,也不代表你真正理解了。一个会背汽车方向盘原理的人,是不会有实际开过车的人更懂方向盘的。

学习内容说明

Java开发需要掌握Java生态

和几乎所有编程语言一样,学好Java并不只是要掌握Java的基础语法,而是要掌握使用Java来解决企业实际的问题,满足企业招聘需求。对于学习者而言,你需要具备Java项目开发的能力,掌握Java以及Java生态的知识体系,通常这些知识包括:

  • Java基础知识
  • 数据结构与算法
  • 计算机网络
  • 数据库
  • 主流框架Spring Boot以及Spring Boot相关生态:
  • 项目开发与管理

等等,也就是说光只学Java编程语言是没法从事Java开发的职业岗位的,需要能够使用Java,尤其是Spring Boot来开发实际的项目才行。

企业面试与招聘

对于任何一个前沿的技术方向,到底应该了解和学习哪些技术知识,不能以学校的课程体系为主,也不能去看培训班杂乱的培训方案,而是要多去搜索、调查了解当前市场上的企业实际的招聘岗位的具体需求,尤其是大厂的。

当然,Java的开发方向也有很多,建议你在掌握了本学习路线列出的基础知识的前提下,再去选择其中一个你比较感兴趣的方向深入学习,切忌什么都学,大企业更喜欢招聘垂直型深入研究的人才,而不是全才。

对于计算机专业的学校来说,尽管通常会走校招路线,也推荐你及早提前了解一下大厂校招的相关岗位以及尽早关注实习僧之类的网站去大厂实习,但是在学习时,由于目前内卷相对比较激烈,仍然建议你多去了解一下社招岗位的相关信息。

🦈 字节跳动社招
字节跳动的Java主要有后端、大数据、云原生等方向,通常都需要对目前比较热门的云原生的生态有一定的了解。
🦣 阿里集团社招
阿里以及阿里系是国内使用Java技术栈最多的企业,可以去实际了解一下各个岗位的需求
🐧 腾讯社招
腾讯部门划分比较多,Java不只是后台开发,还可以是全栈应用的开发,也可以根据需要转岗Go开发
🐥 实习僧
非常建议在大二、大三的时候关注实习僧的招聘信息,安排去企业实习,这样就能及早明白技术的学习方向,了解技术的实际应用场景,但是最好不要在企业里纯打杂
🦋 拉勾招聘
如果觉得自身能力达不到大厂需求,同样建议多去拉勾招聘上去搜索了解Java相关的岗位,这样学习才会有明确的目的。

哪些Java知识不要再学了

在Java的学习过程中,有一些过时或不再常用的特性和技术,你可以考虑不再深入学习。以下是一些可能不需要再学的Java知识点:

  • AWT和Swing:随着Java不断更新,一些老旧的API和库可能已被更先进的替代。例如,AWT和Swing在图形界面开发中逐渐被JavaFX所取代,不过即便是JavaFX,也不是业内流行的解决方案,一般也不推荐深入学习;
  • Applet:Applet曾经是Java的重要组成部分,用于在浏览器中运行Java程序。但随着Web技术的发展,Applet已经逐渐被HTML5和其他现代Web技术所替代。
  • Java ME:Java ME(Micro Edition)是为嵌入式和移动设备设计的Java平台。随着智能手机的兴起和Android的流行,Java ME的重要性大大下降。

非常不建议你在Spring Boot生态开发还不成熟的基础上,就去关注国内一些培训班所谓的大数据开发、人工智能,对于刚入门的技术新人来说,少学一点杂七杂八的概念,打好基础更重要。