首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Java学习路线图(免费视频及参考图书)

Java学习路线图(免费视频及参考图书)

作者头像
马拉松程序员
发布于 2022-04-26 17:56:28
发布于 2022-04-26 17:56:28
1.2K0
举报

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

Java学习路线图

上图是简化版本学习基本要点,但是在一个语言的应用过程中肯定会有演化,以应用框架来说,从最开始ssm就换了很多的含义,其实在B站上就很多免费的视频可以食用,好多人戏称B站大学也是如此。

第一部分java语言基础

  1. Java 基础语法
  2. Java 面向对象(封装、继承、多态)
  3. Java 常用类详解
  4. Java 异常机制
  5. Java 集合容器(List、Map、Set)
  6. Java I/O
  7. Java 多线程
  8. Java 网络编程
  9. Java 注解+反射
  10. AIO、BIO、NIO

Java的基本知识点,每一个点深度不一样,比如集合容器,最起步需要会用,再者知道为什么选用,最后需要看相关的源码,深入的理解应用了那些数据结构和算法。

第二部分 数据机构和算法

  1. 数据结构:字符串、数组、链表、二叉树、堆、栈、队列、哈希
  2. 算法:排序、查找、算法思想(贪心、分治)、动态规划、回溯

不仅仅是Java语言,其他语言同样适用。不需要达到算法工程师的地步,但是最基本的掌握三四种常用的排序算法、查找算法是最基本的要求。冒泡排序,快速查找等等

第三部分 数据库/SQL

  1. 数据库的基本概念
  2. 数据库和表的基本操作
  3. 索引与数据完整性约束
  4. 数据库中的各种复杂查询操作(SQL)
  5. MySQL 中常见函数的使用
  6. 存储过程、触发器、事件、锁、隔离级别
  7. 数据事务、用户、索引
  8. JDBC
  9. 常见数据库连接池的配置+使用(尤其是Java链接)

算法有专门工作叫算法工程师,数据库有专门的工作叫DBA(Database Administrato) 。应用开发不要求DBA的水平,但是日常的开发工作中的数据库操作还是有要求的。

尤其是SQL(Structured Query Language)全程为结构化查询语言,工作必备,面试必考。掌握最基本的查询操作和相对复杂一些的多表查询。

第四部分 设计模式

  1. 单例
  2. 工厂
  3. 代理
  4. 策略
  5. 模板方法
  6. 观察者
  7. 适配器
  8. 责任链
  9. 建造者

可以详细看《大话设计模式》一共23种设计模式,引进设计模式为了增强代码的健壮性和扩展性,节约系统资源等。

第五部分 Web基础

  1. HTML、CSS、JavaScript(前端三大件,了解)
  2. jQuery
  3. Servlet(基本用法,Session、Cookie 等)
  4. 过滤器/监听器等
  5. Ajax

大多数人做的是web开发,web基础有些内容是前端的,了解即可,特别是Servlet,最原始的Servlet是如何处理请求的,处理过程,数据走向。后来的很多框架都是基于Servlet来开发的,这其实是基础。

第六部分 应用框架

  1. Spring全家桶(Spring、SpringMVC、Spring Boot)
  2. Mybatis(ORM框架)
  3. Mybatis-Plus(Mybatis增强版)
  4. Druid(数据库连接池)
  5. Redis(缓存)
  6. RabbitMQ、Kafka(消息队列)
  7. Mavan(项目搭建)

Spring在Java开发者心里有着神圣的地位,像spring源码都是需要了解掌握的内容,尤其是它的核心思想IOC和AOP。当然应用框架还有很多,先学习一些基本的,后来用到啥现学。

第七部分 微服务(Spring Cloud)

  1. 服务发现/注册
  2. 网关
  3. 负载均衡
  4. 熔断/降级
  5. 配置中心
  6. 分布式事务
  7. 任务调度
  8. 链路追踪

微服务是最近几年应对大流量,保证高可用的解决方案,以前找工作会个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搞活动,建议一本一本的买,看完再买下一本,不然就容易吃灰。

总结一句话,视频难度低,图书难度高,入门可以先看视频,后面可以选择看书,最后重点是直接上手撸代码,没别的捷径。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-30,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档