趁热打铁,二哥就来给需要的同学准备一份新鲜出炉的 Java 学习路线图吧,送给有缘人。

第一部分:Java 基础篇

这个阶段就是编程入门,掌握 Java 这门编程语言的基本语法,为后面的修行之路打好基础。

包括的知识点有:

  • 环境搭建——Intellij IDEA 一站式搞定
  • Java 基础语法
  • 面向对象——封装、继承、多态
  • 数组
  • 字符串
  • 集合框架
  • IO
  • 反射
  • 注解
  • 网络编程
  • 并发编程

这方面的资源我给大家梳理下:

1)针对 Intellij IDEA,GitHub 上有一份简体中文版教程,可以点击下面的链接去看一下。

https://github.com/judasn/IntelliJ-IDEA-Tutorial

2)针对 Java 基础知识总览,我这有一份 GitHub 上星标 115k+ 的教程,我亲自整理的,包括 Java 基础、Java 容器、Java 并发、Java 虚拟机和 Java IO,可以说非常全面,但却只说重点。

GitHub 星标 115k+的 Java 教程,超级硬核!​mp.weixin.qq.com

Java 基础语法+Java 集合框架

Java 并发编程

Java 虚拟机+Java IO

同学们可以通过这份教程先过一遍,初学者可能有些内容不太懂,没关系的,看不懂的就先跳过,这里只是说一个学习资料,一个大纲,对 Java 的全貌有一个大致的印象,方便后面查漏补缺。

并发编程是其中一块难点,所以我在这给大家整理了另外一份牛逼的学习资料,几位阿里大佬写的,名叫《重学 Java 并发编程》,非常强:沉默王二:GitHub 疯传,阿里工程师编写的 《深入浅出 Java 多线程》开源了!

并发编程涉及的知识点我用下面的思维导图汇总下。

如果你想看书的话,我推荐两本,一本《Java 核心技术卷》,一本《Head First Java》。

《Java 核心技术卷》分为上下两册,上册的难度较低,可以在最短时间内刷完,尤其是有了 C语言的编程基础后,再刷这本书可以说是手到擒来。下册涉及到的内容有流与文件(☆)、XML、网络(☆)、数据库编程、国际化、Swing、AWT、JavaBean、安全(☆)、脚本编译和注解处理、分布式对象、本地方法(☆),没有标星的内容我认为可以略过。

《Head First Java》更有趣一些,里面有很多小游戏,很活泼的一本书。

两本书之间的风格差别比较大,之前就有读者给我反馈说,《Head First Java》有点驾驭不了,那就挑《Java 核心技术卷》。刷完任意一本书后,可以看一看《Java 编程思想》,看自己是否能驾驭得了,驾驭不了也没关系,后面再看,不着急的。

视频的话,可以看一下浙江大学教授翁恺老师的。在浙大,每年最受关注的内容之一就是永平奖的百万大奖会花落谁家。2018 年,获得永平杰出教学贡献奖的人,就是翁恺教授。

在 B 站上就可以看:

https://www.bilibili.com/video/BV1DJ411B7cG?p=3

这么一套组合拳下来,Java 的核心知识基本上可以说是吃的透透的!为以后学习其他方面的内容打下了坚实的基础。

第二部分,数据库

学习一门编程语言,如果不去操作下数据,就感觉这门编程语言空有皮囊却没有灵魂,对吧?要想学好数据,首先要学习一下 SQL,推荐《SQL 必知必会》,然后是 MySQL,推荐《高性能 MySQL》。再拓展的话,还有 Redis,互联网技术领域中使用最广泛的存储中间件,推荐《Redis 深度历险:核心原理与应用实战》。还有 MongoDB,非关系型数据库,推荐《MongoDB权威指南》。

视频的话,B 站上推荐 3 个。

SQL:一个老外的视频课(中字版),内容制作得非常棒,所以完全不用担心听不懂。

MySQL:一个女老师讲的,弹幕很精彩:MySQL_基础+高级篇- 数据库 -sql -mysql教程_mysql视频_mysql入门_尚硅谷_哔哩哔哩_bilibili

Redis:【狂神说Java】Redis最新超详细版教程通俗易懂_哔哩哔哩_bilibili

第三部分:框架

大部分 Java 程序员都要从事 JavaWeb 的相关开发工作,要开发 JavaWeb,自然就离不开 Spring 的系列框架。甚至可以这么说,没有 Spring 的 Java 项目是不存在的。Spring 框架正在变得越来越庞大,但核心的概念仍然是 IOC 和 AOP,也就是控制反转和面向切面编程。

  • Spring
  • Spring MVC
  • MyBatis
  • Spring Boot
  • Spring Cloud

单视频的话,推荐:尚硅谷-Spring5框架最新版教程(idea版)_哔哩哔哩_bilibili

学完 Spring,就要学 SpringMVC,推荐大家看视频,江南一点雨的,在 B 站上虽然播放量不是特别大,但我觉得内容特别棒。

然后是 MyBatis,不用找书看了,直接看 官方文档 就行,讲得特别好。本身 MyBatis 也没有特别难的东西,就是一些 XML 配置和动态 SQL。

Spring+SpringMVC+MyBatis 这三个框架学完,可以说你就具备了开发企业级应用的能力了。至于 Spring Boot,我推荐看纯洁的微笑的博客,访问量在千万级别以上,影响了无数的初学者,我个人强烈推荐。

最后是 Spring Cloud,是一系列框架的有序集合。它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 Spring Boot 的开发风格做到一键启动和部署。

视频: 【狂神说Java】SpringCloud最新教程IDEA版_哔哩哔哩_bilibili

第四部分:练手项目

到底是不是一个好的 Java 练手项目,关键的因素在这个项目的文档是否全面!这个因素我认为是最重要的,GitHub 和码云上有成千上万的项目,真正能脱颖而出的不在这个项目有多牛逼,作者的技术有多厉害,而在于这个项目的文档能不能让大家看得懂!

我不给大家推荐太多,多的话,就乱,不知道该从哪个开始。

1)电商秒杀

SpringBoot 完整电商系统 Mall:包括前台商城系统及后台管理系统,基于 SpringBoot+MyBatis 实现。

miaosha:秒杀系统设计与实现。

2)博客论坛

vhr:微人事是一个前后端分离的人力资源管理系统,项目采用 SpringBoot+Vue 开发。

halo([ˈheɪloʊ],意为光环,也可以当成拼音读(哈喽)):一个优秀的开源博客发布应用。

这些项目都非常适合作为练手项目。像 vhr,我是贡献者之一,目前有 20k star。

后端技术栈

  1. Spring Boot
  2. Spring Security
  3. MyBatis
  4. MySQL
  5. Redis
  6. RabbitMQ
  7. Spring Cache
  8. WebSocket ...

前端技术栈

  1. Vue
  2. ElementUI
  3. axios
  4. vue-router
  5. Vuex
  6. WebSocket
  7. vue-cli4 ...

基本上主流的前后端技术都用到了。松哥为初学者还特意录了项目的部署视频教程,在 B 站上,很贴心。

mall 的话,也非常牛逼,有 47k 的 star。

我之前做的一个电商项目还用了 mall 作为基层的架构!mall 的学习教程更全面,宏哥直接做了一个在线的网站,基本上用的技术都讲述得特别明白!

第五部分:简历+算法+面试

到这一步,基本上理论知识也有了,经验也有了,剩下三件事:

  • 准备简历
  • 刷算法题
  • 刷面试题

一份好的简历太重要了,它是你拍醒招聘方的一块强有力的板砖!怎么才能写好简历呢?可以参照我这篇文章,有家长就觉得很不错,转发给了他的孩子。

Java程序员如何写简历?​www.zhihu.com

无论什么时候,程序=数据结构+算法这种说法都是成立的。Java 中的线性数据结构有数组、链表、栈、队列,非线性数据结构有树、哈希表、图等等。常见的排序算法有:选择排序、冒泡排序、插入排序、快速排序、归并排序、希尔排序、基数排序、计数排序、桶排序、堆排序等等。常见的查找算法有:顺序查找、二分查找、插值查找、斐波那契查找、树表查找等等。常见的算法有:KMP算法、贪心算法、回溯算法、动态规划、递归算法等等。

这里给大家推荐一份纯 Java 版的 LeetCode 刷题笔记吧。作者曾给我说,刷完 100 道题之后,发现真的是爱上了刷题。基本上后面的每道题都可以想出一种思路,甚至就是最优解,还会萌生一些别人没想到过的解法——基本上只要算法学得好,大厂小厂的 offer 基本上就 70% 的把握了!

刷完 300 道 LeetCode 题后,我飘了!​mp.weixin.qq.com

一定要要在找工作前多刷一刷算法题和面试题,让自己有更多的选择,去一家相对成熟的公司,一家给你更多试错机会的公司,一家发展前景更好的公司。我这里有一份 GitHub 上星标 100K+ 的 Java 面试攻略,应该能帮得上忙,让大家在准备的时候都有章可循。

有需要Java面试资料 文档的小伙伴可以加v:XIaonan00000621领取

老夫花了 3 天时间整理了一份史上最强 Java 学习路线图,送给有缘人!相关推荐

  1. 金九银十,史上最强 Java 面试题整理。

    以下会重新整理所有 Java 系列面试题答案.及各大互联网公司的面试经验,会从以下几个方面汇总,本文会长期更新. Java 面试篇 史上最全 Java 面试题,带全部答案 史上最全 69 道 Spri ...

  2. 整理了一份史上最全的DevOps 工具链

    2018-02-07 朱少民 软件质量报道 在列出DevOps 工具链之前,介绍一下什么是DevOps,虽然DevOps这个概念现在还没有标准的定义,但我们可以追溯一下其过去九年的历史发展过程(从20 ...

  3. 我花了3天时间整理出这5款黑科技小程序,值得你们玩上一整天

    我花了3天时间整理出这5款黑科技小程序,值得你们玩上一整天 1.天天练英语口语 帮助你利用每天碎片时间练习口语的小程序,有不同的学习主题,可以选择每天一句名言或者每天一个词汇,积少成多,你还可以将不认 ...

  4. 小灰整理了一套Java学习路线图,面试和实战都能用得上!

    虽然快过年了,但小灰一点也不轻松,前一段时间,小灰刚刚为大家整理了一份数据结构与算法的学习路线图,收到了许多读者的好评: 花了整整两周,小灰肝出一份算法路线图! 许多小伙伴问我,能不能再整理一份Jav ...

  5. 【整理】史上最强的娱乐大餐———九奔、汉澳、器普。。。。。。

    按: 本文内容来源于:http://shouji88.com/msg_list.cgi?bbs_id=000001                               http://shouj ...

  6. 2022年Java学习路线图,精心整理「史上最全」

    前言: 很多老铁经常问我:哪些是适合Java零基础学习的视频?应该先学哪个后学哪个?等等问题. 那么,怎么解决这些疑问? 一个系统的Java学习路线正是你最需要的,这也是为什么很多前期自学的小白们到处 ...

  7. 2022年Java学习路线图,精心整理

    前言: 很多老铁经常问我:哪些是适合Java零基础学习的视频?应该先学哪个后学哪个?等等问题. 那么,怎么解决这些疑问? 一个系统的Java学习路线正是你最需要的,这也是为什么很多前期自学的小白们到处 ...

  8. java路线_2021年Java学习路线图—精心整理

    看到过无数套毫无用处的Java路线图,到现在为止还在云端飘着,对于Java小白来说就像天书一般,Java大神看了以后感觉云山雾绕不知道讲什么东西,于是我从实战出发,呕心沥血整理出来Java学习路线图希 ...

  9. Java学习路线图分享(含项目+面试提升)最全整理

    为大家整理了2022最新的Java学习路线图,从学前准备.学习路线.项目实战.面试提升等四个方面给大家分享一些经验,希望可以给学习Java的小伙伴们一些帮助. 个人学习经验: 我本人是计算机科班出身, ...

最新文章

  1. 整合Flex和Java(中)
  2. dearpygui最新版教程
  3. Makefile学习之路——2
  4. 测试电梯的测试用例_【转】电梯功能的测试用例和测试方案
  5. 刷前端面经笔记(九)
  6. jsp引用带参数的js文件,例如 script src=a.js?ctxpath=${base
  7. STM32F103mini教程学习总结与心得(一)
  8. centos java 路径_CentOS JAVA安装及查看路径方法
  9. 查看CSDN历史下载明细
  10. matlab小波分析
  11. 条码打印工具-Bartender的使用
  12. 计算机专业硕士求职经历(转)
  13. 用python写恶搞病毒
  14. 在Ubuntu 20.04上面搭建嵌入式开发环境
  15. LoRaWAN入网参数设置
  16. c语言中swap的意思,C语言中swap的作用和用法?
  17. MATLAB中cla函数
  18. 多柱汉罗塔(python解法,带注释,注释为个人理解)
  19. [Kaggle Classify-Leaves] 树叶分类 score0.950
  20. oracle数据库归档模式修改ARCHIVELOG

热门文章

  1. css行高包含哪些,详解CSS行高
  2. 如何入坑新媒体运营,有哪些工具可以用?
  3. JAVA毕业设计高校体育器材及场地管理计算机源码+lw文档+系统+调试部署+数据库
  4. 初学Python第三天写的一个PC版模拟微信自动给好友发送消息
  5. VINS在安卓手机上实现、安卓相机标定、IMU标定 亲爸级原理介绍和教学
  6. Win10安装Cygwin,并安装GCC等软件包
  7. linux之《进程等待》
  8. 【CSUOJ 1623】Inspectors
  9. 使用Fiddler修改inspectors下面的webfoms下的参数怎么改,求可以直接改的方法。
  10. CSS样式选择器的优先级顺序