2021最新Java后端开发工程师学习路线,千万别错过~

作者:幻好

开发者学习路线汇总请点击: 恒生LIGHT云社区

本文为 Java 开发工程师学习路线,希望对新手的学习成长能有所帮助。

计算机基础

在我们学习编程中,常常认为实践是最重要的,而计算机相关的一些基础知识很容易被我们忽视。

如果在实际的开发中对基础知识没有很好的掌握,很容易走很多弯路,遇到问题可能无法定位。

在应用框架的学习时如果感觉吃力,可能非常有必要回过头来再巩固对应的基础知识。

所以学习好相关理论知识,是成为一个合格后端开发工程师的基石。

如果时间充足,对于基础知识可以看一些教材书籍。

如果想快速了解相关知识,可以在开源社区寻找一些大佬的项目进行充电。推荐以下项目:

https://github.com/CyC2018/CS-Notes

image-20210618152205730.png

JAVA

学习 Java 的过程中,一定要掌握几个重要的核心知识:集合,多线程,IO,JVM。

当知识点都掌握后,可以读一读相关的源码,如果读懂了,你会发现设计者的有多强,以及设计的巧妙。

基础

如果你之前没有学习过 Java 的话,可以去B站搜索相关的教程视频,可以带你快速入门。

推荐一些 Java 基础相关的书籍,也能带你快速入门:

  • 如果你是新手,推荐可以先读一读《Head First Java》这本书,内容很轻松有趣,适合新手入门

v2-0a99267e7504297d99b6dac1815ac8cf_r.jpg

  • 如果想仔细学习的话,可以阅读《Java 核心技术卷 1/卷 2》,书比较厚,但是内容比较全,读起来需要花费比较多的时间,适合作为工具书使用。

    s29063065.jpg

多线程

多线程这部分内容稍微会比较难以理解和实践,如果是新手可以找一些网上的实例练练手,主要是理解线程到底是怎么创建,作用是什么。一定要多实践,才能充分理解相关知识点。

推荐可以去网上观看相关专题的视频,或者看相关的书进行学习:

  • 推荐阅读《深入浅出 Java 多线程》这本书,这本书是几位大厂的大佬开源的,阅读了大量的 Java 多线程方面的书籍和博客,然后再加上他们的经验总结、Demo 实例、源码解析。 地址: http://concurrent.redspider.group/Author.html
  • 《Java并发编程之美》通过图文结合、通俗易懂的讲解方式帮助大家完成多线程并发编程从入门到实践的学习,这本书还是非常适合我们用来学习 Java 多线程的,对于刚入门的新手可以好好研究。

s29895207.jpg

JVM

对于Java开发工程师来说,掌握JVM相关的知识已经是必备的要素,尤其是其垃圾回收、内存管理等,越深入越好。

在实际的工作中,系统可能出现OOM内存溢出的问题,我们要了解相关原理,并能快速定位问题并解决。

只有把 JVM 学懂,才能完全把 Java 学通。在实际编码中,一定要联系我们学过的原理,才能加深我们的理解。

如果需要专题学习可以去网上找相关专题教程,还可以看相关专题书籍:

  • 书籍推荐《深入理解Java虚拟机(第3版)》,如果你想要在 Java 领域学习的更深,你都离不开这本书籍。这本书里面还有一些需要自己实践的东西,我建议你也跟着实践一下。 s33531736.jpg
JVM 内存结构

需要学习并了解 JVM 的 class 文件格式、运行时数据区:堆、栈、方法区、直接内存、运行时常量池等相关概念原理。

JVM 垃圾回收

需要学习并掌握GC 算法(标记清除、引用计数、复制、标记压缩、分代回收、增量式回收)、GC 参数、对象存活的判定、垃圾收集器(CMS、G1、ZGC、Epsilon)等相关知识原理

JVM 参数及调优

如果需要对系统运行进行优化,就涉及到 JVM 的参数调优:-Xmx、-Xmn、-Xms、Xss、-XX:SurvivorRatio、-XX:PermSize、-XX:MaxPermSize、-XX:MaxTenuringThreshold

我们需要学习并理解这些参数的含义,并了解相关的用途。

设计模式

对于设计模式,需要学习并了解23种设计模式:

创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。

结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。

行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter 模式)、状态模式、策略模式、职责链模式(责任链模式)、访问者模式。

数据库

对于数据的学习,需要学习关系型数据(如:MySQL、Orcale)和非关系数据库(如:Redis、Mongo)。

学习数据的基础知识,以及相关查询优化,底层的设计原理,分库分表等知识。

MySQL

对于 MySQL 的学习,需要我们学习如何进行增删改查操作,能够对 SQL 语句进行优化,学习并掌握数据库事务和隔离级别、数据库锁、数据库主从搭建、binlog、redolog等知识。

常用的框架

Spring

学习 Spring 框架,首先要搞懂 AOP 和 IOC 这两个概念,然后是 bean 的作用域与生命周期、SpringMVC 工作原理详解等等知识点都是非常重要的,一定要搞懂。

学习 Spring 的话,可以多看看 《Spring 的官方文档》 ,写的很详细。你可以在这里找到 Spring 全家桶的学习资源。

image-20210627174114014.png

Spring Boot

学习完 Spring 的基础知识和相关原理后,就可以开始学习 Spring Boot 了,相比于 Spring 来说,Spring Boot 要更容易上手一些!如果你只是想使用 Spring Boot 来做项目的话,直接学 Spring Boot 就可以了,目前很多企业都在使用 Spring Boot 框架开发项目。

学习 Spring Boot 的话,还是建议可以多看看 《Spring Boot 的官方文档》 ,写的很详细。

image-20210627174143236.png

分布式

对于分布式相关知识的学习,主要围绕着数据一致性、服务治理、服务降级等,为了解决复杂系统可能出现问题进行学习与研究。

分布式事务

对于分布式事务,我们需要学习并掌握 2PC、3PC、CAP、BASE、 可靠消息最终一致性、最大努力通知、TCC等相关的理论知识原理。

Dubbo

对于分布式系统的学习,必不可少的需要学习的 RPC 框架 Dubbo,主要针对其服务注册、服务发现,服务治理的问题进行深入研究,由于属于阿里开源的项目,可以很快的去官网学习相关文档。

分布式数据库

对于分布式数据库,我们得先去了解怎样打造一个分布式数据库、什么时候需要分布式数据库等相关问题。

还需要掌握一些中间件工具 mycat、otter、HBase 等。

分布式缓存

对于分布式中的缓存,我们需要考虑缓存一致性、缓存命中率、缓存冗余的问题,需要了解其相关的解决方案。

微服务

微服务需要学习微服务的整体架构,以及各个组件的工作原理。

推荐学习 Spring Cloud Alibaba 的开源框架,能够使用并掌握相关组件的原理。

线上问题排查

对于线上系统可能出现的常见问题,我们需要知道如何快速定位,如何进行解决。

如 OOM 可能出现场景,出现 OOM 需要我们如何进行解决。

总结

对于 Java 开发工程师来说,需要学习的东西还是挺多了,而且技术的更迭也是日新月异的,要一直保持一颗不断学习的心,才能立于不败之地。

本文对 Java开发工程师所需要学习的知识做一个指引,不积跬步无以至千里!

更多学习路线请见: 开发者学习路线汇总(持续更新)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值