结合大学四年经验,带你揭秘高效自学Java的方法和路线(从认识、方法、反馈3个角度出发)

Big sai 2021-04-16 14:53:32
经验 大学 结合 带你 四年


首发公众号:bigsai
收藏不是真支持,点赞、关注三连才是真支持!

前言

大家好,我是bigsai 好久不见,甚是想念,文章同时收录在回车课堂。本文就自学Java的n个问题和n个方法做出一些建议,并且推荐了一条自学Java的路线,比较适合一些新入门的小白。
在这里插入图片描述

无论你是大学生还是在职人员,想学Java时,都会面临两个选择,自学或者报班。报班通常太费钱,时间又不自由;自学又不知道如何下手,担心自己坚持不下来。怎么办呢?

本文将解答你自学Java的N种问题:

你适不适合自学Java呢?

如何自学Java呢?

有没有靠谱的Java自学资料推荐?

怎样让自己看到进步,坚持下来?

……

以上问题,课程中我都会呕心给你梳理答案,赶快开始学习吧。

什么人适合自学Java

在自学前你可能会因为自身的条件有很多困惑和疑虑,不清楚自己是否适合自学Java。下面我们来做个测验,来检测一下你是否适合自学Java。

第一道题:你对学习Java的信念有多强?

最低分0分,最高分5分,你给自己打几分?

对学习Java抱有坚定的信念是学习Java的必备条件,如果你给自己的打分小于等于2.5分,建议你直接放弃学习Java吧。如果你给自己的打分大于2.5分(越高越好),恭喜你,第一关的考验过了!

第二道题:你学Java的目的是兴趣提升 or 就业?

如果你学习Java只是兴趣提升,那么你无论是自学或者报班怎么学都是适合的,因为你不差时间。那么后面的考验题你也可以直接跳过,看后面的干货。

但如果你是为了就业而学习Java,那对学习Java效果和时间都有一定要求,还要满足社会岗位要求。建议你好好考虑报班还是自学。

如果你大于30岁的话,我已经不推荐你学习Java了,一方面30岁后学习能力和精力堪忧,另一方面30岁的Java初级小白几乎找不到工作。

但如果你小于30岁的话,那你的客观条件还是可以学习Java的。剩下的就要考验你的自控力和毅力了。

第三道题:最低分0分,最高分5分,你给自己的自控力和毅力打几分?

如果你的打分小于3分,我建议你报班学习Java,自学不适合你。(如果你不能确定自己的自控力水平,你也可以去网上找一些自控力测试的问卷。)

但如果你自控力较强、个人时间较多、热爱独立思考钻研的话,那么恭喜你,我认为你是非常适合自学的。如果你也选择自学,那么本课程的内容你可以好好学习借鉴,相信你一定可以找到一条适合自己的道路!

最后你也许会问,性别、英语水平、数学水平、是否为科班等是否影响自学Java,如果你上面的测试都通过了,这些其实都是一些非关键性的影响因素。

我们用一张图总结一下以上的所有问题:

选择图

虽然性别、英语水平、数学水平、是否为计算机专业都等不是关键因素,但当你是女孩子,英语、数学水平较差,非计算机专业相对于男孩子,英语、数学水平较好的计算机专业还是会有一些影响,为了达到同样的结果可能需要付出更多的努力。

我们这里拿计算机专业和非计算机专业比较一下。

计算机专业和非计算机专业自学Java的区别?

虽然说计算机主要靠自学,但是计算机专业的学生相比非计算机还是有很大优势的,大部分计算机专业是有开设Java这门课程的,可以让这些学生在学习Java的道路上快速度过"冷启动";还有一些重要的基础课,例如数据结构、操作系统、数据库、计算机网络等课程能够帮助学生更深入地了解计算机,学习起Java语言也能有更深层次地理解。

而非计算机专业在自学Java时,会因为有原专业课程、作业的限制,学习时间相比计算机专业学生少了不少,但这些问题是可以被克服解决的,可以多花一些课余时间、周末时间,学习练习Java,也可蹭一蹭计算机专业开设的Java课程,多与计算机相关专业同学交流碰撞。自学Java的心态也很重要,不要因为被本专业课程拖累而埋怨,要乐观地去面对学习上的困难,有长远的眼光,阳光总在风雨后!

总的来说,计算机专业自学Java资源、时间更多,更需注重自学的方法和内容;而非计算机条件较难,除注重方法和内容之外,重要的是要坚持在百忙之中挤出很多时间留给Java,这对毅力是非常大的考验。

当你适合自学的时候,那么你就要寻求好的方法提高自学Java的效率,如何做呢?看看下面内容吧~

高效自学Java三大关键点

这里我总结了三大点,分别从认识、方法、反馈角度来写,其中一定有适合你的方案!

1 了解Java知识体系

自学Java前,要对Java和Java体系知识有一定认识,心中有个大概的轮廓去学习,方能更踏实。通过几个问题了解Java。

什么是Java?

Java是一种可以撰写跨平台应用程序的、面向对象的程序设计语言。简单说,Java就是一种语言,不过是一种跑在JVM上的语言,Java编译后是字节码,而JVM会把这些字节码解释成机器码,然后做出相应的动作。

Java能干什么?

Java当前用的较多的就是做后端开发、大数据开发、安卓开发,这是当前Java技术栈较为热门的三种岗位,其中以Java后端的市场需求最大。Java也可以做桌面应用开发、游戏开发,但需求相对较少。

国内大厂,像阿里巴巴、美团、京东、拼多多等,使用的主要语言都是Java,大部分中小企业为了成熟稳定也选择Java作为后端开发语言。此外,很多著名的中间件是由Java编写的,例如:Elasticsearch、RocketMQ、Hadoop等。

Java有哪些知识?

一、Java基础

Java入门部分:

  • JDK、IDEA安装,第一个HelloWorld
  • 基础内容:输入输出、命名规范、注释
  • 数据类型:基础数据类型(及其包装类)、引用类型
  • 修饰符:访问修饰符、非访问修饰符
  • 运算符:赋值、算数、自增自减、比较、逻辑、位、三元运算符及其优先级
  • 控制流程:条件判断、循环语句
  • 数组、字符型
  • 类与对象
  • 面向对象三大特征:继承、封装、多态
  • 日期、正则、大数运算(简单了解)

Java进阶部分:

  • IO常见文件操作
  • 集合框架:ArrayList、LinkedList、HashMap、HashSet、ArrayDeque等
  • 异常处理
  • 泛型
  • JDBC
  • 网络编程
  • Java8新特性(Lambda)
  • 反射、注解(有点难)
二、Java高级
  • 多线程、高并发
  • 23种设计模式
  • 树、红黑树、B树、散列、堆、图等
  • 算法:十大排序、二分查找、分治、贪心算法、位运算、回溯、动态规划、搜索算法(bfs、dfs)、最短路径(Dijkstra、Floyd)、最小生成树(Prim、Kruskal)、并查集、KMP等算法
三、JavaWeb:
  • HTML、JavaScript、CSS
  • XML、JSON
  • Tomcat
  • Servlet/JSP(以Servlet为主)
  • JQuery、Ajax
  • MVC
  • Cookie、Session
  • 过滤器、监听器
  • 文件上传下载(Servlet3.0)
  • Linux
四、常见框架:
  • ORM框架:Mybatis

  • Spring全家桶:Spring、SpringMVC、SpringBoot

  • 安全框架:Shiro、Spring Security(可选一种先学)

  • 其他框架:Swagger(在线接口)、Log4j2(日志)、Quartz(定时)等

  • 微服务:SpringCloud、Dubbo等

五、常见中间件和工具:
  • 版本控制:Git、SVN
  • 包管理:Maven、Gradle
  • 关系型数据库:MySQL、Oracle等
  • 非关系型数据库:Redis(缓存)、Memcached(缓存)、MongoDB(文档型)等
  • 搜索引擎:Elasticsearch、Solr等
  • 消息队列:RocketMQ、ActiveMQ、RabbitMQ、Kafka等
  • Web服务器:Apache、 Nginx
  • 容器:Docker、K8S
  • 大数据:Hadoop、Spark、Strom、Flink等

当然,上面只是罗列了大部分知识点,还有很多知识比如日志分析监控(ELK)、持续集成、分库分表等也都是热门技术,Java后端技术体系庞大。这些内容可以根据你的工作或者兴趣,选择性深入学习。

2 自学Java的三大途径—书籍、视频、博客

自学Java一般有书籍、视频、博客等学习资料,这里主要讲解三者在自学Java中的异同点。

image-20210331001025515
看书自学Java

看书是最为传统的学习方式,我们从小到大大部分的自学知识是通过看书来获得的,所以可能很多人都喜欢和适应这种方式。书籍具有严谨、体系完整等特点,并且纸质的内容来回翻阅在回顾的时候也更便捷。

但看书也有一些缺点:可能分不清主次,在学习Java的时候其实是有侧重点的,而书上可能在这方面并不会有太多的介绍和标注,并且一些冷门淘汰知识可以不用学习(例如Java Swing部分);有些内容即使作者写得很棒了,但可能会因为案例、解释较少不能完全理解(尤其是小白)。

看视频自学Java

比起书籍,更多人愿意看视频自学Java,因为看书时大部分人会觉得比较枯燥。但是视频就不一样了,视频中老师们通常会边敲边讲解,更易于知识点的理解,并且人是感性动物,看视频就如同与老师交流,好的老师会让学习效率直接翻倍。

看视频当然也会有些缺点,视频时间较长较多,很难快速回顾学过的知识或者快速浏览章节内容,所以有可能会浪费一点学习的时间。

看博客自学Java

博客是程序员必不可少的学习资源,近些年高质量博客、文章也越来越多。这种博客文章阅读比较方便,内容选择也比较丰富,好的博客图文并茂生动形象非常有助于理解记忆,并且博客在代码拷贝学习方面更占优势。

看博客也有一些缺点:比如博客比较碎片化,体系不太完整。还有博客质量参差不齐差距较大,甚至有的博客还出现较大的错误,所以挑选好的博客是一大挑战。

总的来说,系统自学Java主力军还是 看视频和看书 ,可以以看视频为主,看书为辅,遇到疑难点不理解的可以通过搜索相关博客多看文章进行学习吸收。

为了方便你的学习,我贴心为你搜集了一波优秀的视频、书籍、播客,以及刷题网站和社区的列表清单,你可以慢慢“享用”。

图文类的教程网站:

菜鸟教程:https://www.runoob.com/java/java-tutorial.html 教程免费,适合基础入门

W3Cschool:https://www.w3cschool.cn/ 教程免费,适合基础入门

易百教程:https://www.yiibai.com/ 教程免费,适合基础入门

How2j: https://how2j.cn/ Java基础到高级,还有各种框架、中间件教程

回车课堂:https://ke.boxuegu.com/ 以关卡形式教学,从基础到高级,文章内容质量比较高

书栈网:https://www.bookstack.cn/ 免费的在线电子书、笔记、文档网站

还有其他免费图文教程、个人站点的例如importNew ,我要自学网等也可看看。

视频网课网站

动力节点:http://www.bjpowernode.com/javavideo.html 有很多免费不错的课程

慕课网: https://www.imooc.com/ 有免费有付费

B站:https://www.bilibili.com/ 有"B站大学"美称

对于视频类教程网站,首推B站,很多培训机构会将部分高质量视频放到B站吸引用户,这些免费资源可以利用好,并且B站是个开放的平台,有很多up主会自己录一些视频讲解也是相当不错的。还有一些培训机构例如传智播客、尚硅谷、达内等可以到官网获取一些免费知识,还有一些课程网站例如腾讯课堂、潭州教育、拉勾、极客时间、蓝桥云课、开课吧等很多课程在刚开始推广期特别便宜可以入手一波学习。

当然,获取视频教程还有一个途径就是向别人要,很多公众号号主将资源分享在公众号后台可以免费获得,还有一些资源可以通过淘宝和咸鱼低价获取网盘资源,还是很值得。

刷题网站

力扣:https://leetcode-cn.com/problemset/all/

牛客:https://www.nowcoder.com/

适用ACM选手的一些刷题网站:杭电ojCodeforceVjudgeAtcoder

Java开发也要刷题吗?那是肯定的,找工作无论大厂小厂(尤其大厂)避免不了笔试题,力扣和牛客上都有剑指offer,建议刷2-3遍,力扣hot100一定要刷一下,如果冲击大厂那一定要刷200道以上才行。

其他学习网站

csdn:https://blog.csdn.net/ 最大中文博客网站,结合搜索使用

博客园:https://www.cnblogs.com/ 老牌社区,依然有很多用户

知乎: https://www.zhihu.com/ 有很多高质量问答、文章、专栏

掘金:https://juejin.cn/ 社区较新,前端用户较多,内容质量相对较高

思否:https://segmentfault.com/ 文章内容质量不错,问答质量较高

github:https://github.com/ 全球最大开源社区,有非常多的开源项目

Stack Overflow: https://stackoverflow.com/ 全球最大技术咨询交流平台

V2EX :https://www.v2ex.com/ 高质量交流社区

至于51CTO、Infoq、开源中国等社区内容质量也很高,但用户相对较少。这些学习网站和资源不向前两项介绍的知识成体系化,这些平台相对都是流动交互性很大,所以你需要找到适合自己的资源,要利用好搜索的功能,此外各平台你也可以关注觉得不错的博主阅读他的专栏文章,收益也是很大的。

推荐书籍

自学Java我推荐的书籍为《Java从入门到精通》,有案例、代码跟着学很容易懂。

当然被业界称为为四大名著书籍质量也不错:

《JAVA语言程序设计》----初级

《JAVA核心技术》卷I----初级、《JAVA核心技术》卷II----中级

《JAVA编程思想》----初级~中级

《Effective Java》----中级

在跟着书籍学习的时候,有困难的内容也可以先放一放,还有Java Swing等窗口应用部分也可跳过。这些书不需要全买,有一本工具书就足够了。

3 回顾与交流,牢牢锁住知识点

学习很容易遗忘,因此要时常回顾。不推荐视频作为长期回顾的方法,更推荐博客、纸质书回顾,因为它们可以快速定位,很多内容看一遍就想起来了。

除了回顾以外,交流可能是另一种锁住知识的好方法了,通过交流倾听别人的意见,能深入思考,加深对知识的理解。交流的方式和途径有很多

和身边人交流:最方便和高效的交流方式就是和身边同学、舍友、一起学习的人进行交流,一起学习进步共享学习的心得;

社群论坛交流:最大众化的就是添加一些QQ、微信的技术交流群或者在一些问答论坛交流,群中或者论坛中会有不少大神或者志同道合的人能够帮到你。作为技术人加几个技术社群、多逛技术论坛还是很有必要的。

当然还有一种方式并不一定适合所有人,就是和"自己"交流,将自己的学习内容重难点以笔记、文章形式输出出来,虽然这会耗费大量精力和时间,但这不断思考、优化、写的过程会使你对知识印象更深刻。

史上最实用的Java学习路径

上面已经介绍了高效自学Java的关键点,下面来推荐实用的Java自学路径。

这个路径是我为你呕血整理而成,它结合我个人的自学经历与大牛的学习建议,避免了学习的坑。路径分为四部分:

  1. Java基础学习阶段
  2. JavaWeb学习阶段
  3. 框架学习阶段
  4. 自我提升阶段

学到第三阶段,就达到初级程序员的水平,可以找工作了。第四阶段——自我提升阶段——里的知识是Java高级和框架两部分里的需要深入学习的知识,你可以一边工作一边提升,其他内容是。

这里我推荐的自学路径,以视频为主。因为Java路径中的各个阶段相对独立,不必追求一家视频,但同一阶段建议看一家视频。

Java基础学习阶段

该阶段对应Java知识体系中的Java基础,方法为学习+刷题,每天学习8小时,推荐总时间控制在60天左右,推荐以视频为主,工具书为辅。

本阶段的学习推荐视频为回车课堂的《Java入门教程》(总时长约30小时)。看视频的时候1.5倍数看(看不懂可以倒回来多看几遍,最好不要原倍速看),遇到案例就暂停,自己动手跟着敲一下(划重点,跟着敲非常重要,看懂不等于真懂)。

看完视频,再看书上内容,推荐《Java从入门到精通》或《Java核心卷 Ⅰ》。如果对应的内容很容易懂那就说明学习的效果不错,如果不懂的话就多看书研究一下或者再找一些博客文章学习一下。书上的案例也要跟着敲写。

学完后,你还要检验自己学的怎么样,可以通过刷一些简单题来巩固。我建议到 杭电第11页或者C语言网去刷一些简单题检验自己,成功完成一道道题会让自己获得成就感,有继续学习的动力。
image-20210314200644136

在这个阶段,你可能学习了大量集合框架的使用,但是不了解为什么,比如很难理解为什么ArrayList查询快,LinkedList插入更快,这是因为你没有数据结构与算法的储备,所以在这一阶段的最后,你要补一补数据结构与算法的内容(第一遍学习以看和理解为主,不需要自己实现),这里我推荐王道考研数据结构视频和B站青岛大学王卓老师的数据结构与算法专栏,虽然这两个都是以C语言角度讲的,但是不妨碍你理解,如果有兴趣要动手实现各种数据结构与算法,可以到博客上查找实现方式。

在这个期间当然也要刷题了,但不推荐在杭电和C语言网刷题了,此时建议刷“剑指offer”上的题,剑指offer共计67题都是高频笔试面试题,并且有很多都和数据结构有关系。也许刚开始刷的时候会比较吃力,力扣 和牛客官网对应题目讨论区有很多优质讲解可以学习。

JavaWeb学习阶段

JavaWeb部分,每天学习8小时,建议控制时间在30天左右,推荐学习方式以视频为主,教程网站为辅。这部分内容虽然相对简单,但涉及到很多新的技术和概念需要时间吸收理解(例如HTML,JavaScript,CSS,JQuery,MVC,Ajax等)。学习JavaWeb推荐B站狂神JavaWeb入门到实战视频,大概25小时左右,同样也要倍速看。在学习JavaWeb的时候,会涉及一些其他领域的东西比如Html,JavaScript,CSS,MySQL等你不需要学的很深,先会一些基本的就可以。另外看视频的时候JSP部分可简略看,尤其是标签、EL表达式那块应用已经很少很少了,快速浏览即可。

JavaWeb部分,如果遇到一些错误很难解决跳过,可到Github找一些可运行的项目进行跑。有些东西不一定非要死扣,资源教程很多能跑出来对于初期才是最关键的。

学习JavaWeb除了跟视频外,也可以跟着教程网站或者博客专栏进行学习(例如菜鸟教程的Servlet),因为跟着教程网站在代码学习上效率较高,当然在学习别人代码的时候要有自己的创新。

学习JavaWeb 中Servlet/Jsp这部分内容的时候,除了要跟着教程的案例一个一个敲代码,最后一定要动手敲一个小网站,网站内容囊括 Servlet、jsp、Session、Cookie、JDBC、Ajax等相关技术,包含具体登录注册功能、文件上传下载功能、页面访问计数等功能,可以从网络上获取一些前端页面模板或者UI框架(推荐Layui或者EasyUI)进行修改。

框架学习阶段

框架学习+项目实战,每天学习8小时,建议控制时间在60天,推荐学习方式是视频+文档资料学习。

JavaWeb中Servlet/Jsp很少在企业直接使用,学习企业级开发框架才是重中之重,框架类如果单纯为了学习应用的话不要买书,因为主流框架技术更新迭代较快,大部分书籍跟不上技术的发展;如果为了深入理解框架设计、原理可以买对应框架的源码分析类书籍(要注意框架版本)。在寻找视频或者博客教程的时候要留意文章或者视频的发布日期,如果太早的话不建议观看。

在框架中,重中之重的是Spring、SpringMVC、Mybatis、SSM、SpringBoot等。学习顺序的话建议从Mybatis到Spring到SpringMVC,三个框架单独学完之后再进行整合SSM框架,利用SSM写一些小案例。之后学习SpringBoot,再利用SpringBoot完成实战项目巩固学习。

推荐狂神系列视频:

  • 狂神Mybatis教程:(https://www.bilibili.com/video/BV1NE411Q7Nx) 视频长11小时左右
  • 狂神Spring教程:(https://www.bilibili.com/video/BV1WE411d7Dv) 视频长8小时左右
  • 狂神SpringMVC教程:(https://www.bilibili.com/video/BV1aE41167Tu) 视频长10小时左右
  • 狂神SSM整合教程:(https://www.bilibili.com/video/BV1RE41127rv) 视频长3小时左右
  • 狂神SpringBoot教程:(https://www.bilibili.com/video/BV1PE411i7CV) 视频长19小时左右
  • 狂神SpringBoot开发网站 (https://www.bilibili.com/video/BV19E411v7Ty) 视频长5小时左右

从学习框架开始,你就要学会阅读官方文档啦,因为一个开源框架之所以流行成功,和它的文档资料等都是密不可分的,官方文档是第一手高质量资料。可能有部分官方文档没有中文版本,因此需要你有一定英语水平或者使用翻译。这里提供一些优质的专栏、博客分享给大家:

除了以上框架,还要学习Java后端必学的安全框架(Shiro或者Spring Security,可以学习其一);Redis缓存消息队列(选一种消息队列学习),后面有时间再学习其他中间件。

框架学习完,一定要多动手才能熟练掌握,如果你是学生可以根据课堂的任务或者学校的本创、大创写项目来提高熟练度并且不断拓展学习,如果你是非学生、非计算机专业没有项目条件,那你可以跟着项目实战教学视频去写项目巩固学习内容。

自我提升阶段

前面的内容学起来相对简单,是自学的核心内容,但是度过初期要学什么也要有个大概的了解,这里简单介绍一下并推荐部分书籍。

  • Java并发编程:《Java并发编程实战》
  • JVM:《深入理解JVM虚拟机》
  • MySQL:《MySQL技术内幕》
  • 23种设计模式:《大话设计模式》
  • 数据结构与算法:《数据结构与算法分析Java语言描述》(机械出版社黑皮书),坚持刷力扣
  • 操作系统、计算机网络
  • JDK源码、框架源码
  • Redis、MQ等主流中间件
  • 大数据、分布式、微服务、容器等部分

这部分的学习可能比起前面会枯燥一些,但想要变强突破初级的瓶颈就得沉得住气,静下心来学习。

Java自学常见疑难解答

在自学Java前或者自学中你会不会有这样的疑惑:

自学Java,学多久可以找到工作?

进大厂和进中小公司自学Java的侧重点有区别吗?

为什么学了那么久还只会“Hello World” ?

编程能力从什么时候开始突飞猛进?

以上选项无关对错,让我慢慢给你唠~

1 自学Java,学多久可以找到工作?

如果是小白的话,每天保证8小时以上的学习时间,达到Java初级程序员的水平最快也要6个月。前5个月正常学习Java技术,最后一个月准备简历以及面试。Java面试非常重要,要找一些面经将面试常考的问题搞明白。可以到牛客上看看别人的面试经验也可到Github上找一下面经(这里推荐JavaGuide(https://github.com/Snailclimb/JavaGuide))。

2 进大厂和进中小公司自学Java的侧重点有区别吗?

大厂更重基础,需要你对学习的Java内容有透彻地理解,以及学习和理解数据结构与算法、操作系统、计算机网络、设计模式。而小厂更重项目和框架的使用。因此不同的定位,决定了在学习和面试准备的时候要有不同的侧重点。

还要提一点,大厂都注重编程能力,会笔试算法题,对应届生的要求更高,所以如果有条件的话一定要把剑指offer刷2-3遍,力扣最好能刷100题以上(学生的话刷200题以上)。

3 为什么学了那么久还只会“Hello World” ?

学那么久只会"Hello World"就是因为只看不练或者练少了。很多人在学习时眼高手低,不去敲代码或者只是copy一下执行,到后面碰到有难度的代码,就发现自己啥都不会。

解决这个问题一方面是学习途中遇到的案例都要动手敲;另一方面就是要刷题巩固,因为跟着案例,逻辑上还是有所依赖,但刷题时必须要自己充分思考才能通过。

所以自学Java,要一步一个脚印,每部分的案例都要动手去实现,并在实现的基础上去巩固和创新。

4 编程能力从什么时候开始突飞猛进?

编程能力的进步靠练习,一般突飞猛进会有两个阶段。

第一个突飞猛进就是学完Java基础部分。刷了100题左右,这时候遇到简单逻辑题都可以轻松解决,自己的逻辑能力、编程能力都有不错的提升,你会觉得自学Java这么久,努力没白费。

第二个突飞猛进的体会就是独立完成一两个项目的后端模块时。从搭建项目、到MVC分层编写业务逻辑代码会让学到的知识真正应用起来,自己会有点窃喜:哇,我自己也能写项目啦!这时候就是编程能力的第二次突飞猛进。

当然,后面可能也会因为一些其他原因让自己再次突飞猛进,但总的来说,想要突飞猛进,就要在短期内高强度学习、高强度敲代码。

文章总结

通过上面自学Java的介绍,我想你对Java的学习方法和路线已经有所认识和掌握,通过一张表来复习一下。

学习路径 主要工作学习资源 建议学习方式 建议学习时间
Java基础学习阶段 1. 回车课堂的Java入门教程(链接) 2.王道考研数据结构视频和B站青岛大学王卓老师的数据结构与算法专栏 视频为主,工具书为辅+刷题 60天左右
JavaWeb学习阶段 B站[狂神JavaWeb入门到实战视频] 视频为主,教程网站为辅 30天左右
框架学习阶段 狂神系列视频+官网文档+项目视频 视频+文档资料学习 60天左右
自我提升阶段 并发编程+JVM+MySQL+设计模式等书籍 书籍 ——

如果你觉得自己适合自学Java,必须要鼓足干劲一鼓作气!自学前先了解Java知识体系,掌握一些学习资源和方法,学习过程一定要多敲代码、多回顾交流。

IT界经常流传这么一句话:“talk is easy,show me the code”。自学Java,就是学会写代码,多多练习是非常非常重要的。之后的锦上添花是懂原理,但深入理解原理是一个任重而道远的过程。

加油吧后浪!

感谢你的阅读,咱们下次再见!另外,除了上面的资源,我也囤了一些pdf书籍资源和面试资料,如果需要的话,可以在我的公众号:bigsai 关注后回复【bigsai】即可获取。

版权声明
本文为[Big sai]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_40693171/article/details/115720516

  1. 【计算机网络 12(1),尚学堂马士兵Java视频教程
  2. 【程序猿历程,史上最全的Java面试题集锦在这里
  3. 【程序猿历程(1),Javaweb视频教程百度云
  4. Notes on MySQL 45 lectures (1-7)
  5. [computer network 12 (1), Shang Xuetang Ma soldier java video tutorial
  6. The most complete collection of Java interview questions in history is here
  7. [process of program ape (1), JavaWeb video tutorial, baidu cloud
  8. Notes on MySQL 45 lectures (1-7)
  9. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  10. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  11. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  12. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  13. 【递归,Java传智播客笔记
  14. [recursion, Java intelligence podcast notes
  15. [adhere to painting for 386 days] the beginning of spring of 24 solar terms
  16. K8S系列第八篇(Service、EndPoints以及高可用kubeadm部署)
  17. K8s Series Part 8 (service, endpoints and high availability kubeadm deployment)
  18. 【重识 HTML (3),350道Java面试真题分享
  19. 【重识 HTML (2),Java并发编程必会的多线程你竟然还不会
  20. 【重识 HTML (1),二本Java小菜鸟4面字节跳动被秒成渣渣
  21. [re recognize HTML (3) and share 350 real Java interview questions
  22. [re recognize HTML (2). Multithreading is a must for Java Concurrent Programming. How dare you not
  23. [re recognize HTML (1), two Java rookies' 4-sided bytes beat and become slag in seconds
  24. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  25. RPC 1: how to develop RPC framework from scratch
  26. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  27. RPC 1: how to develop RPC framework from scratch
  28. 一次性捋清楚吧,对乱糟糟的,Spring事务扩展机制
  29. 一文彻底弄懂如何选择抽象类还是接口,连续四年百度Java岗必问面试题
  30. Redis常用命令
  31. 一双拖鞋引发的血案,狂神说Java系列笔记
  32. 一、mysql基础安装
  33. 一位程序员的独白:尽管我一生坎坷,Java框架面试基础
  34. Clear it all at once. For the messy, spring transaction extension mechanism
  35. A thorough understanding of how to choose abstract classes or interfaces, baidu Java post must ask interview questions for four consecutive years
  36. Redis common commands
  37. A pair of slippers triggered the murder, crazy God said java series notes
  38. 1、 MySQL basic installation
  39. Monologue of a programmer: despite my ups and downs in my life, Java framework is the foundation of interview
  40. 【大厂面试】三面三问Spring循环依赖,请一定要把这篇看完(建议收藏)
  41. 一线互联网企业中,springboot入门项目
  42. 一篇文带你入门SSM框架Spring开发,帮你快速拿Offer
  43. 【面试资料】Java全集、微服务、大数据、数据结构与算法、机器学习知识最全总结,283页pdf
  44. 【leetcode刷题】24.数组中重复的数字——Java版
  45. 【leetcode刷题】23.对称二叉树——Java版
  46. 【leetcode刷题】22.二叉树的中序遍历——Java版
  47. 【leetcode刷题】21.三数之和——Java版
  48. 【leetcode刷题】20.最长回文子串——Java版
  49. 【leetcode刷题】19.回文链表——Java版
  50. 【leetcode刷题】18.反转链表——Java版
  51. 【leetcode刷题】17.相交链表——Java&python版
  52. 【leetcode刷题】16.环形链表——Java版
  53. 【leetcode刷题】15.汉明距离——Java版
  54. 【leetcode刷题】14.找到所有数组中消失的数字——Java版
  55. 【leetcode刷题】13.比特位计数——Java版
  56. oracle控制用户权限命令
  57. 三年Java开发,继阿里,鲁班二期Java架构师
  58. Oracle必须要启动的服务
  59. 万字长文!深入剖析HashMap,Java基础笔试题大全带答案
  60. 一问Kafka就心慌?我却凭着这份,图灵学院vip课程百度云