近来有很多小伙伴在问有木有学习资料或者学习的步骤,包括还有是否报培训班,我个人是不主动推荐,先自己学习,如果有压力,在考虑是否请个老师。所以下面,我整理了全网能搜集到的资料供大家参考,视频可能白嫖,图书可以淘宝京东拼多多自购。
Java学习路线图

上图是简化版本学习基本要点,但是在一个语言的应用过程中肯定会有演化,以应用框架来说,从最开始ssm就换了很多的含义,其实在B站上就很多免费的视频可以食用,好多人戏称B站大学也是如此。
第一部分java语言基础
Java的基本知识点,每一个点深度不一样,比如集合容器,最起步需要会用,再者知道为什么选用,最后需要看相关的源码,深入的理解应用了那些数据结构和算法。
第二部分 数据机构和算法
不仅仅是Java语言,其他语言同样适用。不需要达到算法工程师的地步,但是最基本的掌握三四种常用的排序算法、查找算法是最基本的要求。冒泡排序,快速查找等等
第三部分 数据库/SQL
算法有专门工作叫算法工程师,数据库有专门的工作叫DBA(Database Administrato) 。应用开发不要求DBA的水平,但是日常的开发工作中的数据库操作还是有要求的。
尤其是SQL(Structured Query Language)全程为结构化查询语言,工作必备,面试必考。掌握最基本的查询操作和相对复杂一些的多表查询。
第四部分 设计模式
可以详细看《大话设计模式》一共23种设计模式,引进设计模式为了增强代码的健壮性和扩展性,节约系统资源等。
第五部分 Web基础
大多数人做的是web开发,web基础有些内容是前端的,了解即可,特别是Servlet,最原始的Servlet是如何处理请求的,处理过程,数据走向。后来的很多框架都是基于Servlet来开发的,这其实是基础。
第六部分 应用框架
Spring在Java开发者心里有着神圣的地位,像spring源码都是需要了解掌握的内容,尤其是它的核心思想IOC和AOP。当然应用框架还有很多,先学习一些基本的,后来用到啥现学。
第七部分 微服务(Spring Cloud)
微服务是最近几年应对大流量,保证高可用的解决方案,以前找工作会个SSM就行了,现在必备的是微服务,其实它没有那么的高大上,只不过是把之前的一个对立的项目拆分成几个,根据约定的方式通信,来组成高可用的服务,而不会因为一个服务宕机影响其他。
学习视频
如果啥基础都没有可以直接看下面的全集
https://www.bilibili.com/video/BV1K54y1972N
其他:
[0]Java基础:
https://www.bilibili.com/video/BV1CJ411m7gg
[1]Spring:
https://www.bilibili.com/video/BV13E411W7Tg [2]Mybatis:
https://www.bilibili.com/video/BV1LE411x7Np [3]Maven:
https://www.bilibili.com/video/BV1Pt411y7Rh
[5]SpringBoot:
https://www.bilibili.com/video/BV1zE41197bw?p=562
慕课网:(有C语言基础的可以看慕课)
Java入门1:
https://www.imooc.com/learn/85
Java入门2:
https://www.imooc.com/learn/124
Java入门3:
https://www.imooc.com/learn/110
参考图书
1.深入理解Java虚拟机:JVM高级特性与最佳实践

2.java并发编程实战

3.Java 核心技术卷1 (光看1就够了,2现在用的不多)

4.Java核心思想

5.大话设计模式

6.Effective Java

以上几本书看起来有难度,但是话说回来,我们不能仅仅停留在入门的阶段,还是推荐都看下,但是正版的书都比较贵,如果想买的话可以赶上618或者双11搞活动,建议一本一本的买,看完再买下一本,不然就容易吃灰。
总结一句话,视频难度低,图书难度高,入门可以先看视频,后面可以选择看书,最后重点是直接上手撸代码,没别的捷径。