转载

2020年Java程序员应该学习的10大技术

对于Java开发人员来说,最近几年的时间中,Java生态诞生了很多东西。 每6个月更新一次Java版本,以及发布很多流行的框架,如Spring 5、Spring Security 5和Spring Boot 2等,这些都给我们带来了很大的挑战。

在2019年初,我认为Java 10还是比较新的,但是,在我学习完所有Java 10的特性之前,Java 11、Java 12、Java 12 已经接踵而至,对于工作繁忙的程序员们来说,大多数人都根本没有时间看这些。 基本是都是了解一些有用的新特性而已。

Java的版本迭代速度实在是太快了,也带来了很多有趣的特性,如本地变量类型推断、switch表达式、文本块支持等。

Java系第一大框架,Spring亦是如此,很多人的项目还在用Spring Security 3.1 ,甚至不知道Spring 4.0和Spring Security 4.0都有哪些特性。 但是,Spring和Spring Security都已经出到了5.0版本。

以下是我列出的2020年Java开发者应该学习的技术:

1、DevOps (Docker and Jenkins)

过去的一年,越来越多的公司正在转型DevOps,DevOps非常庞大,需要学习很多工具和原理,但你不需要担心。 有大神已经分享了DevOps路线图 (https://github.com/kamranahmedse/developer-roadmap ,可以按照这个路线图以自己的速度学习和掌握DevOps。

2020年Java程序员应该学习的10大技术

如果你是一个有经验的Java程序员,愿意学习环境管理、自动化和整体改进,你也可以成为DevOps工程师。

2、Java 9 - Java 15

相信现在很多Java开发人员主要使用的Java版本还是以Java 8为主,虽然Java 9 - Java 13已经推出了有一段时间。

但是作为Java程序员,我们可能因为某些原因没办法在线上环境真正的进行JDK的升级,但是花一些时间学习Java 9、Java 10、Java 11、Java 12和 Java 13的新特性还是有必要的。

另外,大家可以重点关注一些关键特性,如GC相关的特性、对编码风格有改变的特性等。 还有就是Java的LTS版本(Java 8、Java 11)要重点学习。

还要提醒大家一点,在2020年,Oracle还会推出Java 14 和 Java 15! 如果你在使用Java 7的话,马上就要被"套圈"了!

3、Spring Framework 5

2017年我们见证了Spring和Java生态系统的许多重大升级,Spring 5.0就是其中之一。 Spring 5 的新反应式编程模型、HTTP/2 支持,以及 Spring 通过 Kotlin 对函数式编程的全面支持这些都值得我们好好了解一下。

4、Spring Security 5.0

Spring Security 5.0 提供了许多新功能,并支持 Spring Framework 5.0,总共有 400 多个增强功能和 bug 修复。 在Spring Security 5.0.0之前,密码是明文保存,十分不安全。 因为这一次发布的是大版本,所以我们决定使用更安全的密码存储方式。 Spring Security 5.0.0的主要亮点在于它只需要最小化的JDK 8、反应式安全特性、OAuth 2.0(OIDC)和现代密码存储。

5、Spring Boot 2

Spring Boot 2.0 基于 Spring 5 Framework ,提供了 异步非阻塞 IO 的响应式 Stream 、非堵塞的函数式 Reactive Web 框架 Spring WebFlux等特性。 很多使用过SpringBoot的人都知道,使用SpringBoot搭建Web应用真的是又快又好,相信Spring Boot 2会带来更多惊喜。

6、Hadoop、Spark 和 Kafka

另外在2020年Java程序员需要学习的是大数据相关的知识。 特别是Apache Spark 和 Kafka两个框架。

2020年Java程序员应该学习的10大技术

如果你也想在2020年学习大数据,也一定绕不开Hadoop生态。

7、Elasticsearch

全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。 维基百科、Stack Overflow、Github 都在使用它。

Elasticsearch是一个基于Lucene库的搜索引擎。 它提供了一个分布式、支持多租户的全文搜索引擎,具有HTTP Web接口和无模式JSON文档。 Elasticsearch是用Java开发的,并在Apache许可证下作为开源软件发布。

8、ServiceMesh

这两年很火,火的一塌糊涂。 在2019年,但凡是程序员相关的大会,如果没有讲ServiceMest的专题,那都不好意思开。

所有人都在说 ServiceMesh;

几乎没人知道怎么落地 ServiceMesh;

但是大家都觉得其他人在大力做 ServiceMesh;

所以大家都宣称自己在做 ServiceMesh;

这个号称下一代微服务架构的概念,现在对于大多数人来说根本不知道是啥。 只知道很多大厂宣称自己在做,很多大牛在布道。

9、Serverless

无服务器运算(英语: Serverless computing),又被称为功能即服务(Function-as-a-Service,缩写为 FaaS),是云计算的一种模型。 以平台即服务(PaaS)为基础,无服务器运算提供一个微型的架构,终端客户不需要部署、配置或管理服务器服务,代码运行所需要的服务器服务皆由云平台来提供。 这东西,听上去就很高大上。

2019年,和ServiceMesh一样,所有人都宣称自己在做。但是又很很多人不知道他到底是什么。

10、Kotlin

如果大家有关注Java 13的新特性的话,一定知道推出了字符串文本块的功能,这个功能其实是借鉴的Kotlin,除此之外,最近几年,Java有很多特性都在借鉴Kotlin,相比较于Java,Kotlin更加简洁,而且Kotlin编出来的代码也可以直接通过JVM运行。

Kotlin是一种在Java虚拟机上运行的静态类型编程语言,它也可以被编译成为JavaScript源代码。 Kotlin的设计初衷就是用来生产高性能要求的程序的,所以运行起来和Java也是不相上下。 Kotlin可以从 JetBrains InteilliJ Idea IDE这个开发工具以插件形式使用。

总结

以上,就是作者总结的建议Java程序员在2020年学习的一些技术,其中有一些是一定要学习的,还有一些是看大家的精力情况酌情考虑。

遗漏热文?赶紧标星

2020年Java程序员应该学习的10大技术

1.  阿里社招面试指南

2.  阿里应届生面试指南

3.  探寻线程池是如何工作的

4.  到底线程池应该设置多少合适?

5.  跳槽的必备条件是有一份好的简历

6.  不是所有的 Github 都适合写在简历上

7.  所没有项目经验找工作处处碰壁怎么办

8.  每一个开发人员都应该懂得的 UML 规范

9.  工作环境没机会接触高并发、分布式怎么办?

10.  这算是有史以来讲数据库连接池数最清楚的文章了

11.  你以为认为 count(1) 比 count(*) 效率高么?

12.  用了这么多年 Spring Boot 你知道他爹有多大背景吗?

2020年Java程序员应该学习的10大技术

原文  http://mp.weixin.qq.com/s?__biz=MzIyNzc1ODQ0MQ==&mid=2247485048&idx=1&sn=5b1ddb76ab081f14208791eb96b7a990
正文到此结束
Loading...