Java程序员应该学习的10件清单

作为程序员,我们最大的挑战是让自己保持最新状态。技术变化非常快,每隔几年你就会看到一个新版本的编程语言和框架出现。

扫码关注《Java学研大本营》,加入读者群,分享更多精彩

当2021 年开始时,我认为 Java 15 是新的,在我完全学习 Java 15 之前,Java 16 和 Java 17 已经出来了。自 JDK 9 以来的所有这些 Java 版本都带有许多令人兴奋的特性,例如文本块、记录、模块、switch case 中的字符串、带有局部变量的 var、API 增强、GC 改进、线程本地握手等等。

我真的很高兴在 2022年学习这些。Spring 框架和 Spring Security 也是如此,我不知道 Spring 4.0 和 Spring Security 4.0 的所有变化,我的项目仍在使用 Spring Security 3.1,我们现在繁荣具有 Spring 和 Spring 安全性的 5.0 版。

在过去的几年里,我的学习速度有点慢了,我还没有设法让自己跟上最新最好的东西,就像我还没有掌握Docker和Kubernetes、JavaScript 框架等新技术一样像Angular和React,单元和集成测试空间的最新变化以及简化结构的新版本,如 Spring、Spring Security 和 Spring Boot。因此,2022 年将是让自己了解微服务等技术方面最重要的事情,改进我的工具集链,以及探索DevOps 和云计算环境,尤其是在 Docker、Kubernetes 和 Jenkins 以及 AWS、Azure 和 Google 云平台上。

2022 年 Java 程序员应该学习什么?

以下是我列出的 2022 年 Java 开发人员应该学习的内容,你很有可能已经了解其中的大部分内容,但更好地学习它们并进行深入研究并没有什么坏处:

1. Git

Git 和 Github 已经有一段时间了,虽然我过去在 Eclipse 中使用过 Git,但我还没有习惯在命令行上使用 Git。

为什么我到目前为止还没有掌握 Git?只是因为我还不需要它。我偶尔会从 Github 下载项目并从 Eclipse 运行,但我仍然是 Git 新手。

从现在开始,大多数公司都在将他们的项目从 SVN、CVS 迁移到 Git,现在是学习和掌握 Git 的时候了。

2. Spring 框架 5+

自从我们看到 Spring 和 Java 生态系统的许多重大升级已经过去几年了,Spring Framework 5.0 就是其中之一。我听说过一些新特性,比如 Spring 5 的响应式编程模型、Java 8 和 9 的采用、一些单元测试的改进等,但我还没有尝试过。

3. 从 JDK 9 到 17 的 Java 新特性

正如我过去所说,我仍在努力赶上每六个月发布一次的 Java 版本和许多 Java 开发人员。今年我花了一些时间学习 Java 9、10、11 和 12 的新特性,但对我来说,Java 11 仍然是我的首要任务,直到我转向 Java 13,这是一个 LTS 版本。

JDK 9 在模块、Jigsaw、Reactive Streams、Process API、HTTP2 客户端、JShell 以及集合工厂方法等 API 改进方面带来了很多好东西,我非常期待尽早学习它们。

同样,JDK 10 带来了 var 来给你一种动态类型和一些 GC 改进的味道。然后你在 JDK 12 和 JDK 13 的 switch case 中有文本块和字符串。

4. 单元测试(JUnit 和 Mockito)

另一个我想在来年改进的领域。有很多新的框架和工具可供 Java 程序员进行单元测试和集成测试他们的应用程序,例如用于模拟对象的 Mockito 和 PowerMock,用于自动化集成测试的 Robot Framework 和 Cucumber,当然还有新的闪亮的 JUnit 5 库.

在这方面有很多东西要学。如果你能花一些时间来提升你的单元测试技能,不仅你的编码专业知识会提高,而且你会成为一个更专业的开发人员,每个公司都在看。

5. Docker 和 Kubernetes

您可能已经听说过有关 Docker 和 Kubernetes 的讨论以及它对 DevOps 团队的影响。起初你可能会想,“啊,我需要学习的又一项新技术”,但我会说 Docker 不仅是另一项技术,而且是真正的游戏规则改变者。

与 Kubernetes 一起,它是您可以学习的最重要的工具之一,并将在您的整个职业生涯中陪伴您。

如今,无论是大型企业还是小型初创公司,几乎每个开发团队都在使用 Docker 和 Kubernetes。可以肯定地说,如果你现在进入劳动力市场,你很可能会在某个时候与 Docker 擦肩而过。

简而言之,无论您是初级 Java 开发人员,还是拥有多年经验的资深老手,掌握 Docker 和 Kubernetes 知识对于您的职业发展和工作转变都至关重要。

6. DevOps(Jenkins)

这是我在去年看到很多牵引力的另一个领域,因为越来越多的公司正在进入 DevOps 并采用持续的一体化和部署。

DevOps 非常庞大,你需要学习很多工具和原理,这让很多人不知所措开发商,但您不必担心。我分享了一个DevOps 路线图,您可以按照自己的速度学习和掌握 DevOps,尤其是 Jenkins。

这意味着,如果您是一位经验丰富的 Java 程序员,并且热衷于管理环境、自动化和改进整体结构,那么您可以成为 DevOps 工程师。

7. RESTful Web 服务

我想在 2022 年继续改进的另一件事是我对编写 REST API 以及实现安全且可扩展的 RESTful Web 服务和云原生的知识微服务在 Java 中使用 Spring。

这是 Java 世界中非常需要的一项技能,同时了解 Java 和 REST 的人并不多。

8. Spring Security 5.0(OAuth)

这是Spring生态系统的第三次重大升级。流行的安全框架第 5 版有几个漏洞修复和一个主要的 OAuth 2 模块,你不能错过。

这是另一个优先事项物品2022 年对我来说,还有 Spring 5.0 框架的东西。

9. Spring Boot 2

Spring Boot 框架还有一个新的发布, Spring Boot 2。如果我在今年完成所有这些目标之后有时间,那么我会花一些时间学习 Spring Boot 2。

10. Angular 2+ 或 React JS

这两个 JavaScript 框架彻底改变了您开发 Web 应用程序的方式。作为一名 Java 开发人员,我使用过 Servlet,JSP,以及客户端的 jQuery,但还没有尝试过使用 Angular 或 React。

11.Android

如果你不知道怎么写安卓应用2022年,那么你缺少一些东西。移动设备是接触大量人群的最佳平台之一,而 Android 可能是编写移动应用程序最流行的平台。

12. Apache Spark 和 Kafka

我想在 2022 年继续深入探索的另一件事是大数据,主要是 Apache Spark 和 Apache Kafka 框架。我不确定我是否有时间看看其他大数据技术,但它是非常好的东西,大数据可能是目前最热门的技术。

13. 微服务

因此,我们已经介绍了 Java 开发人员在 2022 年应该学习的 10 件事,但如果您可以再添加一件事,那么我建议您学习微服务架构。这是与云计算齐头并进的架构,因为它更容易在云中部署和扩展,这也是大多数公司现在使用微服务架构开发应用程序的原因。

由于云原生开发是软件开发的未来,因此学习云计算和微服务架构以及如何用 Java 开发微服务是有意义的。好吧,当涉及到 Java 时,您有很多选择。

例如,您可以选择久经考验的 Spring Boot 和 Spring Cloud 组合来创建微服务。或者,您还可以使用 MicroNaut 等框架和 Quarkus 等平台来开发基于 Kubernetes 的高性能 Java 微服务解决方案。

这就是 Java 程序员在 2022 年应该学习的全部内容。正如我所说,技术变化很快,程序员面临的最大挑战是让自己跟上时代。除了这个列表之外,还有很多其他的东西可以在新的一年里学习,比如学习像 Kotlin 这样的新编程语言,但对我来说,如果我能在 2022 年实现这些目标,我会非常高兴。

Java程序员应该学习的10件清单_第1张图片

参考文章: https://javarevisited.blogspot.com/2017/12/10-things-java-programmers-should-learn.html#axzz53ENLS1RB

推荐书单

1.《名师讲坛:Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)》

购买链接:https://item.jd.com/12793864.html

Java微服务架构是当下流行的软件架构设计方案,可以快速地进行代码编写与开发,维护起来也非常方便。利用微架构技术,可以轻松地实现高可用、分布式、高性能的项目结构开发,同时也更加安全。

《名师讲坛:Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)》一共15章,核心内容为SpringBoot、SpringCloud、Docker、RabbitMQ消息组件。其中,SpringBoot 是SpringMVC技术的延伸,使用它进行程序开发会更简单,服务整合也会更容易。SpringCloud是当前微架构的核心技术方案,属于SpringBoot的技术延伸,它可以整合云服务,基于RabbitMQ和GITHUB进行微服务管理。除此以外,该书还重点分析了OAuth统一认证服务的应用。

《名师讲坛:Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)》适用于从事Java开发且有架构与项目重构需求的读者,也适用于相关技术爱好者,同时也可作为应用型高等院校及培训机构的学习教材。

Java程序员应该学习的10件清单_第2张图片

2.《项目驱动零起点学Java》

购买链接:https://item.jd.com/13607758.html

《项目驱动零起点学Java》贯穿6个完整项目,经过作者多年教学经验提炼而得,项目从小到大、从短到长,可以让读者在练习项目的过程中,快速掌握一系列知识点。

作者是国内知名Java教学者和传播者,一路披荆斩棘,兢兢业业20余年。积累了丰富的“培”“训”经验,也产出了很多优质的教学理论。

Java语言经过数十年的发展,体系逐渐变得庞大而复杂,本书芟繁就简,提炼出了最为重要的知识点,可以让读者轻松上手。本书配套有专栏课程,课程中提供了扩展内容。

《项目驱动零起点学Java》共分 13 章,围绕 6 个项目和 258 个代码示例,分别介绍了走进Java 的世界、变量与数据类型、运算符、流程控制、方法、数组、面向对象、异常、常用类、集合、I/O流、多线程、网络编程相关内容。《项目驱动零起点学Java》总结了马士兵老师从事Java培训十余年来经受了市场检验的教研成果,通过6 个项目以及每章的示例和习题,可以帮助读者快速掌握Java 编程的语法以及算法实现。扫描每章提供的二维码可观看相应章节内容的视频讲解。

Java程序员应该学习的10件清单_第3张图片

精彩回顾

通过自学成为开发者的 9 种方法

怎么做一个有产品意识的软件工程师?

深入理解Docker网络通信原理

扫码关注《Java学研大本营》,加入读者群,分享更多精彩

你可能感兴趣的:(java,开发语言)