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

你们好,我相信你们在新的一年都有一个良好的开端,并准备好制定一个提高自我技术的目标。做为 Java 开发人员,我还制定了一些目标,但愿在今年成为一名更好的 Java 开发人员。java

若是你还没有制定目标,这将帮助你制定 2020 年的目标。做为一名程序员,咱们面临的最大挑战是使本身保持不断学习的状态。技术变化很是快,每两年你就会看到新版本的编程语言和框架。程序员

今年也有不少的变化,每 6 个月更新一次 Java 新版本、Spring 五、Spring Security 5 和 Spring Boot 2,对于 Java 开发人员而言,这多是最繁忙的一年。web

2019 年的时候,我觉得 Java 11 是新的,在我没法彻底学习 Java 11 以前,Java 12 和 Java 13 已经为咱们准备好了。自 JDK 9 以来,全部这些 Java 版本都具备许多使人兴奋的功能,例如文本块(多行字符串),switch 表达式,局部变量的 var,API 加强,GC 改进,线程本地握手(机制优化)等,我真的很高兴能在 2020 年学到这些内容。编程

Spring framework 和 Spring Security 也是如此的,我还不知道 Spring 4.0 和 Spring Security 4.0 上的全部更改,个人项目仍在使用 Spring Security 3.1,然而如今已经有了 Spring 和 Spring Security 的 5.0 版本。后端

在过去的几年中,个人学习速度有所降低,尚未掌握最新的技术,好比容器-Docker 和 Kubernetes,AWS、GCP 和 Azure 等云平台,单元和集成测试空间的最新变化以及简化结构的新版本,如 Spring、Spring Security 和 Spring Boot。安全

所以,2020 年将是让我本身了解技术方面最重要的事情,探索 DevOps 和云计算领域,特别是 Docker、Kubernetes 和 AWS 的 Jenkins。服务器

分享一张后端路线图(国外的一位大佬总结的),能够去图中的网站下载,或者在微信公众号【武培轩】回复
【路线图】获取。微信

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

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 年 Java 程序员应该学习什么?

除了容器,云是我认为每一位软件开发人员都应该在 2020 年学习的另外一件事。各类规模和领域的公司如今都在将其环境迁移到云中,以节省成本和更好的可扩展性,这意味着你早晚要须要使用云原生应用程序。

它们对于数据科学,机器学习和人工智能领域中的迅猛发展是紧密相连的,由于只有云才能提供那些资源匮乏的模型所需的计算能力。

像 Amazon Web Service(AWS),Google Cloud Platform(GCP)或 Microsoft Azure 这样的学习型云平台不只在你当前的工做上。你不须要学习全部这些知识,实际上,学习一种知识意味着你将对其余事物有一个公平的想法。

若是你要学习云平台相关的知识,那么我首先建议你学习 AWS,由于它是最流行和最成熟的云平台。

3. Git

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

Git 和 Github 已经使用有一段时间了,虽然我过去在 IDEA 中使用过 Git,可是在命令行上我对 Git 还不是很熟悉。

为何到目前为止我尚未掌握 Git?只是由于我还不须要它,我偶尔会从 Github 下载项目并从 IDEA 运行,可是我仍然是 Git 新手。

从如今开始,大多数公司都将其项目从 SVN,CVS 迁移到 Git,这也是学习和掌握 Git 的重要时机。

4.单元测试(JUnit 和 Mockito)

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

我想在来年改进的另外一个领域,Java 程序员可使用许多新的框架和工具进行单元测试,并对其应用程序进行集成测试,例如用于模拟对象的 Mockito 和 PowerMock,用于自动集成测试的 Robot Framework 和Cucumber,固然还包括新的 JUnit 5 库。

在这方面有不少东西要学习,若是你能够花一些时间来提升单元测试技能,那么不只能够提升你的编码专业知识,并且可使你成为更专业的开发人员,每家公司都将以此为形式。

5.从 JDK 9 到 13 的新 Java 功能

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

正如我过去所说的那样,我像许多 Java 开发人员同样仍在努力追赶六个月发布一次的 Java 版本。我今年花了一些时间学习 Java 九、十、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+

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

自从咱们看到 Spring 和 Java Ecosystem 进行了许多重大升级以来已经有两年了,Spring Framework 5.0 就是其中之一。我一直在据说一些新功能,例如 Spring 5 的反应式编程模型,Java 8 和 9 的采用,某些单元测试的改进等,可是我尚未尝试过。

不管如何,我已经开始学习 Spring 5.0.0,并将保持这种势头在 2020 年持续下去。若是你使用 Spring,多是学习 Spring 5.0 的最佳时机。

7. DevOps(Jenkins)

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

去年,随着愈来愈多的公司进入DevOps并采用持续的集成和部署,这是另外一个吸引个人领域。

DevOps 很是庞大,你须要学习不少工具和原理,这就是让不少开发人员不知所措的缘由,但你没必要担忧。下面分享了一个大佬总结的 DevOps 路线图(公众号
【武培轩】回复【路线图】获取),你能够按照本身的速度学习和掌握 DevOps,尤为是 Jenkins。

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

这意味着,若是你是一位经验丰富的 Java 程序员,而且热衷于管理环境,自动化和改善总体结构,那么你能够成为DevOps 工程师。

8. RESTful Web 服务

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

我想在 2020 年继续改进的另外一件事是我对编写 REST API 以及使用 Spring 使用 Java 实现安全且可扩展的RESTful Web Service 的了解。

这是 Java 世界中很是须要的一项技能,而且不多有人同时了解 Java 和 REST。若是你也同样,而且想学习如何使用Spring 开发 RESTful Web Service,那么让咱们一块儿在 2020 学习。

9. Spring Security 5.0(OAuth)

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

Spring Security 是一个可以为基于 Spring 的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组能够在 Spring 应用上下文中配置的 Bean,充分利用了 Spring IoC(控制反转),DI(依赖注入)和 AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减小了为企业系统安全控制编写大量重复代码的工做。

这是 Spring 生态系统的第三次重大升级,Spring Security 5.0.0 的主要亮点在于它只须要最小化的 JDK 八、反应式安全特性、OAuth 2.0(OIDC)和现代密码存储,你绝对不能错过。

与 Spring 5.0 框架同样,这是 2020 年个人另外一个优先事项。

10. Spring Boot 2 和微服务

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

Spring Boot 2.0 中引入了众多使人激动的新特性,包括支持 Java 九、HTTP/二、基于 Spring 5 构建、强力集成 GSON 等等。

那么在时间容许的状况下,你还应该花一些时间学习 Spring Boot 2 和微服务,我相信它会给你带来不同的体验。

11. Apache Spark 和 Kafka

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

我想在 2020 年继续深刻探索的另外一件事是大数据,主要是 Apache Spark 和 Apache Kafka 框架。我不肯定是否有时间去看其余大数据技术,可是它的好东西和大数据多是目前最热门的技术。

总结

这就是 Java 程序员在 2020 年能够学到的一切吗?就像我说的那样,技术突飞猛进,程序员面临的最大挑战是使本身保持不断学习的状态。除了以上这些技术外,确定还有不少其余的东西,你能够查找在新的一年就像学习一门新的编程语言如 Kotlin,但对我来讲,若是我能在 2020 年实现这些目标,我会更高兴。

译自:https://medium.com/javarevisited/what-java-programmers-should-learn-in-2020-648050533c83

●使用 Nginx 搭建静态资源 web 服务器
●Nginx 热部署和日志切割,你学会了吗?
●Nginx 了解一下?
●你真的了解 volatile 关键字吗?
●Java中Set集合是如何实现添加元素保证不重复的?
●为何不建议使用Date,而是使用Java8新的时间和日期API?

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

武培轩有帮助?在看,转发走一波稀罕做者

相关文章
相关标签/搜索