我想学习后端,后端的学习路线是怎么样的呢?

2023-05-27 0 536

Java后端开发学习路线

我想学习后端,后端的学习路线是怎么样的呢?

第一阶段:Java语言入门

最开始要学习的是 Java 基础,学习了这部分,就会对 Java 语言有一个初步的了解。其实大部分语言的基础知识都是大同小异,如果之前已经学习过其他语言如C、C++,那学习这部分会更快。 这部分主要学习的内容有:Java基础语法,基本程序结构,类与对象,接口,泛型,反射,String/StringBuffer/StringBuilder,集合,异常与调试, Java 网络编程, Java I/O和多线程等等,为后续JavaEE开发打基础

学 Java 基础,推荐大家看尚硅谷宋红康老师的 Java 教程,宋老师的课程更适合零基础学员,从 Java 语言起源开始,循序渐进,知识点剖析细致。

视频推荐:尚硅谷Java入门视频教程(在线答疑+Java面试真题)

书籍推荐:《 Java 核心技术 卷I》这本书偏向实用,广度和深度都恰到好处。其中,第7-9章讲述了 Java 的GUI编程, Java 的GUI开发使用并不多,这部分可以先跳过。

其他资源:廖雪峰 Java 教程:Java教程 – 廖雪峰的官方网站

菜鸟教程 Java :Java 教程 | 菜鸟教程

当学完了这部分,就可以做个图书管理系统、学生管理系统这样的小项目了。当然,时间有限的小伙伴,可以不用做这块的项目,直接做 Java Web 项目就好了。

第二阶段:数据库

MySQL 和 Oracle 都是广受企业欢迎的数据库,其中 MySQL 是目前应用最广泛的开源关系数据库,对于新手或者校招的小伙伴,我们目前只学习 MySQL 就可以了。 学习前要求:Java语言基础,能使用Java语言编写小程序。 这部分主要学习的内容有:SQL基本语句、MySQL相关操作,以及JDBC(后面将学的Mybatis框架是对JDBC的封装)的使用。 其中,数据库连接池是为了避免频繁地创建和销毁 JDBC 连接,常见连接池包括 C3P0,Druid 和 HikariCP,目前使用最广泛的是HikariCP。

视频推荐:尚硅谷的MySQL入门视频:MySQL_基础+高级篇该课程属于MySQL的天花板讲解了6大范式讲解、7大日志剖析、7大SQL性能分析工具、9大存储引擎剖析、10大类30小类优化场景、15个不同锁的应用讲解、18种创建索引的规则、300+张高清无码技术剖析图…… 书籍推荐:《MySQL必知必会

《MySQL必知必会》MySQL是世界上最受欢迎的数据库管理系统之一。书中从介绍简单的数据检索开始,逐步深入一些复杂的内容,包括联结的使用、子查询、正则表达式和基于全文本的搜索、存储过程、游标、触发器、表约束,等等。通过重点突出的章节,条理清晰、系统而扼要地讲述了读者应该掌握的知识,使他们不经意间立刻功力大增。

《高性能 MySQL》

《高性能mysql(第3版)》是mysql 领域的经典之作,拥有广泛的影响力。第3 版更新了大量的内容,不但涵盖了最新mysql 5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16 章和6 个附录,内容涵盖mysql 架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的mysql 和mysql相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。

《高性能mysql(第3版)》不但适合数据库管理员(dba)阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获。

如果要深入学习MySQL的使用和原理,可以看极客时间的专栏《MySQL实战45讲》,阿里资深技术专家讲解的课程,有很多生产经常遇到的问题,非常有深度。 在这里为了大家方便我把他电子版放在了我的网盘中,各位小伙伴们可以自行提取。 链接:https://pan.baidu.com/s/19dH2bzczzh-d0WsHKiZo3Q 提取码: ddff

第三阶段:JavaWeb

学习 Java Web,我们不仅需要掌握后端 Java 技术,还需要学习些前端知识。

前端有三大基础技术 Html、CSS和 Java Script,初学的话,学习这些就可以了。如果想做出更好的交互式效果,可以再学习Vue和React等前端技术。 后端 Java 技术包括 Servlet、Filter、Listener、Session、Cookie、JSP、EL 表达式和 JSTL 等。

其中,像 JSP 这样比较老的技术,目前在各大互联网公司基本不再使用,已经被 Freemark、Thymeleaf 这样的模板引擎所替代,我们只需要了解基本使用即可。

入门 Java Web,推荐尚硅谷的 Java Web 教程,教程不仅包括前端三大技术,还有后端 Java 技术,最后还会带大家做一个书城项目。

这部分主要学习的内容有:JSP、Servlet等Java Web基础知识,掌握之后将有助于你更好地学习框架知识,比如SpringMVC。

视频推荐:黑马程序员完整JavaWeb快速入门教程 这套课程把需要学习JavaWeb所具备所有知识点都整合在了一起包括了HTML、CSS、JavaScript、Vue等等一系列前端所具备的知识。

第四阶段:Java框架

这部分我们要学习的主流框架主要有 Spring、Spring MVC 和 MyBatis,俗称 SSM 框架。

曾经的 SSH 框架,即 Struts2、Spring、Hibernate 框架,已经逐渐被 SSM 替代,现在可以不用再学 Struts2 和 Hibernate 框架了。

学习这些框架之前,我们先来学习项目管理利器Maven和Git。

Maven

Maven 是一个项目管理工具,它基于项目对象模型(POM)的概念,它可以管理项目的构建、报告和文档。

Maven 本质就是一个巨大的 jar 包资源库,使用 Maven 构建项目,只需在项目的 pom.xml 中配置相关依赖后,就可以直接从远程仓库同步到本地,再也不用满世界搜索下载 jar 包了,省了很多查找和下载的烦恼。

视频推荐:尚硅谷2022版Maven教程这个视频分为基础、高级、资深篇,各位小伙伴们可以按需进行观看。 基础篇(1-53集),适合小白,快速上手; 高级篇(54-121集),适合开发人员,了解Maven项目开发全流程; 资深篇(122-173集),适合老鸟学习,搞定你开发中的诸多痛点。

Git的基本用法

首先和各位小伙伴们即使一下git是什么,git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。在这里我推荐B站尚硅谷的git的视频教程。

推荐视频:Git与GitHub基础全套完整版教程这里讲的非常详细,大家可以放心观看。 喜欢文字版的小伙伴,推荐看廖雪峰的 Git 教程,很浅显易懂 廖雪峰的 Git 教程:Git教程 – 廖雪峰的官方网站 方便查阅的 Git 中文手册:Git – Book

github和gitee平台管理

首先像小伙伴们解释一下什么是 Github? github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。 Github 由Chris Wanstrath, PJ Hyett 与Tom Preston-Werner三位开发者在2008年4月创办。迄今拥有59名全职员工,主要提供基于git的版本托管服务。 那么什么是gitee呢? http://Gitee.com(码云) 是 http://OSCHINA.NET推出的代码托管平台,支持 Git 和 SVN,提供免费的私有仓库托管。目前已有超过 600 万的开发者选择 Gitee。Gitee是开源中国(OSChina)推出的基于Git的代码托管服务 。Gitee包括三个版本,分别是:社区版、企业版和高校版。 对于这部分知识我建议各位直接观看文档就好了,我这里就不给大家推荐视频了。

SSM框架

如果时间非常紧张,可以直接看Springboot和Mybatis,SpringBoot简化配置,非常好理解,这两个框架学完,就能看懂项目了,理解的深度肯定有限的。

Spring 是一个轻量级的 Java 开发框架,现在已经是最受欢迎的企业级 Java 应用程序开发框架,目前已经更新到 Spring5。

Spring 框架的核心特性是依赖注入(DI)与面向切面编程(AOP)

推荐视频:黑马程序员Spring视频教程,全面深度讲解spring5底层原理黑马的Spring视频课程以讲解 Spring 原理知识为主。但又不同于一般的原理课,基本不翻源码,而是通过各种单元测试和模拟实现,带领学员更为感性地认识 Spring 底层。学完本课程能够收获:培养正确的学习源码方法。

Spring MVC 是一个基于MVC架构,用来简化web应用程序开发的框架,它是 Spring 的一部分,SpringMVC 已经成为目前最主流的 MVC 框架之一。

推荐视频:黑马程序员2022最新SSM框架教程_Spring+SpringMVC+Maven高级+SpringBoot+MyBatisSSM框架课程中共包含5个课程模块,分别是Spring框架、SpringMVC框架、Maven高级、SpringBoot框架、MyBatis-Plus框架。通过本阶段课程的学习,学习者可以掌握大量实用开发技术,企业开发规范,最终实现基于SpringBoot技术实现SSM整合。

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。

在使用传统JDBC时,往往需要写很多JDBC代码,需要自己写SQL语句以及自己装配参数,然后自己对结果集进行封装处理。

而Mybatis则帮我们简化了以上功能,只需要一些配置文件(xml)或是注解即可完成对数据库的查询以及结果的映射封装。

推荐视频:黑马程序员MybatisPlus深入浅出教程,快速上手mybatisplus

学习SSM框架,推荐使用一整套课程进行学习,会有更好的连贯性,而且还会学习整合SSM框架。

整合SSM框架还是比较繁琐的,库森之前学习时就整合了一天,时间紧张的小伙伴可以不用在整合这里花费时间,因为这种整合方式目前也不在流行了,现在直接使用更强大的利器Spring Boot就可以了。

Spring Boot

Spring Boot 采用约定大约配置的方式,大量的减少了配置文件的使用,从而使开发人员不再需要定义样板化的配置。

学习 Spring Boot,推荐雷丰阳老师的 Spring Boot 课程,课程基于 SpringBoot2.3与2.4 版本,包含核心基础、Web原理、单元测试、数据访问、指标监控等章节。

那要不要跳过了 SSM 直接去学习 Spring Boot呢?

如果只是为了使用 Spring Boot,当然可以跳过,毕竟 SSM 配置太繁琐了。

如果想深入学习,尤其是找 Java 开发的工作,面试中会出现很多 Spring 的底层问题,因此还是要学习 SSM 的,如果跳过了不利于学习原理。

推荐视频:springboot零基础到项目实战

单体实战开发

a.传智健康【医疗行业】

传智健康管理系统是一款应用于健康管理机构的业务系统,实现健康管理机构工作内容可视化、患者管理专业化、健康评估数字化、健康干预流程化、知识库集成化,增强管理者对健康管理机构运营情况的了解。 项目提供了权限、报表、分布式调用等多种解决方案。

前端技术栈:htmls;bootstrap;elementui;Vue.js;ajax 分布式架构及 权限技术栈:zookeeper+dubbo;SpringMVC;SpringSecurity 分布式版本控制及报表技术栈: Git;Apach

推荐视频:黑马程序员Java项目《传智健康》本视频内容涉及到zookeeper了,这里边的zookeeper是作为dubbo的registry使用了,所以 更多的是配置层面的东西,配置完之后,就是正常使用了;当然zookeeper可以作为分布式锁来保证数据的安全,这个里边好像就没有体现了;建议各位小伙伴们目前来说跟着做了解即可,后续有学习到的地方。

b.瑞吉外卖【生活服务】

以当前热门的外卖点餐为业务基础,业务真实、实用、广泛。基于流行的Spring Boot、mybatis plus等技术框架进行开发,带领学员体验真实项目开发流程、需求分析过程和代码实现过程。学完本课程能够收获:锻炼需求分析能力、编码能力、bug调试能力,增长开发经验。 推荐视频:黑马程序员Java项目实战《瑞吉外卖》

本套课程我认为有如下三大亮点:

技术实用,和企业接轨: 本课程的技术选型采用目前企业主流技术框架开发,和企业无缝衔接。通过本课程的学习,可以熟练掌握Spring Boot、Mybatis Plus、Redis等技术的应用。业务简单,便于上手: 本课程涉及的业务为餐饮企业外卖类业务,业务学习成本低,可以快速上手,吸收效果比较好。讲解通俗易懂: 本课程讲解是站在初学者角度来考虑问题,讲解通俗易懂,深入浅出。通过本课程的学习,可以了解企业软件开发的整体流程,提高需求分析能力、接口设计能力、编码能力,增长开发经验,为后续的就业提供有力支撑。

第五阶段:服务器中间件

学完上面的内容,我们已经具备实际项目的开发能力了,但是要解决些复杂的业务场景,我们还要学习Redis、MQ、Elasticsearch这些中间件。

Redis

Redis 是一个 key-value 存储系统,是跨平台的非关系型数据库,可用作数据库,高速缓存和消息队列代理。

Redis作为当下主流的缓存技术,已经成为互联网企业的不二首选。

视频推荐:Redis 6 入门到精通 超详细 教程本套视频教程采用Redis 6.2.1版本,内容由浅入深,循序渐进,从Redis的基本概念开启讲解,内容涵盖:Redis安装与部署、Redis常用数据类型操作和底层结构、Redis客户端Jedis和整合SpringBoot项目、Redis事务和锁,Redis持久化RDB和AOF、Redis主从复制和集群、Redis应用中的问题和解决方案(缓存穿透、击穿、雪崩、分布式锁)、Redis的新数据类型以及Redis 6的新特性等。

书籍推荐:《Redis设计与实现》这本书描述的知识点很丰富,覆盖很全,里面提到特性较多,有不少我们也没用过 🙂 每个命令内部的机制的介绍很不错,很多估计也是首次有详细文档介绍。

其他资源:

Redis 设计与实现在线版:Redis 设计与实现

查询Redis命令的中文网站:Redis中文教程

MQ

MQ(Message Queue)是一种跨进程的通信机制,用于传递消息。通俗点说,就是一个先进先出的数据结构。MQ有三大主要作用分别为解耦、异步、削峰/限流。

目前业界有很多MQ产品,比较出名的有以下四种:

我最开始学习的是RabbitMQ,因为做的项目中使用到了,小伙伴们根据喜好或者项目需要,选择一款MQ学习就可以了。

推荐视频:尚硅谷RabbitMQ教程RabbitMQ是程序员的必备技能,本套视频教程适合具备Java开发经验的中高级程序员,分为“入门”、“核心”、“高级”、“集群”四大部分依次讲授:RabbitMQ的环境搭建、消息的发送与接收、消息确认、延迟队列、死信队列、优先队列、惰性队列、与SpringBoot集成、集群等,让你快速且深入地掌握RabbitMQ!

Elasticsearch

全文搜索属于最常见的需求,开源的 Elasticsearch是目前全文搜索引擎的首选。

它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。

Elasticsearch的底层是开源库 Lucene。但是,必须自己写代码去调用Lucene的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。

推荐视频:【尚硅谷】ElasticSearch教程入门到精通(基于ELK技术栈elasticsearch 7.x+8.x新特性)本套教程分别讲解了Elasticsearch 7.x和8.x,兼顾了主流应用和前沿技术。

教程第一部分(p01-p62):由浅入深讲解了Elasticsearch7.8的开发应用、核心原理以及与其他经典数据分析引擎Spark、Flink的集成方式等。并重点讲解了Elasticsearch的优化和常见面试题。

教程第二部分(p63-p103):教程从实操、应用、特性三大方面对Elasticsearch8.1进行了全面讲解,内容囊括了:新老版本的对比及使用上的变化,Elasticsearch8.1的部署演示及注意事项,并着重介绍了安全认证的软件集成访问,Elasticsearch的核心功能及评分机制的公式,Elasticsearch的优化和特性等。

项目实践

学完了这些,就可以把这些技术整合起来做个项目。

尚硅谷入门项目—尚筹网项目教程:

①从单一架构到分布式架构的过渡阶段,适合学完Ssm框架后,需要通过项目巩固所学知识技能,并平滑过渡到分布式开发的小伙伴

②前端会员系统是基于SpringBoot+SpringCloud的微服务架构,使用了SpringCloud的Eureka、Ribbon、Feign、Zuul等基本组件搭建了基础开发环境

③后台管理系统是基于Ssm整合的单一架构,使用SpringSecurity进行权限控制、使用zTree实现树形结构数据在页面的显示,并通过MyBatis的PageHelper插件实现分页。

推荐视频:尚硅谷尚筹网Java项目实战开发教程(含SSM框架,微服务架构,封捷主讲)整个课程分后台管理系统和前台会员系统两部分: 1.后台管理系统是基于SSM整合的单一架构 2.前台会员系统是基于SpringBoot+SpringCloud的微服务架构

尚硅谷微服务项目

1.谷粒学苑项目教程:

①系统后端接口部分,使用目前流行的SpringBoot+SpringCloud进行微服务架构,使用Feign、Gateway、Hystrix,以及阿里巴巴的Nacos等组件搭建了项目的基础环境

②系统前端部分,使用主流的前端框架Vue,使用Es6的开发规范,采用模块化的开发模式,搭建页面环境使用了Nuxt框架和vue-admin-template模板,使用Element-ui进行页面布局 。

推荐视频:尚硅谷_谷粒学苑-微服务+全栈在线教育实战项目前端部分,使用主流的前端框架Vue,使用Es6的开发规范,采用模块化的开发模式。 后端部分,使用目前流行的SpringBoot+SpringCloud进行微服务架构,使用Feign、Gateway、Hystrix,以及阿里巴巴的Nacos等组件搭建了项目的基础环境。

补充一点,现在的服务器基本都是Linux系统,将项目部署在服务器,学习些基本的Linux命令是必不可少的。

推荐视频:【小白入门 通俗易懂】2021韩顺平

Linux命令在线查询:Linux命令搜索引擎 命令,Linux Linux命令搜索引擎 命令详解:最专业的Linux命令大全,内容包含Linux命令手册、详解、学习,值得收藏的Linux命令速查手册。 – Linux 命令搜索引擎

第六阶段:微服务和分布式

对于实习和校招的小伙伴来讲,学好前五阶段的技术知识,再深入学习个技术点就可以了,如果还有时间和精力的小伙伴,可以学习微服务和分布式的内容。

Spring Cloud

Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot框架。

准确的说,Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的开发便利性简化了分布式系统的开发,比如服务发现、服务网关、服务路由、链路追踪等。

推荐视频:SpringCloud框架开发教程SpringCloudAlibaba、RabbitMQ、Docker、Redis、Elasticsearch等众多行业大厂必备技术一网打尽。 实用篇、高级篇、面试篇分层次教学,由易到难,层层推进,高潮不断!

Dubbo

值得一提的是,还有阿里开源Dubbo,Dubbo一个高性能优秀的服务框架。简单地说,Dubbo是一个基于Spring的RPC(远程过程调用)框架,能够实现服务的远程调用、服务的治理。

至于Spring Cloud 和Dubbo 有什么区别,大家可以搜索下。这里用网络上一个台式电脑的比喻来说就是:Dubbo 是品牌机,Spring Cloud 是组装机。

推荐视频:黑马程序员Dubbo快速入门Dubbo 是一款高性能、轻量级的开源Java RPC框架,提供面向接口代理的高性能RPC调用、智能负载均衡、服务自动注册和发现、运行期流量调度、可视化服务治理和运维等功能。

ZooKeeper

ZooKeeper是一个高可用的分布式管理与协调框架,基于ZAB算法(原子消息广播协议)的实现。该框架能够保证分布式环境中数据的一致性,使得ZooKeeper成为了解决分布式一致性问题的利器。

推荐视频:尚硅谷Zookeeper教程(zookeeper框架精讲)Zookeeper主要应用于大数据开发中的,统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等场景。该框架相当于大数据框架中的润滑剂。是大数据大数据开发工程师要会的框架之一。本套课程讲解了,Zookeeper的集群安装、选举机制、监听器原理、写数据流程、Shell命令行操作、客户端API操作、服务器节点动态上下线综合案例以及企业真实面试题。

第七阶段:项目实战

SaaSiHRM【企业服务】

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

推荐视频:黑马程序员Java项目SaaS移动办公完整版《iHRM 人力资源管理系统》,跨行业SaaS办公整合性解决方案iHRM是一款基于SaaS平台的人力资源管理系统, 企业通过该系统可以完成员工管理、审批管理、考勤管理、社保公积金管理、薪资管理等功能,为企业的人力资源管理提供一站式解决方案。

好客租房【生活服务】

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

推荐视频:黑马程序员Java项目《好客租房》,Java企业级解决方案(Spring全家桶+分布式解决方案+微信授权+爬虫解决方案等)《好客租房项目》采用SOA架构思想进行设计,采用SpringBoot、SpringMVC、Mybatis、Dubbo等技术框架实现,好客租房是直接促成房东与租户对接的生活服务平台,他包含房东发布房源,租户多维度寻找房源,智能匹配房源,近期行情查询等功能。减少中间环节产生的费用,提高房东与租户匹配的成功率。

万信金融【金融行业】

万信金融采用国家政策允许的银行存管模式,为用户提供方便、快捷、安心的P2P金融服务。项目包括交易平台和业务支撑两个部分,采用先进的互联网分布式系统架构进行研发,保证了双方交易的安全性、快捷性及稳定性。 课程采用微服务技术、分布式系统配置、数据库分库分表、服务链路追踪等10+技术解决方案,带你轻松踏入金融行业!

推荐视频:黑马程序员Java项目《万信金融》企业级开发实战,全网最全面的Java互联网金融行业解决方案万信金融是一个P2P(person-to-person)金融平台, 采用银行存管模式,为用户提供方便、快捷、 安心的P2P金融服务。项目包括交易平台和业务支撑两个部分,交易平台主要实现理财服务,包括:借钱、出借等模块;业务支撑包括:标的管理、对账管理、风控管理等模块,项目采用先进的互联网分布式系统架构进行研发,保证了P2P双方交易的安全性、快捷性及稳定性。

闪聚支付【聚合支付】

闪聚支付是一个提供聚合支付的平台,通过线上聚合收银台(开放API),线下C2B一码多付、线下B2C商家扫码的方式开展业务。平台应以SaaS服务形式提供给各商户订单管理、门店管理、财务数据统计等基础服务,还以支付为入口,通过广告、营销、金融等服务,充分掌握RESTful+Dubbo 整合解决方案,微服务 统一认证、授权,SaaS用户体系等等10+解决方案。

推荐视频:黑马程序员Java大型分布式微服务闪聚支付项目,Java移动支付全生态系统,掌握大厂支付核心技术闪聚支付是一个提供聚合支付的平台,目前主要的做法是线上聚合收银台(开放API),线下C2B一码多付、B2C商家扫码。闪聚支付不仅应以SaaS服务形式,为各商户提供订单管理、门店管理、财务数据统计等基础服务,还以支付为入口,通过广告、营销、金融等服务,构建一个移动支付的全生态系统。

第八阶段:进阶优化

学会前面这些,我们就可以独立完成一个小项目,独立完成项目组分配给你的开发任务。

但是这还不足以写出好的代码,我们要想写出好的代码,还需要学习设计模式,学习多线程,以及JVM的内部原理等。同样,这些也是面试的必考点。

设计模式的书籍推荐《HeadFirst设计模式》,这是一本图文并茂的书籍,适合入门。

JVM 的书籍推荐《深入理解 Java 虚拟机》,这本书是 Java 开发者必看的书,很多 JVM 的文章都是来自这本书。

我想学习后端,后端的学习路线是怎么样的呢?

Java 并发方面,可以看《 Java 并发编程的艺术》,这本书深入到JVM、CPU层面讲解了 Java 并发框架、线程池的原理等,面对面试足够了;还有《并发编程实战》,这是一本不错的 Java 并发参考手册。

第九阶段:面试准备

尚硅谷出了三季的面试视频,我看过第二季,周阳老师讲的还不错,都是大厂常考常问的点,视频链接如下。

第一季是JavaSE、SSM、框架高级、电商项目中的基础知识点。每个视频由浅入深的讲解,帮助大家更好地应对面试,并全方位掌握Java的核心技术点。

尚硅谷经典Java面试题第一季(java面试精讲)

第二季主要是JUC多线程并发、JVM和GC等大厂笔试中会考、面试中会问、工作中会用的高频难点知识。

尚硅谷Java大厂面试题第二季(java面试必学,周阳主讲)

第三季的内容也是各大厂常考常问的高频经典Java知识,包括JUC的AQS,Spring循环依赖和三级缓存,Redis内存打满、分布式锁和过期淘汰策略,以及数据结构和手写算法等多个技术维度,涵盖面广内容深,题目困难要求高。

尚硅谷2021逆袭版Java面试题第三季(java大厂面试题,周阳主讲)

除了上述关于Java开发知识的面试准备之外,还要刷一刷算法题。大厂最爱考算法题,从笔试到每一轮的面试,都会考察的。为什么要刷题,因为面试官出的题基本上是在书上或者网上看到的,面试官也没有时间研究新题,所以多刷题命中率很高的。

推荐一本书,《剑指Offer》,面试中经常问到这本书上的算法题或者变形题,我刷了两遍,Python一遍,Java一遍,都整理了笔记,虽然这本书中的算法题随便一搜就能搜出大量博客,但是还是书中讲的详细,提供的解题方法多,带领读者思考。

最后再推荐一个学习网站,LeetCode,可能大家也都听说过,是一个刷算法题的网站,支持Java、Python、C++等各种语言,题目分为简单、中等和困难三种模式。

刚开始刷算法题,吃力是正常的,所以大家不要怀疑自己智商。知乎上经常看到这样的问题:“初刷leecode时会怀疑自己智商吗”“刷leetcode吃力正常吗”“leetcode刷了忘怎么办”…… 这都是正常的,除了天才和绝顶聪明的人之外,我们大家都一样,都会刷了忘忘了刷,也会做不出来需要看看答案。。。

我的建议是:

把简单题和中等题多刷一些,hard 的就不要勉强自己了,hard的不会也正常 按类型刷题,先刷数组,然后链表,然后二叉树、动态规划等等 做完一道题,不要以“通过”就满足,再想想有没有更优的解法,多想几遍加深印象 反复刷,尤其是面试前要反复刷,使自己在做题的一种氛围中 中文网址:

题库 – 力扣 (LeetCode)

总结

面对这样一份长长的路线图,我想给位小伙伴们可能会缺乏耐心、急于求成。是啊要学的东西那么多,哪能在Java基础/数据结构算法上浪费太多时间,要不怎么能学的完呢!但是昨天刷到一位博主的话送给大家共勉:能“坐的住”“去学和不怕”学得慢“的人最终一定会有所成就,要学的知识非常多,但我现在也要慢下来,哪怕就完成一个Java小程序,哪怕花费一天就阅读了Java的面向对象的知识,认真学习,认真写文章做好输出,相信我们终将成为技术大佬。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务