Java full stack learning route, learning resources and questions in one package

2022-06-20 0 By

Liver for a month, finally put the Java learning route, interview resources and e-book resources are sorted out.Java from basic to micro service learning route, which also includes class knowledge, learning advice, follow-up learning guide and corresponding learning resources (video, books, websites), but also sorted out the Java interview questions, resources are at the end of the article.The purpose of writing this article is very clear, on the basis of personal ability to give a small partner a circular progressive Java full stack learning route.Make a good path for small partners, so that the way of learning as smooth as possible.Embellishment here is my understanding of the three levels of programming: from learning to use (knowing its form) to in-depth architecture design principles (knowing its principles) and then to self-research technology (thinking casting). The learning route of this paper is only the first two levels. As for “self-research level”, it belongs to the re-creation of thoughts.Limited ability, if there is wrong, but also hope to correct.0. Breadth and depth of knowledge For engaged in the technology development industry, the emphasis is on the application of technology, technical knowledge can realize its value.The breadth of technical knowledge is like the base of the pyramid, and the depth is like the height of the pyramid. The size of the base of the pyramid will determine the height of the pyramid. The breadth of knowledge determines the depth, and the depth will determine whether you can mix a good foundation in this industry, if you are doing technology.Breadth: can be expanded by constantly learning new skills;Depth: In-depth research based on existing knowledge.At the beginning of this learning route, we should broaden the scope of technical knowledge and focus on the basic use of technology.I will further study the principles of architecture design and understand the core ideas of designers, so as to improve the depth of knowledge, so as not to only know its appearance without knowing its reason.After in-depth study, you will gradually feel the qualitative change brought by programming ideas, which is the most critical step to improve programming ability, and also the first step toward “self-research level”.Each stage is equipped with a learning website and corresponding books, and there are stage projects to reinforce the knowledge learned.1. Part I: Java Basics Must understand object-oriented programming, and master the basic knowledge of How to use Java, through the Java programming language to achieve some functions.For example: implementation of programs and text reading and writing (memory and disk interaction), simple multiplayer chat room (client-server interaction).Two takeaways: First, with this foundation, you can try to look at the source code (for example: String class source code), some of the source code to understand, may be a bit of a struggle.Second point: all server-side programming languages have basic capabilities for IO streaming, network programming, multithreading, etc. Mastering the basics of one programming language makes it much easier to learn the basics of other programming languages.2. The second part: the basic use of MySQL command to master the basic use of MySQL;Through JDBC technology to achieve the MySQL database data add, delete, check and change.3. Part THREE: JavaWeb The first two parts are to learn the development of Java applications. This part starts to learn the development of JavaWeb system, mainly learning the basic knowledge of JavaWeb and front-end.After learning this part, you can develop websites and management systems based on JavaWeb, such as background management system and music website based on JavaWeb.However, at present, there are few web systems developed by using JavaWeb basic technology directly. Generally, framework technology is used to develop safe and beautiful systems quickly.So let’s move on to mainstream framework techniques.4. Part IV: Mainstream framework and technical framework Technology is mainly divided into front-end and back-end framework. At present, the domestic front-end is mainly Vue family bucket, integrating various frameworks to complete front-end development;The back-end is mainly based on SSM framework technology, integrating other frameworks to complete back-end development.The main role of the development framework is to avoid duplication of wheel, improve development efficiency, reduce operation and maintenance difficulties, reduce personnel costs, reduce project risks and so on.You should know some web architecture patterns: hierarchical, clustered, and cached.Layered patterns: Common MVC, MVVM, layer 7 network communication protocol and so on.Cluster mode: Multiple servers deploy the same application to form a cluster and use load balancing devices to provide services externally, improving availability and concurrency.Caching mode: Use caching technology to improve system performance.Learn new problems arising from the use of these patterns New problems arising from the clustering pattern, such as stateless/present services.New problems with the cache pattern, such as cache penetration.The cache mode is used to solve new problems caused by the cluster mode, such as session records.First learn the use of the framework, and then through reading source code, relevant documents to master the framework used in the programming ideas, programming skills and architecture design, and finally in the process of development can use these programming ideas, programming skills and architecture design.5. Part V: Review the progressive stage This part is mainly about the learning content before the progressive stage and learning more technologies, which are the basic technologies needed for the realization of distributed functions.As business services become more and more complex, more and more services are deployed, and the services are intricate and difficult to manage, automation is needed to replace human labor to solve these problems, so the next part is to learn about distributed service governance and microservices.6. Part 6: Microservices explores a variety of technologies to address the new problems posed by distribution. These technologies are implemented to govern the complexity of business services and improve business response time, service availability, performance, scalability, and security.7. The expansion of programming foundation – class knowledge (internal work) this part of learning is boring, is to lose hair, but it is a must learn.I’ve got everything I need to learn, especially software engineering, computer networks, operating systems, data structures and algorithms.8. Learn more Learn to grow and move higher.It’s just a primer. It’s not enough to really study these books.Architectural design, for example, must be learned in order to go from programmer to architect.If you want to know more about “cloud technology”, you can go to Ali and other major cloud platform developer community learning and so on.It depends on your choice.Tips for Learning These are some personal tips.Here’s a tried-and-true tip for procrastinators: Stop thinking about it and start doing it.Interview resources are mainly from the Internet, sorted, but also part of the processing is not easy to read (very time-consuming……)Summary from the Java foundation to microservices learning route and the corresponding ebook, have been shared to GitHub, GitHub link: follow-up will improve learning route and learning resources, share more knowledge and more resources, grow up together, ‘? The author: deep Ting yue sources: