Java 学习路线大全,再也不用迷路啦(持续更新)

路线特点

  1. 最新,完整一条龙,从入门到入土(⭐ 表示推荐学习)
  2. 给出目标、学习建议、关键知识点、最优资源以及各类资源推荐(视频、书籍、文档、项目、工具等)
  3. 划分阶段、更有计划,且在最后给出持续学习的方向、探索 Java 程序员发展的无限可能

前言

首先呢,我们要了解 Java 的应用场景和就业方向,看看和自己的学习目的是否一致,目前,Java
的岗位需求多,是后台开发的主流编程语言,功能强大,还是很值得学习的。

阶段 1:Java 入门

目标

培养兴趣、快速上手

前期准备

  1. 准备好一款在线、随时随地写代码的工具,不用在本地去安装和配置,是初学者的好帮手

    • 推荐网站 - 菜鸟工具:https://c.runoob.com/compile/10
  2. 准备一款记笔记的软件,学编程的过程中老师的思路、自己遇到的问题、解决问题的方法、心得感悟、遇到的好资料,都要记下来哦,好记性不如烂笔头,可以帮助你事半功倍。

    • 推荐软件 Typora:https://www.typora.io/
    • 推荐使用 Markdown 语法编写,
  3. 想学好编程,别背代码,要多写,把这句话刻到脑子里。

  4. 选视频和找资料的小技巧:多看评论区、多看隔壁评论区,不要看过期的视频。

Java 编程基础(45 天)

知识
  • Java 特点(看不懂没事,别背!)

  • 环境搭建

  • Java 基础语法

    • 数据类型
    • 流程控制
  • 数组

  • 面向对象

    • 方法
    • 重载
    • 封装
    • 继承
    • 多态
  • 抽象类

  • 接口

  • 枚举

  • 常用类

    • String
    • 日期时间
  • 集合类

  • 泛型

  • 注解

  • 异常处理

  • 多线程

  • IO 流

  • 反射

学习建议

一定要持续学习,不能断!跟着书上的例子敲代码后,自主编写代码,并完成课后练习。

资源
  • 视频

    • ⭐ 韩顺平 - 零基础 30 天学会 Java:https://www.bilibili.com/video/BV1fh411y7R8(900 多集,顺序安排很合理,每个知识真正的打碎了,通俗、有示例、有实战、有思想)
  • 文档

    • ⭐ 菜鸟教程:https://www.runoob.com/java/java-tutorial.html(可以在线练习)
    • 廖雪峰 Java 教程:https://www.liaoxuefeng.com/wiki/1252599548343744
  • 书籍

    • 《Head First Java》
  • 在线游戏

    • Codegym:https://codegym.cc/zh(玩玩前几关培养兴趣不错,但后面收费了)

Java 8(3 天)

知识
  • Stream API
  • Lambda 表达式
  • 新日期时间 API
  • 接口默认方法
资源
  • 视频

    • ⭐ 宋红康 - 全网最全Java零基础入门教程:https://www.bilibili.com/video/BV1Kb411W75N(只看 Java 8 部分即可)
  • 文档

    • ⭐ 菜鸟教程:https://www.runoob.com/java/java8-new-features.html
  • 书籍

    • 《Java 8 实战》
  • 工具

    • ⭐ 在线编写运行 Java 8:https://www.tutorialspoint.com/compile_java8_online.php
  • 项目

    • Java 8 小代码片段:https://github.com/biezhi/30-seconds-of-java8

尾声

学完了 Java 基础后,有些同学会感到迷茫了啊,感觉好像啥也做不出来,不知道下一步做什么,我这一身的本领该如何施展啊?

不要慌,也不要急着去学新技术,接下来我们要多用 Java 来写代码了,巩固基础,但是写什么呢?

当然是数据结构和算法!

阶段 2:巩固基础

目标

想学好编程,计算机基础知识要学好。

比如算法,是程序员的灵魂。学好算法有助于我们理解程序、开拓思路,因此也是很多公司面试时考察的关键,在找工作前,还是要刷个上百道算法题目的。

我们这个阶段的目标是:熟练使用 Java 语言来编写程序,巩固 Java 的基础。

那直接用 Java 来写算法题目,一举两得,岂不美哉?

Java 基础(30 天)

学习建议

建议大家去阅读 《Java 核心技术卷 1》,这本书堪称经典,是帮助你复习巩固 Java 的不二之选,其中图形界面章节可以选择不看。

之后可以刷牛客的 Java 练习题,检验自己的水平,我当时刷了两遍。

资源
  • 书籍

    • ⭐《Java 核心技术卷 1》
  • 练习

    • ⭐ 牛客题库:https://www.nowcoder.com/intelligentTest

数据结构与算法

知识
  • 时间 / 空间复杂度分析

  • 数据结构

    • 数组
    • 字符串
    • 队列
    • 链表
    • 集合
    • 哈希表
    • 二叉树
  • 算法

    • 排序
    • 双指针
    • 查找
    • 分治
    • 动态规划
    • 递归
    • 回溯
    • 贪心
    • 位运算
    • DFS
    • BFS
学习建议

学算法一定要多思考、多练习!!!

在复习 Java、巩固基础的过程中,每天可以坚持用 Java 做 2 - 3 道算法题目。

不用担心看不懂,直接进入 LeetCode 学习板块 LeetBook,提供了免费的教程,文字、图解、动画讲算法、在线练习应有尽有,从 0 开始,跟着学习基础知识、跟着教程刷一些同类题目,培养算法思路。

之后再由简单到复杂、由通过率高到低,自主刷题,多看题解,举一反三。

有条件的朋友也可以试着参与竞赛,没什么门槛,可以帮助你集中精神,而且周赛的题目还是挺友好的~

资源
  • 在线教程

    • ⭐ LeetCode LeetBook:https://leetcode-cn.com/leetbook/
  • 在线刷题

    • ⭐ LeetCode:https://leetcode-cn.com/
  • 书籍

    • ⭐《小灰的漫画算法》
    • ⭐《剑指 Offer》
    • 《程序员代码面试指南》
    • 图解算法数据结构:https://leetcode-cn.com/leetbook/detail/illustration-of-algorithm/
    • LeetCode 101(C++):https://github.com/changgyhub/leetcode_101
    • LeetCode 题解(C++):https://github.com/soulmachine/leetcode
    • LeetCode Cookbook(Go 语言):https://github.com/halfrost/LeetCode-Go
  • 视频

    • 尚硅谷 Java 数据结构与算法:https://www.bilibili.com/video/BV1E4411H73v(难度比面试的要求大一些,适合希望更全面学习的朋友)
    • Leetcode 真题解析:https://www.bilibili.com/video/BV1a54y1b74k
  • 工具

    • VisuAlgo 数据结构和算法动态可视化:https://visualgo.net/zh
    • 数据结构可视化:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
  • 网站

    • 五分钟学算法:https://www.cxyxiaowu.com/

###计算机基础

知识
  • 计算机网络

    • HTTP / HTTPS 协议
    • 网络模型
    • UDP / TCP 协议
    • 网络安全
    • 域名解析
  • 操作系统

    • 进程、线程
    • 进程 / 线程间通讯方式
    • 进程调度算法
    • 进程 / 线程状态
    • 死锁
    • 内存管理
学习建议

在巩固基础期间,我建议大家多去了解计算机基础知识,比如操作系统、计算机网络。

但这一块知识说实话挺枯燥的,对吧,你说说我现在项目都不会做,你又让我看这些理论,是不是想让我头秃。

我的建议是,可以先看有趣的课外书,比如《图解 HTTP》等等,对基础知识先有个大致的印象,等后面有时间了再系统学习。

比如还在校园就跟着学校的进度学习就成,自学的话可以看下 《计算机网络微课堂》、 《清华操作系统原理》视频,有实力的小伙伴,能看懂大黑书就更好了。

资源
  • 视频

    • 《计算机网络微课堂》:https://www.bilibili.com/video/BV1c4411d7jb
    • 《清华操作系统原理》:https://www.bilibili.com/video/BV1uW411f72n
  • 书籍

    • ⭐《图解 HTTP》
    • 《网络是怎样连接的》
    • ⭐《图解 TCP / IP》
    • 《编码》
    • 《30天自制操作系统》
    • 《计算机网络-自顶向下方法》(难度较大,不推荐新手看)
    • 《现代操作系统》(难度较大,不推荐新手看)
    • 《深入理解计算机系统》(难度较大,不推荐新手看)

尾声

巩固基础要花至少 1 个月的时间,当你读完《Java 核心技术卷1》并且不用查询文档也能熟练地用 Java 做题时,就可以接着往下了。

阶段 3:Java 企业开发基础

目标

面向薪资编程,学习实际工作要用的技术,并能 独立 做出一个具有完整功能的 Java Web 项目。

MySQL 数据库(7 天)

企业中大部分业务数据都是用关系型数据库存储的,因此数据库是后台开发同学的必备技能,其中 MySQL 数据库是目前的主流,也是面试时的重点。

知识
  • 基本概念
  • MySQL 搭建
  • SQL 语句编写
  • 约束
  • 索引
  • 事务
  • 设计数据库表
  • 性能优化
学习建议

其中,SQL 语句编写设计数据库表 这两个能力一定要有!

比如让你做一个学生管理系统,你要能想到需要哪些表,比如学生表、班级表;每个表需要哪些字段、字段类型。

这就要求大家多写 SQL、多根据实际的业务场景去练习设计能力。

  • 12
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蔡俊锋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值