Java technology learning line sharing

1. Learning and sharing of Java technology stack

1. Introduction to Java Basics

At the beginning, you must understand a wave of Java language features. Many people are concerned about what information to read at the beginning. In fact, I don’t recommend reading too much and complicated at the entry stage, because you don’t know which ones are useful and which ones are outdated, or Not available at this stage.

For beginners, especially those who have no programming foundation, it is actually very difficult to go through this process from zero to one, and the frustration will be very strong, so it is necessary to find a suitable information .

The following learning materials are all that I have read or read, and I will not introduce those that have not been read. Still the same sentence, materials and videos are all auxiliary, at most they can guide you to get started, and the rest is up to you.

Learning ideas: First of all, there is nothing to say about the basics of Java. Just find a video and watch it quickly. I recommend the first season of Java Gaoqi in Shangxuetang; but I watched the first and second seasons at the time, and it is actually recommended here When I saw the second season, I saw 242 episodes, and then the first season was a small project from 147 to 161 episodes. If you don’t want to do this project, you don’t have to do it. I didn’t do it at the time, or you can read the book if you want, just watch it "Java Core Volume 1".

After reading the basics, you can read "Java Programming Thoughts". This book is also very good. It solves a lot of my doubts, but it is a bit difficult. I read it selectively. Specifically, how to read this book + key chapters

2. Advanced Java

If you want to rely on Java to make a living, it is definitely not enough to just read books and watch videos. We have to learn a wave of Java language features in depth. In order to make everyone learn more targeted, I have summarized the following core knowledge:

Collection module (super key): mainly includes various commonly used collections: such as Set (including HashSet, TreeSet), Map (including HashMap, HashTable), List (including ArrayList, LinkedList), etc., the core is hashMap, concurrenthashMap, ArrayList, LinkedLis, these few source codes must be read, this part is mainly to read articles + read JDK source code to learn by yourself.

Multi-threading (super key): synchronize, volatile, these two should be learned first, relatively simple, and then learn thread pool, concurrent contract (such as lock, etc.), a bit difficult, it is recommended to read "Java Concurrent Programming Art" + "Java Concurrent Programming Actual Combat, these two books are enough, "The Art of Java Concurrent Programming" feels like you have to read it three or four times, and you will forget it after reading it the first time, and you will have other gains in the second time, and you can suspend it after the third time. Hit the interviewer

Various file streams (not very important): file, inputStream, outputStream, etc., anyway, they are all kinds of file streams, you will naturally see them when reading books, this part must be practiced more, only time can really understand.

Virtual Machine (Super Emphasis): The virtual machine must be learned, and the focus is on the GC part. It is recommended to read "In-depth understanding of the Java Virtual Machine: JVM Advanced Features and Best Practices", one book is almost enough, read it four or five times on the line

3. Introduction to JavaWeb

After learning so much above, I haven't written any programs or websites, which is a bit uncomfortable? It's okay, at this time, we are about to start the website. If Java is used as the development language, then JavaWeb must be learned. At this time, you can get started and learn these things (note, you don’t need to go deep, just find a video to get started quickly)

Let me list what knowledge Javaweb refers to:

1. mysql, html+css+js, tomcat, xml, etc. It is recommended to watch the video, and go to station B to search for JavaWeb videos by yourself, so where you can’t make up, you can get started with this knowledge in a few hours. As for msyql, it is recommended to read "mysql I don't know how to know" for beginners, and then you can read books or watch videos. There are no specific videos here for the time being.

2. servlet+jsp series.

It is not recommended to learn the framework directly, but you should learn servlet first, these bottom layers are the most important drops. Servlet can be learned by following the video. As for jsp, it is rarely used, but you can still learn about it.

4. The learning frame of the frame

Servlet writing is too troublesome. Only those who have studied servlet seriously can boast the benefits of the framework, so you must learn servlet first and then learn the framework. There are three main frameworks: Spring + SpringMVC + Mybatis.

In fact, SpringMVC also belongs to Spring. MVC is just a kind of thinking. The learning sequence here is to learn Spring first. Just watch the video to get started and learn. Then buy books later. To what extent can you master it? The last thing is to be able to know some principles, such as the principles of IOC and AOP, what design patterns are used, and so on.

SSM videos can be found at Station B. After learning, find a practice project, or you don’t want to practice ssm, it’s not a big problem.

But it is too troublesome to set up ssm now, and SpringBoot is basically used, so SpringBoot is also necessary. You can learn SSM, and then learn SpringBoot, and then you have to do some springboot projects.

5. Middleware learning

Middleware that must be learned: redis, Redis is a must-ask in basic interviews, and is basically used in work, so it must be mastered. Recommended books "Redis Design and Implementation", "Redis Development and Operation and Maintenance". After reading the two books, it is almost the same, or the time is not too much. It is also OK to finish "Redis Development and Operation and Maintenance". I have written the key content of this book:

Other words, such as message queue, distributed and other related frameworks, you can also learn a wave when you have time, the project is used in learning, and then interview questions related to message queue

6. 2 complete projects

After learning the above Java basics and frameworks, a complete project is about to be done. I can only say that the project is very, very important, because during the interview process, you will definitely ask about the project, and it must be a project that you have personally done. If you just watch the video without hands-on practice, you will easily be confused. So be sure to do a hands-on project.

And in the future, projects will be valued more and more, and practical ability will also be valued more and more. As for how to find projects? You can spend some money to buy this, or find a pirated version. As for the projects on station B, many of them are suitable for practice, and the general quality is relatively average.

In terms of technology stack, I personally recommend Springboot + redis + mq, or you can build your own wheels, such as RPC, such as implementing a file system, or implementing a relational database, etc. These are all good projects. In addition, how to do a lot It is a project that everyone has done. It is recommended to change the name + add some things by yourself.

Guess you like

Origin blog.csdn.net/MaoXiaoMiaoYa/article/details/129492674