写点什么

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

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

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

关注

评论 1 条评论

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

OpenHarmony系统使用gdb调试init

OpenHarmony开发者

openha

功能上新|一键归因分析,快速洞察指标波动原因

Kyligence

指标中台 归因分析

基于ERNIELayout&pdfplumber-UIE的多方案学术论文信息抽取

汀丶人工智能

nlp 信息抽取 2022年终总结 2023新展望

Koordinator v1.1发布:负载感知与干扰检测采集

阿里巴巴云原生

阿里云 云原生 Koordinator

2023我的前端面试小结

loveX001

JavaScript

web前端技术应该怎么规划学习?

小谷哥

AIGC最近很火,给大家推荐一个已经有1000位开发者使用的中文aigc开源模型,包括ai画图、ai聊天

AIGC布道者

人工智能 机器学习 AI AIGC AI绘画

一体化运维,降本增效!秒云助力海富通基金打造智能运维平台

MIAOYUN

运维 金融 智能运维 IT解决方案

ARM 算子性能优化上手指南

MegEngineBot

深度学习 开源 性能优化 MegEngine

深圳大数据培训机构怎么选

小谷哥

尚硅谷&腾讯云EMR实时数仓教程发布

小谷哥

SPL 实现电力高频时序数据实时存储统计

石臻臻的杂货铺

SPL

小心被坑死!如果你还在用 Zookeeper 做注册中心

风铃架构日知录

Java zookeeper 程序人生 后端 注册中心

【架构设计】你的应用该如何分层呢?

JAVA旭阳

Java 架构

贴吧低代码高性能规则引擎设计

百度Geek说

低代码 规则引擎 平台化 企业号 1 月 PK 榜

4天带你上手HarmonyOS ArkUI开发——《HarmonyOS ArkUI入门训练营之健康生活实战》

HarmonyOS开发者

HarmonyOS

Rancher RFO 正式 GA

openEuler

Linux 开源 Kubernetes 操作系统 rancher

如何通过C#/VB.NET将格式应用于 Word 中的字符

在下毛毛雨

C# .net word文档 字符格式

校招前端二面常考react面试题(边面边更)

beifeng1996

React

前端培训机构如何学习开发技术

小谷哥

云时代,最好用的MySQL客户端工具推荐

NineData

MySQL 数据库 GUI

JavaScript刷LeetCode拿offer-树的遍历

js2030code

JavaScript LeetCode

用javascript分类刷leetcode13.单调栈(图文视频讲解)

js2030code

JavaScript LeetCode

2023我的前端面试小结

loveX001

JavaScript

深入理解JS作用域链与执行上下文

loveX001

JavaScript

React循环DOM时为什么需要添加key

beifeng1996

React

Reids的BigKey和HotKey

小小怪下士

Java redis 程序员

JavaScript刷LeetCode拿offer-栈相关题目

js2030code

JavaScript LeetCode

经常会采坑的javascript原型应试题

loveX001

JavaScript

React的useLayoutEffect和useEffect执行时机有什么不同

beifeng1996

React

国内首款支持gRPC+WebSocket调试的工具——Apipost

不想敲代码

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