CSDN 上收到一条私信,内容大致是这样的:“二哥,我学校比较垃圾,想自学 Java 可以吗?自学 Java 难吗?毕业后能找到一份 6k左右的工作吗?”
不知道 CSDN 上的其他小伙伴有没有类似的问题,我熬了一个大爷,肝出了这条学习路线,送给大家作为参考。
难在坚持。你要是对自己的自律性信得过,自学 Java 是没问题的。
互联网时代最不缺的就是学习资源,学习教程,网上随便找找,就能找到一大筐,只要你能每天花 6-8 个小时用于高效学习,半年就能入门 Java 了。
高效学习期间,一定要杜绝抖音、游戏的诱惑,可以在学习之余,奖励自己玩一会,但千万要控制时间。
二哥就好人做到底吧,附赠 B 站上两个阅读量最大的 Java 视频教程给你,一个是动力节点的 Java 零基础教程视频,讲解了Java开发环境搭建、Java的基础语法、Java的面向对象。每一个知识点都讲解的非常细腻,由浅入深。适合非计算机专业,想转行做Java开发的朋友,或者您想让Java基础更扎实的同学。
https://www.bilibili.com/video/BV1Rx411876f?from=search&seid=14363442433047519469
一个是尚硅谷宋红康老师的,0基础讲起,循序渐进,剖析细致且配备大量随堂练习,涉及JavaSE方方面面,融入数据结构、设计模式、JVM等,Eclipse与IDEA并用,2万多行代码+3套课堂实战项目+2套课后实战项目+近百道企业面试真题。
https://www.bilibili.com/video/BV1Kb411W75N?from=search&seid=14363442433047519469
特此声明,绝不是培训中心的拖,没必要哈,因为动力节点和尚硅谷这两个视频的确在 B站上很受欢迎。放在以前,估计要花好几千块吧,B 站这个小破站,真 YYDS!
祝你早日成功!
这里我必须得强调一点,自学感觉难,可能和自身的学习能力有关系,但更多是和教的人有关系。
虽然十多年过去了,但回想起大一时候的光景,仍然历历在目。
由于计算机专业是学校新开的专业,所以老师们也没有多少教学经验,于是我们第一学期就直接开搞 Java 这门编程语言了,教材用的是大名鼎鼎的《Java 编程思想》和不那么大名鼎鼎的《Java 开发宝典》。
由于没有一丁点编程基础,所以我上课的时候完全听不懂,看《Java 编程思想》这本书就像是看天书一般,心里慌得一逼,但也没什么好的办法。
和我类似情况的同学还有不少,能在下半学期转到其他专业的都转了;不能转的,就和我一样瞎胡混着。
你看,遇到这种情况,肯定就很难了!
我是大二下半学期才开始发愤图强的,因为当时汇编和计算机网络都挂科了。再这么下去,拿毕业证都成问题,这简直对我打击太大了。
于是就下定决心,一定要补一下。
当时也没有很好的学习路线,网上的资源也没有现在这么丰富(可以说是极度匮乏),从网络上找了一份李兴华老师的讲课视频——用电驴下载的。李兴华老师是讲 Java 的,讲课特别激情,很带劲。
一开始,还是挺难的,因为基础太差,很多听不懂。没办法,一遍听不懂,就再听一遍,前前后后一套视频看了有四五遍吧。
当然了,编程是看不会的,也听不会的,只能练。
给大家一点看视频的小建议哈。先整体上过一遍老师在讲什么,然后遇到敲代码的时候一定要暂停,先自己去理解,理解不了就去背,然后脑子里有点东西的时候就下手去敲。卡壳的时候,就重复之前的动作,直到代码的完整逻辑全部都吸收到了脑子里,自己能在没有任何帮助的情况下把代码完整敲下来,这时候才能继续。
我大概花了两个月的时间,才把李兴华的这份视频教程刷完,算是有了点编程基础,后面就尝试自己主动去修修改改,看是不是还能跑的通——有很多时候跑不通,一度怀疑自己是否适合编程,太惨了。
但终究我没有放弃,吭哧吭哧地学,按照自己的节奏,一直持续到大三的时候。
功夫不负有心人,也许是努力得到了老天的眷顾,我还是拿到了一家外企的实习 offer。
关于看书还是看视频这件事,不用纠结,人类学习效率最高的方式,不是"读书 + 思考",而是"观察 + 模仿"。前者需要较长时间的注意力投入,后者只需要短时间注意力,更符合人类的天性。
有些知识,读书读半天也不一定明白,但是亲眼看别人做一遍,马上就能懂。即使不完全懂,至少知道怎么模仿。所以才会有"百闻(文)不如一见",人们更容易接受形象的东西,而不是抽象的文字。
大部分领域的入门方式,都是"观察和模仿",所以视频学习更有效。对于深入学习,文字和书籍的效果可能好于视频,因为入门以后再往上走,"理解 + 思考"的作用越来越大,"观察 + 模仿"的作用越来越小。但是,大多数人需要的只是入门,成为专业工作者毕竟是少数。
所以,视频学习才是初学者更好的方式,或者说,视频是大众学习的主流,读书更适用于某个主题的进阶学习。
以前没条件视频学习,现在不一样了。智能手机的普及,使得以前没人拍的知识,现在都有人拍;宽带互联网的普及,又使得人们可以随时随地消费视频。我们已经进了视频学习的时代,视频网站可能是新时代的图书馆和印刷机。
任何一门编程语言都是由下面这几部分部分组成的:
1、数据类型、数据结构
2、逻辑判断,循环
3、类、函数(方法)
4、库函数(库方法)
5、第三方类库
对于零基础的新手来说,1、2、3 可能需要花点时间 ,但只要学习教程到位,学习方法合理,一个月的时间就完全足够了!
对于有基础的人来说(之前学过 C语言或者其他编程语言),一周时间就足够了。
接下来的重点是库函数(库方法)和第三方类库的学习,你能否熟练写程序就取决于对各种开发库的熟悉程度。新手需要不停地查手册,查看每个方法和参数,通过大量的使用来形成肌肉记忆。
我当初就是备了一份 Java 6 的 API 在桌面上,现在还是以 Java 8 为准。
https://docs.oracle.com/javase/8/docs/api/
针对 Java 的学习,其实可以分为以下 4 大块:
1)Java 语言入门
从基础语法、面向对象,到常用工具类库开始,主要包括的内容有:
这部分的学习,再给大家推荐一份 GitHub 上的开源教程——《Java 程序员进阶之路》,专栏主要针对零基础学 Java 编程的同学,从 Java 核心语法开始,循序渐进,再到 Java 集合框架、Java IO、Java 并发编程、Java 虚拟机,只讲重点。
https://github.com/itwanger/toBeBetterJavaer
本专栏的所有配套源码已经在 GitHub 上开源,所以你在练手的时候可以作为参考,但尽量尝试在每篇学完后独立完成任务。
这个阶段我是这样安排的:
01、运行环境花一天的时间,关键字花一天,数据类型、运算符花一天,条件结构、循环结构给你一个星期,方法重载、数组也给你一个星期。
02、面向对象、this、构造方法,差不多一周时间也够了。
03、常用API、继承和多态、集合、异常、多线程、网络编程
常用API给你一天,继承和多态给你一天,集合给你一周,多线程(先入门)、网络编程给你一周,至此,JavaSE的内容完毕,总的时间差不多两个月。
2)企业级应用数据库
数据库技术作为信息系统的核心技术,在企业系统开发中至关重要。所以我们不仅要学会 MySQL 的基本使用,还要掌握索引、锁等数据库高阶知识。
MySQL、JDBC我觉得40天就够了,学完 Java SE 和 MySQL,基本上就能写点小应用了。
3)Java 框架
工欲善其事必先利其器,Java 发展到现在,出现了很多优秀的框架,它们大大地提高了程序开发的效率。
这一阶段SSM说实话是需要花时间和精力好好掌握的,一定要把这部分内容学好,不然后面学习 Spring Boot 会感觉很困难,花上两个月的时间去学习完全是够了的
互联网行业中,不论是阿里/网易,还是京东/小米,电商业务都是重要的一换。所以在学习框架的时候,最好能从一个电商项目着手。把商品/订单/后台/用户/购物车/支付这一套走下来,你就能胜任不少互联网的高薪职位了。
4)就业加分项
在学习的过程中,不仅要能够完成项目的基本开发工作,更重要的是能把那些硬通货吃下来,让面试官眼前一亮,你的 offer 就稳了。
都有哪些硬通货呢?
Java 并发编程:线程池/线程安全/线程通信
JVM:类加载机制/GC 机制/JDK 各种优化
Nginx:负载均衡
Redis:常用数据类型
———割一下————
自学 Java 真的不难,但也会很艰辛地敲代码。
程序员经常需要加班,所以要做好心理准备。一旦下定决心自学 Java 了,就一定要坚持下来,不要半途而废。
对于学习能力还不错的人来说,学习周期大概就半年时间。这期间,除了学习知识,重要是要主动敲代码,做一些练手项目,熟悉软件开发的流程。
总结一下:Java学习路线+正确的Java学习方法+好的学习资料(视频和书)+动手练习+持续学习的恒心=自学Java成功√
推荐阅读:
去携程实习了!半年时间,从机械转行 Java,二哥的读者真牛逼!
史上最强 Java 学习路线图(2021 年版)