2020年,Java程序员应该学习哪些技术呢

这是我认为 Java 开发人员应该在 2020 年学习的东西,很可能你已经了解了其中的大多数,但是更好地学习它们并进行深入研究不会对你有害处的 。
1.容器(Docker 和 Kubernetes)
【2020年,Java程序员应该学习哪些技术呢】你可能已经听说过 Docker 和 Kubernetes 等容器技术,以及它对 DevOps 团队的影响 。Kubernetes 是你可以学习的最重要的工具之一,并且将陪伴你的整个职业生涯 。
如今,无论是大型企业还是小型创业公司,几乎每个开发团队都使用 Docker 和 Kubernetes 。可以肯定地说,如果你现在开始学习,很有可能在工作中的某个时候用到 Docker 或 Kubernetes 。
简而言之,无论你是初级 Java 开发人员还是经验丰富的资深人士,拥有 Docker 和 Kubernetes 知识对于你的职业发展和工作变动都是至关重要的 。
2.云平台(AWS 、GCP 或 Azure)
除了容器,云是我认为每一位软件开发人员都应该在 2020 年学习的另一件事 。各种规模和领域的公司现在都在将其环境迁移到云中,以节省成本和更好的可扩展性,这意味着你迟早要需要使用云原生应用程序 。
它们对于数据科学,机器学习和人工智能领域中的迅猛发展是紧密相连的,因为只有云才能提供那些资源匮乏的模型所需的计算能力 。
像 Amazon Web Service(AWS),Google Cloud Platform(GCP)或 Microsoft Azure 这样的学习型云平台不仅在你当前的工作上 。你不需要学习所有这些知识,实际上,学习一种知识意味着你将对其他事物有一个公平的想法 。
如果你要学习云平台相关的知识,那么我首先建议你学习 AWS,因为它是最流行和最成熟的云平台 。
3. Git
Git 和 Github 已经使用有一段时间了,虽然我过去在 IDEA 中使用过 Git,但是在命令行上我对 Git 还不是很熟悉 。
为什么到目前为止我还没有掌握 Git?只是因为我还不需要它,我偶尔会从 Github 下载项目并从 IDEA 运行,但是我仍然是 Git 新手 。
从现在开始,大多数公司都将其项目从 SVN,CVS 迁移到 Git,这也是学习和掌握 Git 的重要时机 。
4.单元测试(JUnit 和 Mockito)
我想在来年改进的另一个领域,Java 程序员可以使用许多新的框架和工具进行单元测试,并对其应用程序进行集成测试,例如用于模拟对象的 Mockito 和 PowerMock,用于自动集成测试的 Robot Framework 和Cucumber,当然还包括新的 JUnit 5 库 。
在这方面有很多东西要学习,如果你可以花一些时间来提高单元测试技能,那么不仅可以提高你的编码专业知识,而且可以使你成为更专业的开发人员,每家公司都将以此为形式 。
5.从 JDK 9 到 13 的新 Java 功能
正如我过去所说的那样,我像许多 Java 开发人员一样仍在努力追赶六个月发布一次的 Java 版本 。我今年花了一些时间学习 Java 9、10、11 和 12 的新功能,但是对我来说,直到我使用 LTS 发行版 Java 13 之前,Java 11 仍然是优先事项 。
JDK 9 在模块,拼图,反应流,Process API,HTTP2 客户端,JShell 和 API 改进(如集合工厂方法)方面带来了很多好处,我非常希望能尽早学习它们 。
同样,JDK 10 带来了var,使你可以进行动态类型化和 GC 改进 。然后,在JDK 12 和 JDK 13 的 Switch 表达式、文本块 。
6. Spring Framework 5+
自从我们看到 Spring 和 Java Ecosystem 进行了许多重大升级以来已经有两年了,Spring Framework 5.0 就是其中之一 。我一直在听说一些新功能,例如 Spring 5 的反应式编程模型,Java 8 和 9 的采用,某些单元测试的改进等,但是我还没有尝试过 。
无论如何,我已经开始学习 Spring 5.0.0,并将保持这种势头在 2020 年持续下去 。如果你使用 Spring,可能是学习 Spring 5.0 的最佳时机 。
7. DevOps(Jenkins)
去年,随着越来越多的公司进入DevOps并采用持续的集成和部署,这是另一个吸引我的领域 。
DevOps 非常庞大,你需要学习很多工具和原理,这就是让很多开发人员不知所措的原因,但你不必担心 。
8. RESTful Web 服务
我想在 2020 年继续改进的另一件事是我对编写 REST API 以及使用 Spring 使用 Java 实现安全且可扩展的RESTful Web Service 的了解 。
这是 Java 世界中非常需要的一项技能,并且很少有人同时了解 Java 和 REST 。如果你也一样,并且想学习如何使用Spring 开发 RESTful Web Service,那么让我们一起在 2020 学习 。
9. Spring Security 5.0(OAuth)
Spring Security 是一个能够为基于 Spring 的企业应用系统提供声明式的安全访问控制解决方案的安全框架 。它提供了一组可以在 Spring 应用上下文中配置的 Bean,充分利用了 Spring IoC(控制反转),DI(依赖注入)和 AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作 。