# Java

By [ToTheMoon](https://paragraph.com/@0xhighlight) · 2022-05-21

---

前言

如果你想自学 Java，认真看完本文，你以后的职场生涯至少少走1年弯路。

本文会持续更新，建议收藏

![](https://storage.googleapis.com/papyrus_images/55246cb9aa1cffd0e683814258dbb4bfe92daeb32320fe04cd9b09104d1ee07b.jpg)

。

初衷 在 CSDN 上经常有同学私聊我询问 “如何自学 Java”、“想转行 Java 靠谱吗” 等问题，因为自己也是在大学时自学的 Java，所以我能理解这些同学的痛苦和迷茫。

写这篇文章前，我看了一些网上 Java 自学的文章，很多我都不太满意，有的甚至让我感到愤怒，要么是站在现有的视角侃侃而谈，要么是纯粹的瞎编骗小白。

很多文章都有一个老毛病：完全没有从小白的视角去思考，内容太多，什么微服务、架构、大数据都来了，这根本不是自学阶段该去看的东西，小白看了这些文章，只会越看越懵逼，根本没法下手。

其实我在18年写过一篇“0基础Java自学之路”，但是现在来看，当时那篇文章写的过于简单，只是提供了一个思路，但是很多内容没有写。

如今已经过去了3年，我对于这个话题又有了一些新的思考，同时为了拯救广大正处于水深火热的同学们，于是，我决定重新写一篇自学教程。

自我介绍 在写本文前有必要介绍下我自己，让大家更好的去比较和参考。

我大学是普通本科，大三开始自学的 Java，自学了一年，但是我是计算机专业的，所以有C语言基础，但是我这一年的自学走了不少弯路，花了很多时间学了很多后面根本没用到的东西：Oracle、Hibernate、Struct2、JBPM 等等，还有就是缺少有经验的人的指导，所以容易抓不到重点，所以也浪费了不少时间。

不过当时还没有现在这么内卷，所以我在大四秋招刚开始就找到工作了。

行业现状 程序员现状 由于程序员的薪水比较高，最近几年有很多其他专业的人涌进了程序员行业，加速了这个行业的内卷，但是据某招聘网上的数据统计，程序员当前的需求量还是远高于全行业的平均线的。所以，程序员的现状我觉得是不错的，至少几年内是无需担心的。

Java 现状 最近几年，Go、Python 等语言快速崛起，大有挑战 Java 地位的趋势，但是 Java 毋庸置疑仍是当前互联网行业里招聘需求量最大的。

众多大厂：阿里、美团、快手、拼多多、滴滴、网易等，都是以 Java 为公司的主语言，部分大厂：腾讯、百度、字节等，虽然以其他语言为主语言，但是多多少少也会有一些 Java 岗。

所以，Java 的现状及未来，我觉得都是比较不错的。岗位多也代表着机会多，对于新人来说比较友好，所以我个人是比较推荐新人学 Java 的。

自学前你应该知道 自学前请做好心理准备，自学是一个既寂寞又漫长的过程，如果想踏进来，请做好放弃几乎所有娱乐生活的准备，包括过年的时候。如果只是抱着三天打鱼两天晒网的态度，那我建议还是放弃吧。

但是如果你能坚持下来，我相信一定能有所回报，我自己就是个例子，我走了那么多弯路，跟着本文走，你们没理由比我当时更差。

自学预估周期 自学的周期我给大家定了一个参考时间：6个月，平均每天6-8小时，共1200个小时左右，大致安排：

1、3个月基础知识学习和强化。

2、2个月 SSM 项目实战反复练习，项目实战同时也在复习和巩固之前的基础知识。

3、1个月面试高频题准备，看面试题其实也会增加自己的专业知识，而且可能比你想象的要多，不夸张的说，前几年我从面试题里学到的知识可能比工作里获得的还多。

自学教程获取 授人以鱼不如授人以渔，一个简单又靠谱的的教程获取方式：B站搜索关键字+教程，例如：Java基础教程、MySQL教程、JavaWeb教程、SSM整合教程、Java项目实战等等，然后按“最多点击”排序，在前几个里寻找一个合适的即可，一般点击高的都是质量还可以的。

很重要的建议 1、爱因斯坦的成功公式：成功 = 效率 \* 时间，自学也一样，需要劳逸结合，不要搞的太累，否则效率下降，花再多时间也没用。

2、自学是一个漫长的过程，循序渐进、保持耐心，如果可以，找个伴一起学习，互相鼓励，互相交流，可以让自己更有动力坚持下去。

3、将自己的学习过程记录下来，当你发现累计的越来越多的时候，心里会有一种小成就感，这会提高你学习的动力。

4、专注于重点知识的学习，本文介绍的基本涵盖了当前你应该学习的内容，没有提到的大部分是没那么重要的，如果你无法判断是否重要，可以在本文下面留言，我会一一解答，至于像一些什么：k8s、hadoop、hbase 等等，看都别看，对于当前的你来说只是浪费时间。

5、利用好搜索引擎，有什么问题就百度，新手大部分的问题百度都能解决。

6、看视频不要看书，当前阶段的你看任何书，包括大名鼎鼎的《Java编程思想》都是浪费时间。

7、看视频要跟着敲一遍甚至多遍，如果只看视频不跟着敲，你会发现最后啥都学不会。

8、视频中一些介绍历史的视频可以过一遍简单了解就行，节省点时间。

9、关于视频教程的选取：选择近2~3年的教程，讲师让自己听着舒服即可，点击高的视频水平基本差不多。

10、不懂的知识可以反复看，例如同一个知识点有两套教程，看完第一个没完全理解，可以再看第二个，加深印象，也可以查些资料帮助理解。

---

*Originally published on [ToTheMoon](https://paragraph.com/@0xhighlight/java)*
