For Java developers, a lot has happened in the Java ecosystem in the last few years. Updating the Java version every six months and releasing many popular frameworks such as Spring 5, Spring Security 5, and Spring Boot 2 presented challenges.

At the beginning of 2019, I thought Java 10 was relatively new, but before I had learned all the features of Java 10, Java 11, Java 12, And Java 12 had arrived, and most of the busy programmers didn’t have time to read them. It’s all about learning about useful new features.

The Java version iterates far too quickly and has introduced many interesting features such as local variable type inference, switch expressions, text block support, and more. I worked in Java 9 ← 2017,2019 Java → 13, what happened? These changes are recorded in the.

Java is the number one framework, as is Spring. Many people still use Spring Security 3.1 for their projects and don’t even know what features Spring 4.0 and Spring Security 4.0 have. However, Both Spring and Spring Security are now in version 5.0.

Here is my list of techniques Java developers should learn in 2020:

1. DevOps (Docker and Jenkins)

Over the past year, more and more companies have been transitioning to DevOps. DevOps is huge and requires learning a lot of tools and principles, but you don’t need to worry. A DevOps roadmap has been shared (github.com/kamranahmed…

If you are an experienced Java programmer willing to learn about environment management, automation, and overall improvement, you can also become a DevOps engineer.

2. Java 9 – Java 15

It is believed that the main version of Java used by many Java developers today is Java 8, although Java 9 – Java 13 has been around for some time.

As Java programmers, we may not be able to actually upgrade the JDK online for some reason, but it’s worth spending some time learning about the new features of Java 9, Java 10, Java 11, Java 12, and Java 13.

In addition, you can focus on key features such as GC related features, features that change coding style, and so on. There is also the LTS version of Java (Java 8, Java 11) to learn.

In 2020, Oracle will also release Java 14 and Java 15!! If you’re using Java 7, you’re about to get caught!

3. Spring Framework 5

2017 saw many major upgrades to the Spring and Java ecosystem, with Spring 5.0 being one of them. Spring 5’s new reactive programming model, HTTP/2 support, and Spring’s full support for functional programming through Kotlin are all worth taking a look.

4. Spring Security 5.0

Spring Security 5.0 offers many new features and supports Spring Framework 5.0, with over 400 enhancements and bug fixes in total. Prior to Spring Security 5.0.0, passwords were stored in plain text, which was very insecure. Since this was a big release, we decided to use more secure password storage. The main highlights of Spring Security 5.0.0 are that it requires only minimal JDK 8, reactive Security features, OAuth 2.0 (OIDC), and modern password storage.

5. Spring Boot 2

Spring Boot 2.0 is based on the Spring 5 Framework and provides a Reactive Stream with asynchronous non-blocking IO and a functional Reactive Web Framework Spring WebFlux with non-blocking IO. Many people who have used SpringBoot know that it is really fast and good to build Web applications with SpringBoot, and we believe that SpringBoot 2 will bring more surprises.

Hadoop, Spark, and Kafka

Another thing Java programmers need to learn in 2020 is big data. In particular, the Apache Spark and Kafka frameworks.

If you want to learn about big data in 2020, you can’t escape the Hadoop ecosystem.

7, Elasticsearch

Full text search is one of the most common requirements, and open source Elasticsearch (Elastic for short) is currently the preferred full text search engine. Wikipedia, Stack Overflow, Github all use it.

Elasticsearch is a search engine based on the Lucene library. It provides a distributed, multi-tenant enabled full-text search engine with an HTTP Web interface and schemaless JSON documents. Elasticsearch was developed in Java and released as open source software under the Apache license.

8 ServiceMesh.

These two years have been very hot, fire in a mess. In 2019, there’s no programmer conference that doesn’t feature ServiceMest.

Everybody's talking about ServiceMesh; Few people know how to land it. But everybody feels like somebody else is doing ServiceMesh; So everybody claims to be doing ServiceMesh;Copy the code

This concept, billed as the next generation of microservices architecture, is now completely unknown to most people. All I know is that many big companies claim to be doing it, and many big bulls preach.

9, Serverless

Serverless Computing, also known as function-as-A-Service (FaaS), is a model of cloud computing. Based on platform as a Service (PaaS), serverless computing provides a micro architecture where end customers do not need to deploy, configure, or manage server services. The server services required for code to run are provided by cloud platforms. This thing, it just sounds like a big deal.

10, Kotlin

If you’ve been looking at some of the new features in Java 13, you probably know that there’s a string text block feature that’s actually borrowed from Kotlin. In addition, in recent years, There have been a lot of features borrowed from Kotlin. Kotlin is much simpler than Java. And Kotlin’s code can run directly through the JVM.

Kotlin is a statically typed programming language that runs on the Java virtual machine and can also be compiled into JavaScript source code. Kotlin is designed to produce programs that require high performance, so they run on par with Java. Kotlin can be used as a plug-in from the JetBrains InteilliJ Idea IDE development tool.

conclusion

Above, the author summarizes the recommendations of Java programmers in 2020 to learn some technologies, hope to give you a love of learning a reference. A few of them must be learned, still a few are to consider the energy situation as appropriate to see everyone.