The Java Daguai upgrade, growth and learning roadmap, this is how the big guys made it! Must be collected

Technology is changing with each passing day. For students who are new to the workplace, they are often confused about which direction to go in. Song has a deep understanding of this.

 

There are so many materials on the Internet, but in many cases what we lack is not a material, but a learning plan!

 

In other words, where should we start to learn Java development? What should I learn? In what order should I learn?

At the beginning of my sophomore year, I learned Java by myself. The biggest problem was that I didn't know what to learn and the order of learning. I fumbled for a long time by myself, and then I gradually established my own knowledge system.

So every time a friend asks me about my Java learning plan, I can understand the dilemma everyone is in.

There are many fields involved in Java development, and there are many things for developers to master. Newcomers even think that these things to master are very messy, but they are not! All things to be learned are internally related.

Song Ge is here today to take a look at the Java learning roadmap with everyone, and take a look at what things need to be mastered, and in what order to learn.

 

1. Overall planning

There are actually a lot of skill points involved in Java enterprise-level development, and I broadly group them into the following five categories:

On the basis of this technology stack, you can continue to choose to follow the full stack path or the big data direction.

Some friends may be entangled in whether to be comprehensive or proficient in a certain aspect. In fact, this does not matter whether it is good or bad. The key is to see yourself. Do you want to go to a big factory to be a technical expert in a certain field, or do you want to be your own, the best you like is the best.

Having said that, even if you want to delve into a certain aspect, it doesn't mean that you don't need to learn these things. Even if you are proficient in a certain aspect, you must first dabble extensively and then slowly determine your own direction.

This was the case when Songo University taught Java by myself. When I didn’t know what was important and what was not, I would study it all. Anyway, college students have a lot of time. I even learned the three swordsmen of Dreamweaver, Fireworks, and Flash. I even made a dynamic website using the rudimentary functions of Dreamweaver.

Do you think these things are useless after learning? Actually not necessarily. After I learned a lot, one day in the future, I suddenly had an epiphany and stringed up the things I learned, and I felt a kind of enlightenment.

 

Next, here are the five major pieces to be separated and introduced to everyone.

2. JavaSE

First look at the mind map I drew:

In fact, there is nothing worth saying about JavaSE, the basic things have not changed for many years. And there are many free tutorials on JavaSE,

Many companies, using Java 8/9/10, actually write JDK 1.5 code, but this does not mean that we do not need to learn. Some new features in Java 8/9/10/11 still need to be learned, especially now that WebFlux is gradually being valued by people, some concepts and technologies that have sprouted since Java 8 are still necessary to master.

 

3. Database

First look at the mind map I drew:

As a Java engineer, the importance of the database is self-evident. This is a basic skill. We can't always count on DBAs. After all, there are only a few companies equipped with DBAs. There is a saying called "Writing SQL well, get off work early."

 

Of course, the database also has many optimization problems, but when you are just starting to learn, I actually do not recommend learning database optimization, master-slave, clustering, read-write separation, etc. These things can wait until later when you learn about microservices. It is more appropriate to learn. If you haven't learned Java for a long time, you can learn database optimization. It is very likely that you will retreat from the development path.

 

4. Web Basics

First look at the mind map I drew:

Learning is for yourself, you can’t be lazy, so you can see that there are many knowledge points listed here, and even some technologies that seem to be outdated.

Some people will wonder whether to learn EasyUI or not, this is a bit old. My opinion is that if you are a college student, you should study, anyway, if you have time; if you are already working and now check for missing vacancies, you can decide whether or not to study based on the company's technology stack.

In fact, EasyUI can't be regarded as a marginalized thing. If you don't use Vue, React or Angular on the front end, EasyUI is definitely an existence that cannot be ignored. Learning EasyUI can also let us understand the development process of the entire front end.

Generally speaking, after learning the basics of Web, you can actually do some simple projects to consolidate your knowledge points. There are also many open source projects on the Internet.

As for the other technical points listed here, they are all conventional technologies.

 

5. Classic Frame

First look at the mind map I drew

There are more things involved here, and it is also the longest part of learning.

Here I mainly talk about a few issues of concern.

  1. Do I need to learn SSH?

When we talk about SSH, we generally refer to Spring, Struts2 and Hibernate. In these three, you can confirm that you don’t need to learn Struts2. If you just graduated from university and entered a company and used Struts2 for development, you went in and worked for three years. It is not recommended that you spend time on Struts2.

As for Hibernate, I have reservations about this. Why do you say that?

Because Hibernate and Jpa are inextricably linked, Spring Data Jpa combined with Spring Boot is still used by many companies, and if you have mastered Hibernate, you can get started quickly when you use Jpa later.

  1. Which message middleware to learn?

As far as I know, RabbitMQ and RocketMQ are used more in JavaEE projects, Kafka is used more in big data, and the traditional ActiveMQ that meets the JMS specification is used less. Therefore, friends can choose the appropriate message middleware learning sequence based on such a practical situation.

At this stage, the knowledge points are all done, and it must be more than enough to be a complete set, and it must be enough to find an internship outside the school.

 

6. Distributed/microservice related

First look at the mind map I drew:

In this area, Spring Boot and Spring Cloud are the focus, and these two involve many knowledge points respectively:

SpringBoot:

SpringCloud :

The foundation of learning Spring Boot is still SSM. It is not recommended to skip SSM and learn Spring Boot directly.

After learning Spring Boot, you can also make a project to consolidate it

When you have done SSM, Redis, and middleware, you will learn Spring Boot again and you will find that it is so simple!

As for Spring Cloud, although several components of Netflix are no longer open source, I think it is necessary for everyone to learn it. After all, it is not difficult, it will not take much time, and learning these components can help Everyone quickly established a Spring Cloud knowledge system.

Apart from these two big pieces, I don't need to say more about the rest. I suggest learning advanced MySQL at this stage, such as data optimization, master-slave construction, separation of reading and writing, etc. I suggest it at this stage.

 

7. Summary

After learning all of the above, you can already look at JavaEE development from a higher perspective.

At this time, you can consider whether you want to take the path of "specialization". When you are a technical expert, you still want to take the road of full stack. In the future, you can set up a studio yourself, or you want to develop in the direction of big data. It is possible.

 

At last


If you want to learn Java, I will share some Java learning materials with you. You don’t have to waste time searching everywhere. I have compiled all the materials from Java entry to proficiency. These materials are all made by me. The latest Java learning routes compiled in the year, Java written test questions, Java interview questions, Java zero-based to proficient video courses, Java development tools, Java practice projects, Java e-books, Java study notes, PDF document tutorials, Java programmers’ experience, Java job resume templates, etc. These materials will definitely help you learn Java in the future. It is a must for every Java beginner. Please enter my Java technology qq exchange group to download by yourself . All the materials are in the group. In the file, you need to communicate and learn more with you when you go in.

Guess you like

Origin blog.csdn.net/deqing271/article/details/115376722