【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

2021 Java 开发者路线图

  • 2021-11-23
  • 本文字数:2647 字

    阅读完需:约 9 分钟

2021 Java开发者路线图

 成为一名合格的 Java 开发人员需要多长时间?十个月、十周还是一天就能速成?


你可能会在各种线上社区找到关于这个问题的各种奇妙而模糊的答案,因为这完全取决于个人的学习能力。但是,一个人要学会 Java,所用的时间最长不会超过 3 个月到 12 个月。


本文这份路线图的核心目标就是帮助你确定下一步具体要学习哪些内容,而不是鼓励你选择一些流行的东西来跟风。你会在文中找到可以帮助你成为 Java 开发人员的一系列技术、工具和库。有了这份列表,你在选择具体工具的时候就能知道应该选哪一个了。

 

2021 年 Java 开发人员成长路线图


 

有些读者可能已经看过了我们之前关于 Java 开发人员路线图的博文。而这次我们会分享一份对你的旅程非常重要的扩展学习列表(如图所示)。这份路线图包括了你应该了解的所有必学内容、有益知识和可能用得上的技术、工具和库。

 

“学习和了解 Java”是什么意思?

简单来说,能够使用 Java 解决各种问题就表明你已经了解 Java 了。这些问题可能出现在 Java 开发人员的面试中,或者与某项具体的技术任务(例如创建项目或知道如何编写满足你要求的代码)有关。

 

当然,你对 Java 的了解程度也会随着时间推移而不断深化,因为你希望不断丰富自己的职业档案。但是你什么时候才能在简历中写上你会用 Java 呢?那就要等你彻底理解 Core Java 了。这是成为 Java 开发人员要迈出的第一步。这时你可能会想,“Core Java 都包含哪些东西呢?”。

 

具体来说,Core Java 包含了这种语言的基础。这些基础包括基本类型和对象、构造(循环、特殊运算符、分支)、包装类、I/O 流、多线程、OOP 概念和异常处理。它还包括库、框架、安全性、数据库访问、网络、GUI 开发和 XML 解析。

 

因此,你的首要目标应该是学习 Java 的基础知识。

2021 年成为 Java 开发人员所需的首要技能

在 2021 年,想要成为一名合格的 Java 开发人员应该做哪些准备呢?在进一步学习工具、API、框架、测试和数据库之前,我们先来了解成为 Java 开发人员所需的一系列必备技能。

  1. Linux

Linux 是一种广泛用于服务器、数据库、网站和应用程序的操作系统。Linux 命令行对开发人员来说是非常重要的工具。因此,强烈建议大家学习各种 Linux 命令和概念,特别是那些用于文件、磁盘空间检查、网络和进程管理的命令。

  1. Git 和 Github

Git 和 Github 分别是用于管理 Git 存储库的流行版本控制系统和基于云的托管服务。Git 和 Github 都为开发人员提供了好用的版本控制功能,可以帮助项目实现持续开发,而不必担心与其他部分混淆。作为一名开发人员,你需要熟悉一些基本概念,例如 master、分支、检查推送或拉取以及 checkout。除此之外,开发人员还应该了解 git diff 和 git commit 等命令。

  1. HTTP/HTTPS

HTTP/HTTPS 协议是互联网的基础。对于开发人员来说,我们必须了解它们之间的区别、它们的工作机制、不同 HTTP 方法的区别、安全性的差异、它们各自使用的端口以及两者目的差异。

  1. 数据结构和算法

程序员使用数据结构来存储和组织数据。另一方面,程序员使用算法来操作数据结构中的数据。你对数据结构和算法以及它们的工作机制了解得越多,你的 Java 程序员职业生涯就越顺利。你必须熟悉链表、数组、二叉树、堆栈、队列、图、哈希表等概念以及动态编程等技术。

  1. SQL

Java 程序员应该了解的另一项技术技能是 SQL。在 SQL 的帮助下,后端问题解决起来会轻松许多。SQL 提供了用于访问和处理存储在 Java 数据库中数据的 API。它可以通过 DriverManager 建立一个连接,提供 SQL 类型到接口和类的标准映射,提供完整数据库的综合信息等。在了解 SQL 的过程中,你会逐渐学会查询数据库和存储过程的相关知识,并搞明白如何确定问题出在数据库层还是 Java 层。SQL 是程序员在职业生涯中很容易学习和使用的一项技能。

  1. 设计模式

设计模式是对软件中一组常见问题的解决方案具体描述。它提供了一种行业标准方法来应对那些反复出现的问题。使用设计模式可增强可重用性,从而实现健壮的代码,同时降低软件的拥有成本。此外,设计模式让代码更容易理解和调试。Java 的设计模式分为三大类,即创建型、结构型和行为型。深入了解 Java 的各种设计模式后,你在遇到具体问题后就能判断应该使用哪一种模式,以及何时使用它们。

Java 程序员的分步路线图

现在我们已经对 Java 程序员应该了解哪些技能有了基本的概念。现在我们就可以进一步探索路线图,找出可以帮助你成为专业 Java 开发人员的工具、库、API 或框架了。



 1.准备工作

a.Java

b.Gradle 或 Maven

C.SQL


2.CLI 工具

a.Javac

b.Jar

c.Jstat

e.Jdeps


3.Web 框架+路由

a.Spring

b.Play Framework

c.Spark

d.Jersey

c.Spring boot


4.数据库

a.关系型数据库

i.SQL Server

ii.c.PostgreSQL

iii.d.MariaDB

iv.MySQL

v.Oracle


b.云数据库

i.CosmosDB

ii.DynamoDB


c.搜索引擎

i.ElasticSearch

ii.Solr

iii.Sphinx


d.NoSQL 数据库

i.MongoDB

ii.Redis

iii.Apache Cassandra

iv.CouchDB


5.ORM

a.Hibernate

b.Eclipse Link

c.Apache OpenJPA


6.缓存

a.Caffeine

b.EHCache

c.ache2k

d.分布式缓存

  • Java-Redis

  • Java-Memcached

  • Commons JCS

7.日志

a.日志框架

  • Houston

  • TinyLog

  • log4j

b.日志管理系统

  • ELK Stack

  • Logstash

  • Loggly.com

  • Retrace

8.实时通信

  • Socket.IO

9.API 客户端

a.REST

  • OkHttp

  • Retrofit

  • GraphQL

10.应用程序服务器

11.有用的东西

a.Bean validation

b.Bouncy castle

c.Gson

d.Apache Shiro

e.JJWT

f.RxJava

12.测试

a.单元、行为、集成、负载测试

  • JUnit

  • CitrusFramework

  • Gatling

  • Tsung

  • Mockito

  • Truth

  • AssertJ

  • JBehave

  • Mock Server

b.端到端测试

  • Selenium

13.静态代码分析

a.Apache Yetus

b.Code DX

c.CodeScene

d.PMD

e.SonarQube

14.任务计划

a.Aurora

b.Elastic job

c.Sundial

d.cron-utils

15.设计模式

a.Singleton(单例模式)

b.Factory(工厂模式)

c.Observer(观察者模式)

d.Decorator(装饰器模式)

e.Adapter(适配器模式)

f.Template Method(模板方法)

g.Mediator(中介者模式)

h.Composite(组合模式)

i.Facade(外观模式)

j.Iterator(迭代器模式)

k.Proxy(代理模式)

16.微服务

a.消息-代理

  • RabbitMQ

  • Apache Kafka

  • ActiveMQ

  • Azure Service Bus

b.消息-总线

  • mabassador

  • rmq

C.框架

  • Apollo

  • Lagom-framework

  • Micronaut

  • eureka

  • Helidon

  • Armeria

d.RPC

  • Protocol Buffers

  • gRPC-Java

  • Thrift 

准备好持续学习

最后一点也是非常重要的,那就是你需要一直学习下去。就算你的进展很慢,也要一步一个脚印向前推进。平均而言,你应该定期拿出大约 1-3 个小时的时间来学习 Java。另外要注意,人们在学习编程时犯的一大错误就是只看书不练习!如果不去实际动手写代码,你就不可能学会编程技能。编程是一项实践活动,想成为专业的 Java 程序员,就开始练习吧。

 

原文链接:

 

https://www.decipherzone.com/blog-detail/java-developers-roadmap-2021

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2021-11-23 12:554911
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 493.1 次阅读, 收获喜欢 1966 次。

关注

评论 1 条评论

发布
用户头像
标题应该改为《2021年12月java开发路线图》
2021-11-23 21:55
回复
没有更多了
发现更多内容

Java中高级核心知识全面解析——常用框架(Spring中都用到了那些设计模式-)

Java 程序员 后端

Java到Kotlin入门,这一篇就够啦,java开发岗高频面试题全解析祖国的花朵

Java 程序员 后端

Java学到什么程度才算精通?,springmvc原理图解

Java 程序员 后端

Java并发系列终结篇:彻底搞懂Java线程池的工作原理(1)

Java 程序员 后端

Java匹马行天下之一顿操作猛如虎,框架作用知多少?,HTTPS面试常问全解析

Java 程序员 后端

Java基础面试题——IO流,Netty时间轮调度算法原理分析

Java 程序员 后端

Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day14,mybatis常见面试题

Java 程序员 后端

Java并发原理抽丝剥茧,读写锁ReadWriteLock实现深入剖析

Java 程序员 后端

Java常用类使用总结,linuxshell教程

Java 程序员 后端

Java基础 - 单列集合,ArrayList,Vector,从零开始学springboot百度网盘

Java 程序员 后端

Java基础16 集合(ArrayList、LinkedList,linux操作系统教程电子版

Java 程序员 后端

Java多态实现原理,java同步锁原理

Java 程序员 后端

Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day20,从java后端到全栈百度云

Java 程序员 后端

Java基础22 网络编程(HTTP和UDP),java基础入门课后编程题答案

Java 程序员 后端

JAVA多线程和并发基础面试问答,吊打面试官你也可以,看完这一篇你就懂了

Java 程序员 后端

Java安全之反序列化回显与内存码,java面试个人规划

Java 程序员 后端

Java实现文件切割拼接,MongoDB数据分布不均的解决方案

Java 程序员 后端

Java中高级核心知识全面解析——JVM,java全套视频教程

Java 程序员 后端

Java中高级核心知识全面解析——常用框架(Spring常用注解

Java 程序员 后端

Java之String重点解析,成功定级腾讯T3-2

Java 程序员 后端

Java基础15 Java常用类,深入剖析

Java 程序员 后端

Java学习笔记——String,java程序开发实战教程在线

Java 程序员 后端

linux中删除特殊文件

入门小站

Linux

java入门基础三(执行语句),Java多线程面试题大全含答案

Java 程序员 后端

Java各种锁详情,java中间件技术及其应用开发

Java 程序员 后端

Java基础 - 正则,Math,Random,零基础学java电子书

Java 程序员 后端

Java基础面试题——IO流(1),mysql数据库开发面试

Java 程序员 后端

Java中高级核心知识全面解析——系统设计(RestFul-API[概念

Java 程序员 后端

java使用poi操作world生成饼图,柱状图,折线图,java微服务架构训练营

Java 程序员 后端

Java学习笔记——内部类,linux底层架构

Java 程序员 后端

Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day34,rabbitmq集群同步原理

Java 程序员 后端

2021 Java开发者路线图_AI&大模型_Mahipal Nehra_InfoQ精选文章