专栏/2024黑马程序员Java学习路线图

2024黑马程序员Java学习路线图

2021年02月23日 02:25--浏览 · --喜欢 · --评论
粉丝:344.4万文章:58


黑马程序员整理了新版学习路线图,内容涵盖从小白---->大厂java工程师!

PS:注意收藏,此套路线图会不定期更新!


Java最高效学习路线图(2024版,视频已更新) 


Java基础 → Javaweb(含SSM框架)苍穹外卖项目 → 微服务 →黑马头条项目学成在线项目→  Java大厂面试专题课

Java学习路线详细介绍

第一阶段:Java基础

学前导读:Java基础是入行Java、应对Java程序员面试需掌握的知识,好的开始等于成功的一半。打好Java基础才能真正成为Java开发的高手,学习Java企业级技术和项目也才能游刃有余。本部分推荐四套精品Java基础入门课(任选其一即可)

1.可在短时间掌握全套实用技术的Java基础视频

讲解由浅到深、采用大厂真实需求驱动知识的学习,更清楚,更高效,更实用,没有废话!课程内置大量的案例实战,初学者可以学练合一,对Java语言形成完整体系,并能得到自己的心得,足以轻松应对Java基础面试。 

2.Java入门教程上部+下部【含斯坦福大学练习题+力扣算法题+大厂java面试题】

Java基础的天花板教程,面向0基础同学,有手就行。从0开始,到进阶,起飞,层层递进。课程中会讲解很多编程思想,以及我是如何从0开始去分析一个问题,并把代码写出来的。拒绝一听就懂,一学就废。

3.2023新版Java基础入门教程【可快速通关Java基础】

从零基础学员角度出发,知识点编排循序渐进,能够将每一个知识点落地到实际案例,拒绝“听得懂、不会练、不会敲”。通过阶段性小项目, 巩固所学内容, 并进一步提升编程思维,绝对会给你意想不到的惊喜!

4.Java入门经典教程【课程播放量1000w+】

通过本视频的学习,让您从零开始,掌握 Java 开发的各种技术,再结合后续知识,从而达到企业对 Java 开发工程师的要求! 


第二阶段: Java Web框架

学前导读:本阶段深入讲解JavaWeb核心技术,学完本阶段课程可以制作中小型网站和企业管理系统等。

JavaWeb(包含Tomcat、MySQL、Servlet、Spring、SpringMVC、Mybatis、SpringBoot、Maven...

2023年最新版Javaweb,基于主流的前后端分离的开发模式进行设计和讲解,基于主流的SpringBoot来讲解整个Web开发的知识点,参照企业开发模式,需求分析-表结构设计-接口文档-功能接口实现-测试-联调,理论与实践相结合,通过案例贯穿整个课程体系,学以致用。


第三阶段:单体项目开发

学前导读:通过单体项目开发,把前面的所学全部综合应用,提升真实的项目需求分析能力、接口设计能力、编码能力、代码调试能力、文档阅读能力

苍穹外卖

本课程采用理论与实践并重的方式,讲练结合,适合具有一定java基础、了解java web、spring、mybatis、mysql、maven的初学者,可以帮助学员更牢固地对所学知识进行掌握。


第四阶段:微服务

学前导读:本阶段汇集了当下热门的微服务框架,学完后可增加中级程序员的知识储备,为面试或将来技术的深入奠定良好的基础。

2024最新SpringCloud微服务开发与实战,Java黑马商城项目微服务实战开发

SpringCloud及SpringCloudAlibaba是目前最流行的微服务技术栈。但大家学习起来的感受就是组件很多,不知道该如何应用。这套《微服务开发与实战》从一个单体项目入手,带领大家从服务拆分时机、服务拆分原则、拆分遇到的问题入手,结合实际项目讲解。带你体会从单体到微服务中碰到的各种问题,并利用SpringCloud和SpringCloudAlibaba中的组件解决这些问题。让你真正了解到微服务组件在项目中的具体应用场景。同时项目中还包含一些通用的微服务项目解决方案,例如网关的动态路由方案、网关登录认证方案、分布式事务方案、支付状态一致性方案、超时订单处理方案等等。理论结合实践,动手能力、底层原理两手都要抓,两手都要硬。


第五阶段:企业级项目实战

学前导读:“项目经验”是企业了解人才能力的关键因素,为了更快更好地进入企业,就要选择真实、可靠、紧跟企业需要的项目课,沉浸不同阶段和规模的项目实战。

传智研究院自2016年起,每年持续投入课程研发资金以亿为单位计算,所研发项目库行业规模大,单个项目业务完整,符合实际开发场景和业务需要。项目库覆盖19个行业场景,累计研发34个大型项目。

项目课能快速帮助学员获取行业经验,掌握核心业务需求及应对方案,以下项目课根据自己情况选择学习,学习结束后可拥有同行业2-3年的项目经验。 

1.学成在线【在线教育】

以在线教育业务为基础,基于当前热门的 Spring Cloud 微服务技术栈进行设计,采用Nginx、SpringBoot、Spring Cloud、MyBatis-Plus、MQ、Redis、Elasticsearch等框架和中间件为基础进行开发,带领学员体验Java大型项目从需求分析、架构设计、编码、调试、测试的整个过程。

2.黑马头条【企业级微服务项目】

《黑马头条》项目采用的是SpringBoot+springcloud当下最流行的微服务为项目架构,配合spring cloud alibaba nacos作为项目的注册和配置中心。新课程采用快速开发的模式,主要解决真实企业开发的一些应用场景。深入挖掘技术和业务的解决方案,做到更加的通用,能举一反三,充分满足互联网行业中复杂的微服务技术要求。


第六阶段  面试专题课

学前导读:以100+企业大厂真实高频Java面试真题为主干,轻松应对大厂面试。

1.2023版Java大厂面试专题

Java面试专题课解决面试过程中的一些常见问题,本阶段课程全面覆盖重难点面试题。包含了多个模块的面试题讲解,如:Redis、MySQL、框架、微服务、消息中间件、数据结构、Java集合源码分析、多线程、JVM、设计模式、高并发场景、企业实际问题场景等等各个方面逐一讲解。

2.2021版Java大厂面试专题

java面试宝典(含阿里、腾迅大厂java面试真题,java数据结构,java并发,jvm等最新java面试真题),以数据结构的可视化展示、算法的可视化展示,窥探底层的工具使用等等可视化手段,用最直观、形象的方式展现复杂的知识内容,让学生更清晰、更容易地掌握这些Java面试题与Java知识点。

学完以上技术,足以支撑找一份好的java开发工作。

如想工作后再提升,还可以点击下面的技术点进行学习

 jdk8-10jdk13jdk14jdk15 ,DubbozookeeperRabbitMQRocketMQ容器化DockerNoSQL技术RedisMongoDBElastic stackLuceneSolrMavenGitSSMSpring高级SpringbootJava数据机构与算法实战JVMJava百度地图Java设计模式JUC并发编程网络编程NettyMySQLOracleSpringData高级Java日志框架安全框架ApacheShiroElastic-Job分布式事务NginxJava可视化报表模板引擎VelocityTools工作流Activiti7百度地图技术SpringSecuritySpring Security OAuth2.0认证授权支付技术(支付宝、微信)持续集成Jenkins

更多的企业级项目练习

瑞吉外卖【服务行业】传智健康【医疗行业】SaaSiHRM【企业服务】好客租房【生活服务】权限管理一体化解决方案短信网关平台

热门单技术点课程推荐

一、【JDK8-15新特性】

每六个月发布一次新功能,为企业和开发人员社区提供新的增强功能,掌握以下内容,可以熟悉JDK发展路线及各个版本的新功能。

1.JDK8-10 

系统地讲解JDK8,9,10新特性,从Lambda表达式的使用到Lambda的实现原理,再到方法引用;详细的讲解Stream中常用的API及并行Stream的使用及注意事项,然后深入研究并行Stream的底层原理; JDK 8之前的时间API存在的问题,及JDK 8时间API的好处,并对新的时间API进行详细深入的讲解;重点剖析模块化系统、交互式编程,多版本兼用jar、接口私有化,释放资源代码优化,标识符优化,优化字符串相关类,快速创建只读集合,增强stream流,支持Http2.0、泛型钻石操作符的升级等相关特性。

2. JDK 13

深入讲解JDK 13的主要带来了 ZGC 增强、更新 Socket 实现、`Switch` 表达式,文本块更新等方面的改动、增强。本套课程从环境的部署到技术的原理和应用场景都会一一的讲解,课程中将通过代码去演示JDK 13新特性的具体细节,讲解思路清晰易懂,能够快速的了解JDK 13的重点新特性。 

3.JDK 14

Java开发工具包(JDK)提供了新功能,包括两项备受期待的新预览功能–实例匹配的模式匹配(JEP 305)和记录(JEP 359),以及文本块的第二个预览(JEP 368)。此外,新版Java版本增加了对switch表达式的Java语言支持,公开了用于持续监控JDK Flight Recorder数据的新API,将低延迟Z垃圾收集器的可用性扩展到了macOS和Windows,并在孵化器模块中添加了包装完备的Java应用程序和新的外部内存访问API,以安全,高效地访问Java堆外部的内存。 

4. JDK 15

根据JDK 15的发布规划,这次发布的 JDK 15 将是一个短期的过度版。它为用户提供了14项主要的增强/更改提案,主要包括孵化器模块,预览功能,确定之前版本预览的功能,不推荐使用的功能以及两个删除功能。对Java开发人员来说,重要的无疑是:文本块,intanceof的模式匹配操作,record记录类型,sealed密封类。其他的新特性需要在具体的业务实现中再去体会官方做的优化。


二、【编程强化】

掌握以下内容,可以大大提升Java开发内功,对排查线上问题、自主研发框架、实现复杂业务大有裨益。

1.数据结构与算法(上部+下部)

本课程采用理论与实践并重的方式,讲练结合,帮助学员更牢固地对所学知识进行掌握。课程内容全面,涉及数据结构和算法的各个方面,包括数组、链表、递归、队列、栈、堆、二叉树、查找算法、排序算法、回溯、贪心、分治、动态规划等。

2.实战JVM

Java虚拟机如今已经是Java程序员必学得内容了,主要原因第一是因为面试,尤其是对于要参加校招的应届生来说,大厂面试JVM是必问,掌握越深越好;而社招会考察Java虚拟机调优的经验。第二是随着线上环境用户量和访问量的激增,Java虚拟机越来越容易出现内存、执行性能等问题,所以掌握Java虚拟机的故障解决以及调优技术是非常有必要的

3.设计模式

为了能更好的设计出'优雅'的代码,更好的理解很多技术的底层源码,就要学习设计模式。本课程你有JavaSE的基础都可以学习,针对设计模式及其模式的变形及开发中是如何使用的,学习spring框架是知识进阶的提升途径,spring框架将面向对象体现的淋漓尽致。 

4.并发编程

100+ 张手绘图 & 流程图,帮助你形成正确的"多线程世界观"!以知识点为主线、穿插讲解"应用","原理"和"多线程设计模式",多维度学懂并发。课程涵盖了多线程技术、锁的技术、无锁技术以及相关的设计模式、源码分析、应用案例,是程序员进阶需学习的课程。

5.网络编程强化Netty

Netty是 Java 领域网络编程的王者,而本课程的目的就是带领你进入基于 Netty 的网络编程世界。课程从 Netty 入门到进阶,参数优化到源码分析,由浅入深,为 Netty 学习打下坚实基础。完成本课程之后,能够理解其基本运行原理和高效原因,并具备一定的 Netty 编码能力。 


三、【数据库强化】

掌握以下内容,可以处理复杂数据库问题,诸如:性能调优、读写分离,分库分表

1. 数据库MySQL进阶

深入解析MySQL的基础、进阶、运维等多个方面,不仅讲解知识点的具体应用,还会讲解其底层结构和原理。知识讲解剖深入,能够完全满足我们日常的开发、运维、面试、以及自我提升。

2. 数据库Oracle

Oracle是目前流行的数据库之一,本课程以一个真实的企业案例“自来水公司管理系统”来进行贯穿,业务与技术齐驱并进。课程体系结构清晰,由浅入深,顺应初学者对此技术的认知规律。 


四、【热门技术扩展】

掌握以下热门内容,将会大大提升地技术广度,适合在职需要定向技术提升人员。

1.分布式开发框架Dubbo

学完这套课程后,可以应对企业级分布式项目中Dubbo的使用,并可以解决服务超时、重试、服务降级、集群容错等问题。

2.分布式开发框架Zookeeper

本套课程深入讲解Zookeeper各种功能,配置管理、分布式锁、集群管理等,从Zookeeper命令和Java客户端两个角度操作Zookeeper,让开发者快速上手。学完这套课程后,可以在项目中快速落地使用Zookeeper,使用Zookeeper管理服务器集群、配置管理、分布式锁的复杂业务等。

3.消息队列 RabbitMQ

消息队列是目前最常见的微服务中间件之一,而RabbitMq在全球范围内的使用率也是名列前茅。它以稳定性强、并发高、低时延的特点深受广大企业开发者的喜爱。然而市面上一致缺乏一个专门的RabbitMQ课程,所以这套课程应运而生。

4.消息队列 RocketMQ

阿里巴巴开源的RocketMQ,经过了双11这种高并发场景考验,其稳定性可靠的,且方便初学者快速上手。本套课程能够快速掌握分布式系统中消息中间件的各种应用场景,了解常见问题和解决方案及其原理,在应用实战中,快速掌握RocketMQ。

5.容器化Docker

《Docker》是微服务在企业落地的最后一块拼图。微服务项目由于拆分粒度细,服务部署环境复杂,部署实例很多,维护困难。而Docker则可以解决项目部署的各种环境问题,让开发、运维一体化,真正实现持续集成、持续部署。大大提高企业项目开发到部署的效率。 

6.NoSQL技术Redis

Redis是目前物联网较为流行的 NoSQL数据库,Redis以其强大的数据处理效率在企业级数据高级处理领域一直占据着主流地位。本套课程50多个案例场景贯穿整体课程,包含20多个企业实际问题,轻松搭建Redis集群,真正解决企业级开发三高(高并发、高性能、高可用)问题。 

7.NoSQL技术MongoDB

MongoDB是一个开源、高性能、无模式的文档型数据库。它可以解决需要存储数据量大、高并发读写、高可用的现实问题,适用于社交朋友圈、游戏积分、物流轨迹、商品评论等业务。架构成本较低,各方面却很优秀,MongoDB值得选择。

8.搜索技术Elasticsearch

深入讲解Elasticsearch技术栈,最后融入实战,收集日志数据、服务器指标数据等,最终将分析的结果数据友好的展现出来。

9.持久层技术SpringDataJPA

一套技术搞定数据层技术!java进阶之SpringData教程,涵盖Jpa、Redis、MongoDB、ES操作。不用写SQL就能完成数据库的操作。 

10.日志技术Log

对于项目开发,日志作为系统的诊断书是很重要的一环。弄懂日志系统,有助于及时追踪系统状态,灵活定制日志级别和格式,在系统日志使用环节畅通无阻。本套课程从JDK日志体系入手,到深层讲解Log4j、jcl、Log4j2、Slf4j及Logback,涵盖全套常见Java日志框架。重视日志应用,深入讲解Spring主流开发框架下的日志体系,从基本配置到底层组件全覆盖。

11.搜索技术Lucene

Lucene是一款Java语言编写的全文检索引擎工具包。目前java语言实现的全文检索引擎技术框架大部分底层使用的都是Lucene实现。目前业界流行的ElasticSearch和Solr搜索技术底层正是使用Lucene实现的。使用全文检索技术可以构建像百度、谷歌、京东搜索、淘宝搜索等系统和功能。在本套课程中,将详细讲解Lucene技术,从简单应用到细节使用再到底层原理都有深入讲解。

12.搜索技术Solr

Solr是目前主流的全文检索服务之一,课程中每一个知识点都通过案例来讲解;课程涵盖了Solr基本全套知识,从Solr安装,配置,Java Api,应有尽有。本套课程对全文检索服务基础可以轻松掌握;对于后期学习ES也有所帮助。

13.安全框架ApacheShiro

Shiro是一个强大而灵活的开源安全框架,能够非常清晰的处理认证、授权、管理会话以及密码加密。系统的学习Shiro技术栈,支持前后端分离的鉴权方案,分布式统一鉴权系统的落地方案。 

14. 分布式任务调度Elastic-Job

大型系统通常都有独立的任务调度模块,任务调度是指系统为了自动完成特定任务,在约定的特定时刻去执行任务的过程。有了任务调度即可解放更多的人力由系统自动去执行任务,Elastic-job是当当网基于quartz 二次开发的弹性分布式任务调度系统,功能丰富强大,采用zookeeper实现分布式协调,实现任务高可用以及分片。

15.分布式事务

本课程由浅入深的讲解了分布式事务的概念、特性、应用场景及解决方案等内容。具体使用了2PC、TCC、RocketMQ实现可靠消息最终一致性、最大努力通知等方式来完成分布式事务的操作。

分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。

16.服务器Nginx高级

课程把关于Nginx从基础到进阶中常见的 Nginx的背景介绍、功能优点分析、下载安装及常见配置文件进行入门;Nginx的三大主要功能:静态资源部署、反向代理、负责均衡的使用进行详细的讲解;使用过程中会涉及到缓存,URL地址重写等内容的详细学习;通过负载均衡和LVS+Keepalived实现本地Nginx服务器的负载均衡;使用Lua和Nginx完成数据的常用处理。

17.报表技术POI、JarsperRepot、JFreeChart、Echarts

报表技术是在做Web项目是不可少的,目前报表技术有很多,却没有一套课程能把主流的报表技术内容都涵盖。本套课程包含Java代码操作Excel、Word、PDF、Csv;页面图形化报表JFreeChart、Highcharts、ECharts、Excel各种技术都会涉及,比如绘制表格、图片处理、公式计算、大数据操作等,市面上独一份的Csv文件导出教学课程;在生成Charts图形报表时分析复杂SQL语句。学习完本课程后,在项目开发中的主流报表的生成都能搞定!

18.模板引擎VelocityTools

本课程从Velocity引擎开始, 先讲解Velocity的基本使用以及基础语法 , 然后再讲解Velocity 的进阶内容velocity Tools , 以及Velocity作为Web项目的视图改如何使用 , 每一部分都会有一个综合案例将常用的语法和工具串联起来。

19.工作流Activiti7

Activiti是目前使用非常常用的工作流引擎,本套课程是基于Activiti的新版本Activiti7研发的,包含了对Activiti的基本使用还包含Activiti7新特性使用。内容涉及了从Activiti表结构,基础API的使用,高级API以及和框架的整合,学完能使用Activiti和spring框架整合完成工作流业务。

20.百度地图技术

百度地图有七大功能与服务,其中包含定位、地图、轨迹、路线规划、导航、路况、搜索功能,涉及到我们工作生活的方方面面,相信一定会对你的工作提供不少帮助。

Java百度地图

课程基于百度地图技术,将企业项目中地图相关常见应用场景的落地实战,包括有地图找房、轻骑小程序、金运物流等。同时讲了基于Netty实现高性能的web服务,来处理高并发的问题。还讲解了海量坐标数据处理解决方案。 学完能够收获:百度地图技术的应用、轨迹类场景、路线规划场景,电子围栏场景的开发,增长开发经验。

21.安全框架SpringSecurity

Spring Security是spring旗下一款强大的安全框架。 它不仅具备了一般安全框架的拥有的“认证”和“授权”两大核心功能,围绕这两个核心功能,还有CSRF攻击拦截,SESSION会话管理,动态权限认证,OAuth2第三方认证等诸多强大实用的功能。是企业开发中热门安全框架。

22.Spring Security OAuth2.0认证授权

认证和授权是解决软件系统安全的两个基础概念,认证是校验使用者的身份是否合法,授权是校验使用者是否拥有操作资源的权限。互联网的发展也促进了软件开放性设计的进步,软件既要开放又要安全,如何使用统一的方案解决软件自身及外部系统的认证需求是当前互联网应用要考虑的问题,OAuth2.0协议是当前开放流行的认证协议,本课程使用流行的Spring Security认证框架及OAuth2.0协议实现单体及分布式系统的认证授权技术解决方案。

23.支付技术(支付宝、微信)

本课程不仅讲解了微信支付、支付宝支付,同时讲解了商家生成门店二维码,并扫码支付,内容丰富,学完本套课程即可掌握常用的支付方式。

24.持续集成Jenkins

Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目。在本套课程中,我们将讲解Jenkins相关知识。从Jenkins的安装部署和环境配置,到Jenkins构建Web应用程序。从Jenkins+Docker+SprinGCloud微服务持续部署,到Jenkins+Kubernetes进行分布式主从构建。

其余热门项目课程推荐


一、中、大型or开发平台项目

1.SaaSiHRM【企业服务】

iHRM是一款基于SaaS平台的人力资源管理平台,企业通过该平台可完成员工管理、审批管理、考勤管理、社保公积金的管理、薪资管理等功能,为企业的人力资源管理提供一站式解决方案。本课程结合Activiti7工作流引擎, 提供了Spring全家桶、SPA工程构建、刷脸登录、Activiti工作流等10+热门解决方案。

2.好客租房【生活服务】

好客租房是一个无中介化房屋租赁平台,包含房源智能推荐、地图找房、行情查询、电子合同、限时秒杀等功能。利用区块链技术去除中介的垄断地位,利用智能合约技术提高交易效率。采用Spring全家桶、分布式搜索服务、即时通信、容器化等15+技术解决方案,课程从入门到进阶,系统学习MybatisPlus、MongoDB、RocketMQ、Elasticsearch等热门技术。


二、 深度解决方案【通用领域】(选择目标行业学习)

在项目中,类似权限管理、短信这类功能,其整体实现思路基本一致,如果有一套通用的解决方案可以复用,就能有效减少资源的重复,缩短开发周期。

1.权限管理一体化解决方案

对于企业中的项目绝大多数都需要进行用户权限管理、认证、鉴权、加密、解密等。本套课程具备通用的用户管理、资源权限管理、组织机构管理、岗位管理、角色管理、菜单管理、监控管理、网关统一鉴权等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。通过学习能够熟练掌握微服务开发过程中涉及到的热门技术框架、中间件;掌握认证鉴权的设计方法和实现过程。

2.短信网关平台

随着企业业务扩张、短信规模化使用,现代企业对短信业务平台的要求已逐渐提高,统一入口,兼顾多种短信业务,成本低、操作与维护、高稳定、高可靠的移动信息化应用成为短信平台发展趋势。

本项目的核心在于保证短信高效、准确的送达、简单易操作的对接方式。通过对服务的解耦、通讯方式的升级来提升系统的吞吐量。同时在多通道的加持下,通过智能动态的通道评级、选举、降级、热插拔,增强了系统的健壮性,摆脱对单一通道的依赖,并且提供多种对接方式,满足企业内部的各种需求。

学完的小伙伴记得回来留言,分享你的进步和心得,鼓励其他Java爱好者。加入社区or粉群,还能互动学习,共同成长!

黑马程序员:知识只有分享才会产生价值!

PS:最后希望所有学习Java的小伙伴都能一键三连!点赞+收藏,投币+转发,关注黑马不迷茫!祝愿大家学有所成!




投诉或建议