2023 Java learning roadmap (suitable for self-study detailed version)

 Here Xiaoqian, as a senior education and training institution, specially organizes and shares a set of zero-based self-study Java learning roadmap for everyone. This learning route is divided into Java basics, databases, Javaweb, enterprise-level frameworks, distributed micro-service architectures, and advanced masters. , The seven stages of project actual combat, I hope it can help everyone.

Phase 1: Java Core Foundation

This stage is the necessary knowledge of java for entry, and it must be firmly grasped. The foundation of learning is the foundation of learning, which will make the subsequent content learning easier

2. Java Design Patterns

The core technology of Java programmers is necessary, the design pattern is fast and transparent!

3. Intensive Programming - Data Structures and Algorithms

Learn common data structures and algorithms, establish good programming thinking, and form your own programming thinking. Master various algorithms and improve your programming ability. Master the basic data structure and deepen the understanding of the bottom layer of the program. Use programming thinking to solve various problems in life and work.

The second stage: database core technology

Database technology is an essential skill in software development. From the basic operation of the database to the ability to master the database design, we will learn the idea of ​​database design layer by layer. In the underlying logic of a software project, the data storage structure is the most important. Therefore, , Database technology is also a must-use question that is often used by interviewers to examine interviewers during interviews.

1. MySQL basic + advanced

This stage mainly learns to master MySQL database MySQL database design, ER diagram, etc.

2. Mainstream sub-database and sub-table middleware

Learn from the principle of sub-database and table, sharding-jdbc implementation logic, case and online environment configuration, and fully understand and master sharding-jdbc, the mainstream sub-database and table middleware.

The third stage: Javaweb core technology

JavaWeb core technology: For this content, we need to focus on the whole process of browser-based and server-based project development, because in the future, more than 90% of Java development work will be based on this model, also known as B /S mode development.

1. Javaweb basics + actual combat

For students with JavaSE foundation, master the development and application of MySQL database proficiently, master the database design process and be able to complete database design with project business scenarios; systematically master HTML5, CSS3, JavaScript, AJAX, jQuery, BootStrap and other web front-end development technologies; proficient Use Servlet and JSP dynamic web page technology to develop Java web application functions; deeply understand and master the core development technology of Java web technology stack, and improve comprehensive development and application capabilities.

Phase Four: Enterprise Framework-Level Technologies

This stage is the necessary skills for enterprise-level server development, optimizing the content of the web stage, and responding to intermediate positions in java development

1. Project management-maven

From why the project needs to build tools to the private server construction of the project warehouse. It is a must-have course for beginners in Maven. It will take you into the world of Maven with easy-to-understand language and simple explanations. You will be proficient in the use of Maven from entry to mastery.

2. Project management - git

Including the advantages of version management, basic use of Git, Git remote warehouse, Git collaborative development, Git branch management, Git integration Idea, etc. After learning, you will fully grasp the actual use of Git and help you improve work efficiency in collaborative development of enterprise teams .

3. SSM framework: spring+SpringMVC+MyBatis

Spring integrates MyBatis project development; SpringMVC framework deployment and configuration, the whole process execution principle of SprinGMVC framework; ybatis configuration and use, Mybatis common interview question analysis.

4. A full set of detailed explanations of Spring (Ioc-AOP-integration of MyBatis)

Including Spring IoC, Spring AOP (CGLib, JDK dynamic agent), Spring integration MyBatis, Spring transaction management, etc.

5. Mybatis framework (full training, source code analysis)

Including ORM overview, Mybatis overview, Mybatis addition, deletion and modification, Mybatis configuration file detailed explanation, Mybatis association mapping, Mybatis dynamic SQL, Mybatis log configuration, Mybatis connection pool, Mybatis cache, Mybatis delay loading, Mybatis principle analysis, etc.

6. SpringMVC (framework source code analysis)

Including SpringMVC's framework deployment configuration, creating controllers, front-end request controllers or static resource configurations, controllers receiving front-end data, and responding to front-end requests, etc. The whole process and details are explained. Finally, the final integration of the three major frameworks (Spring, SpringMVC, Mybatis) will be completed.

7. Persistence layer development framework - MybatisPLUS

MybatisPlus tutorial (easy to understand, quick to get started), Mybatis-Plus takes you to efficiently develop WEB applications.

8. Rapid service development technology-springboot

Learning based on the latest version of SpringBoot 2.7.1 provided by the government, covering all the content needs of organizations and enterprises for springBoot, around the core foundation, log framework, SpringBoot and other technology integration (such as Redis Ecache Elasticsearch MQ Quarts....) etc., source code analysis (build source code environment, operating principle, built-in tomcat, custom starter, etc.) and deployment monitoring, etc.

9.SpringSecurity

First of all, you must learn the basic usage of the Spring Security framework and complete the basic configuration of the framework. Then learn in detail the filters, authentication methods, and the use of JWT in the Security framework. Finally, use the method of Spring Security+JWT to make a microservice project of the authority authentication system. From permission authentication in a single environment to a separate permission system for front-end and back-end microservices.

10. Java logging framework

For small partners with Java foundation, learn each knowledge point and programming idea in detail from shallow to deep, and help small partners establish a complete Java log system knowledge system and high-performance log framework selection.

Stage Five: Distributed Microservice Architecture

At this stage, master the current popular service framework, fit the development trend of Java development, and can easily handle most positions in Java Internet development

1. Microservice framework - Spring cloud

Through the study of this course, you will have a deep understanding of the microservice architecture, master the working principle and use of each component of springcloud-alibaba, beat the interviewer, and get an offer with a high salary.

2. Distributed framework - Dubbo

The purpose of this knowledge point is to deeply analyze the call logic between services, starting from the analysis of the underlying principles of RPC, and mastering the RPC implementation logic by handwriting the RPC framework. By comprehensively introducing the microservice RPC framework Dubbo, the application of Dubbo in various actual combat scenarios is realized. By analyzing the source code of Dubbo, master the implementation logic of Dubbo's service communication, load balancing, SPI mechanism and service governance.

3. Distributed framework - zookeeper

Through the study of this course, you will have: the underlying data storage logic of Zookeeper, the complete operation process of Zookeeper client, the practical skills of Zookeeper cluster, the guidance and establishment of distributed architecture thinking.

4. TiDB database

Through the study of this course, you will have: the ability to quickly deploy TiDB test clusters; master the core features of TiDB; master TiDB commands and SQL operations; master JDBC and SpringBoot to integrate TiDB; master the core distributed concepts of TiDB.

5. Message queue - RabbitMQ

This course needs to learn the basic installation and use of RabbitMQ first, and then learn the various queue modes of RabbitMQ, understand the advantages, application scenarios and existing problems of each queue mode, one by one, everyone needs to know how to change in the work Select which queue mode to use. And know how to use rabbitmq in Springboot.

6. Message queue-RocketMQ

RocketMQ has experienced many years of technology series in the Alibaba e-commerce environment, and its performance and stability stand out among many MQs.

This course is to understand the technical architecture and deployment architecture of RocketMQ, and then pass the rapid experience of RocketMQ from installation to use. Then focus on learning RocketMQ's cluster mode, multiple message instances, and how Springboot and Spring Cloud Stream integrate RocketMQ.

7. ActiveMQ message queue

The course starts from the concept of message queue and the basic concept of JMS, and then gradually realizes message queue with Activemq code. Mastering this knowledge can not only calmly deal with interviews, but also improve the depth of technology.

8. Distributed message - Kafka

Through the study of this set of courses, you will have: Kafka basic concepts and key technical points, Kafka cluster configuration and core parameters, multi-dimensional optimization solutions for Kafka clusters to deal with large concurrency and high availability scenarios, and the use of Kafka-eagle monitoring platform.

9. Microservice Deployment - Docker

The content of this section is mainly one of the technical solutions for the implementation of the microservice architecture. By learning Docker, it is possible to complete the technical implementation of: microservice monitoring and alarm architecture, microservice automatic deployment, microservice log collection and performance monitoring, microservice automated testing and quality management and other architectures.

10. Distributed Cache-Redis 

It is an open-source log type and Key-Value database written in ANSI C language, supports network, can be memory-based or persistent, and provides APIs in multiple languages.

11. Distributed Search - ElasticSearch

This course learns about the most popular full-text retrieval framework of ElasticSearch at present, and experiences the second-level search of PB-level massive data. The harvest after learning is not only simple use, but also practical content. It will take you hand in hand to complete the realization of JD.com's search function.

12. JUC concurrent programming

This set of courses can systematically and completely help small partners to establish a complete JUC concurrent programming knowledge system.

The sixth stage: advanced master, in-depth skills

The content of knowledge at this stage is to enrich the underlying principles of each technical point, realize the functional framework of similar requirements, enhance its core competitiveness, and respond to the self-developed technical needs of large manufacturers

1. Linux operating system

Aiming at the systematic learning of Linux, the purpose is to explain some difficulties encountered by helping current java programmers learn Linux courses.

2. Enhanced programming - JVM

Introduce the entire JVM running process from class loading to running through multi-dimensional cases, and master the entire process of JVM from object creation to destruction. By analyzing the garbage collection algorithm, master the working mechanism of each garbage collector.

3. Database hardening-MySQL

MySQL advanced advanced course, a necessary course for interview and job promotion. In the course, the in-depth analysis of MySQL optimization is carried out in the form of case analysis, and the use of common analysis tools for MySQL optimization is introduced.

4. Database Hardening - Oracle

Understand all aspects of data management and application development using Oracle 12g.

5. Search technology - Lucene

Through the study of this set of courses, you will have: 1. Master the usage scenarios and technology selection of full-text retrieval 2. Be able to use Lucene to write functions such as Jingdong search 3. Master the logical structure and physical structure of Lucene's underlying storage 4. Master the index Common search algorithms 5. Be able to have unique insights and ideas on the underlying optimization of full-text retrieval (query accuracy, query efficiency).

6. Search technology - Solr

Solr full-text retrieval from entry to practical content, takes you to systematically learn full-text retrieval technology, and develop it in actual projects.

7. Security Framework - Shiro

Apache Shiro is an open source security framework that provides authentication, authorization, cryptography and session management. The Shiro framework is intuitive and easy to use, while also providing robust security. Shiro is a powerful, easy-to-use Java security framework. It is used for authentication, authorization, encryption, and session management. It relies on Shiro's simple and easy-to-understand API, and can quickly build mobile, large-scale web, and business applications.

8. Server-Nginx

Nginx is a lightweight web server/reverse proxy server and email (IMAP/POP3) proxy server, released under the BSD-like protocol. It is characterized by less memory and strong concurrency. In fact, the concurrency of nginx is better than other web servers of the same type. Users of nginx websites in mainland China include: Baidu, JD.com, Sina, NetEase, Tencent, Taobao, etc.

9. Continuous Integration with Jenkins

Jenkins is currently a widely used continuous integration tool. This set of courses records the entire process of using jenkins+Git to configure the continuous integration environment.

10. A full set of Java NIO (BIO, NIO, AIO and NIO API source code analysis)

The application of NIO also frequently appears in scenarios such as the communication between AIOT hardware and platform of the Internet of Things, and real-time communication of social media. In order to let everyone master more efficient and practical network communication technology, we have designed this set of very detailed and full of dry goods NIO courses

11.POI&EasyExcel report database

The basis of POI, including what is POI, common technical components of POI, Excel reading and writing in POI, problems existing in POI, packaging of common POI components, etc. Finally, we can read and write a large amount of data in the database to Excel, and realize batch processing.

12.Netty

Learn Netty's usage scenarios, threading model and Netty's core components, and then implement a community instant chat system through Netty. Then learn the advanced features of Netty, Netty's encoding and decoding, sticking and unpacking, heartbeat mechanism, disconnection reconnection and zero copy, etc.

13. Activiti7 workflow

Learn the application scenarios of workflow, Activiti overview and BPM flow chart and other related knowledge, then explain the use of Activiti framework, process definition, gateway use and other complete implementation links, and finally, demonstrate how to use Activiti in Spring and Springboot projects frame.

14. Java architects in action

Realize a complete set of enterprise-level microservice architecture from 0 to 1. The whole architecture is based on SpringBoot and SpringCloud Alibaba, and integrates some current mainstream technical frameworks and services such as Redis, Elasticsearch, RocketMQ, SpringSecurity, Oauth2, etc., and can be used flexibly This design pattern presents the design and implementation process of the project development architecture in the enterprise very completely.

15. Online payment development (Alipay + WeChat)

WeChat Pay and Alipay Pay. To find out how we can introduce different payment models into the project during the development process.

16. WeChat official account development

The basic process of WeChat official account development and the call of the third-party interface, combined with the actual operation of the official account, I believe that after learning, you will easily deal with various WeChat official account development needs at work.

The seventh stage: project actual combat, enterprise project development

This stage simulates the real project business process and development technology of the enterprise. Project experience is the key condition for the enterprise to understand the employment of talents, in order to improve its own employment competitiveness!

1. JavaWeb project

Learn skills through project learning

1) Familiar with the development and application of MySQL database, master the database design process and be able to complete the database design with project business scenarios;

2) Systematically master web front-end development technologies such as HTML5, CSS 3, JavaScript, AJAX, jQuery, BootStrap;

3) Proficiency in using Servlet and JSP dynamic web page technology for functional development of Java web applications;

4) In-depth understanding and mastery of the core development technologies of the Java web technology stack to improve comprehensive development and application capabilities.

2. E-commerce projects

The project actual combat course has extremely high gold content, adopts the most mainstream micro-service distributed architecture, front-end and back-end separation technology, and masters this set of courses, you will have practical experience in tens of millions of e-commerce projects.

3. HarmonyOS 2.0 application development

Through this set of project learning, not only can you systematically master the development technology of HarmonyOS applications, but also accumulate practical experience in mobile application development in project development.

4. Spring boot project

This project is implemented using SpringBoot, MyBatis, and Thymeleaf dynamic webpage technologies, and leads the students to complete the development of the entire project from project functional requirements analysis, database design, project implementation process design to code implementation.

5. SSM framework project

Use the currently popular ssm framework to develop with mysql. Each business is researched, analyzed, interface designed, and coded according to the actual situation. The overall difficulty of the project is not high, from basic to in-depth step by step. It is very friendly to students who have just learned the ssm framework. You can use this project as a practice project. The backend of the project is built using the ssm framework. The front desk is realized by html css jquery layui ajax.

6. Spring boot framework project

Based on the whole strategy of the e-commerce platform, the main functions include: home page recommendation display, online activities, content information, car selection tools, product introduction, user center and other related services. It corresponds to a set of related operation management systems in the background. The main functions include: login, user management, information management, online event management, product management, car selection tools and other related functions.

7. Advanced Framework Project - Open Platform Cloud Control Center

Mainly understand the advanced framework project - open platform cloud control center, through the learning and operation of a project, so that everyone can be familiar with the advanced framework project actual combat and other related knowledge and accumulate certain project development experience.

Kind tips

Experts check for leaks and make up for vacancies, Xiaobai starts all over again, arrange 1 hour a day, stick to it, success will belong to you!

I hope my content can help every partner who wants to change their destiny through learning,

If you get something, please send your precious likes + attention + forwarding  for the hard work of the editor ! ! !

Finally: I wish all partners a bright future! !

Guess you like

Origin blog.csdn.net/GUDUzhongliang/article/details/129949500