Java Daguai upgrade map


Preface

There is no easy way for a skilled person. If you want to remain competitive, you must keep learning. Today I will share a roadmap for java learning. I hope everyone can continue to fight monsters and upgrades to become a master of martial arts.


1. Java Daguai upgrade map

1. Java basics

Insert picture description here
The basic part of java, the content is really not much. If you have worked for a few years, you will connect the three major features of object-oriented programming during the interview, the difference between sets, the difference between abstract classes and interfaces, and there are several ways to create threads. If you don’t know about concurrency control, if you directly master the general evaluation with a Java foundation, if the overall impression is not good, you will lose a lot of points.

2. Database

Insert picture description here
Note: In addition to mysql and oracle, the current mainstream relational databases have also become popular recently. In addition to the traditional C3P0 and Ali's Druid database connection pool, spring boot default connection pool hikari is also becoming more and more popular.
The database mainly needs to master sql writing, sql optimization, use of indexes, locks and transactions. Other principles, deployment architecture, high availability, sub-database and sub-table will be gradually studied later.

3. Programming enhancement

Insert picture description here
Note: The
23 design patterns must be well known. Only when you are familiar with the relevant concepts and design ideas and their application scenarios, can you use them flexibly in the project to write high-quality code.
JVM optimization may encounter less at work, but problems may be big problems, and it is also a knowledge point often asked by middle and senior programmers in interviews.
Data structure and algorithms are generally not required by small and medium-sized business development companies, and they are rarely used in actual projects. However, if you are motivated to enter a major Internet company, then this is a lot of work, and only Letcode smashes algorithm problems.
High-level multithreading is nothing more than thread pools, collaboration between threads, and advanced control of threads.
Both MINA and Netty belong to the NIO-based network programming framework, and Netty is currently more mainstream.

4. Software project management

Insert picture description here
Description: Mainly code packaging and version management.
Maven is currently the most mainstream project that relies on jar package management tools. It mainly relies on configured version number management and scope management, and knows how to resolve jar package conflicts.
SVN, Git, and Code Cloud are all currently mainstream code version management tools.
Jenkins is a continuous integration work, mainly used for CI/CD continuous integration release, that is, the project is automatically packaged and released.
Sonar is a code quality management tool that can be integrated with IDEA or used in conjunction with Jenkins.

5. Popular technology framework

Insert picture description here
Note: The
spring framework should be the core of the current java project development.
Spring MVC has been gradually replaced by Spring Boot.
The persistence framework JPA is actually based on Hibernate, but it is recommended to use Mybati's semi-automated mapping framework directly based on sql, which is lighter, more flexible, and easier to optimize.
Mybatis Plugs is a product designed to simplify the use of Mybatis. It expands and enhances Mybatis, and realizes the simplified operation of mybatis CRUD. You don't need to write basic additions, deletions, changes, and query SQL, all through BaseMapper.

6. Distributed architecture

Insert picture description here
Description: The
core is the Spring Cloud family bucket based on Spring boot's microservice architecture, the most mainstream microservice framework at present.
In a distributed system, the complexity of the system will increase a lot, resulting in many distributed problems, typical:
distributed unique ID, distributed lock, distributed transaction, current limit, fuse, downgrade, load balancing, service governance, service Monitoring, call link monitoring and other issues.

7. Server middleware

Insert picture description here

8. Server technology

Insert picture description here

9. Container technology

Insert picture description here

10. Business solutions

Insert picture description here

to sum up

1. The path of technology is very pure. You can endure loneliness if you have suffered hardship. If you consolidate your technical skills, you can naturally find a satisfactory job.
2. Do not superficially understand the technology. If you know what a technology is, just write your understanding on your resume. Once you have written a demo, you will be familiar with it. Be responsible for every technical term written on your resume.
3. Difficult to walk, difficult to walk, lifelong learning, make more records to summarize and reflect.
4. Don't think about getting rich overnight, and wealth freedom. Down-to-earth, there is a certain amount of capital to have more choices and enjoy more beautiful things.

I hope to fight monsters with everyone and upgrade, and I can go further and further on the road of programmers.

Note: The pictures in the article are all intercepted from dark horse programmers, and the front-end part of the original text is intercepted. At present, most of the front-end and back-end are separated, and everyone's energy is limited, so the energy is used on the blade. Many free tutorials for dark horse programmers are still good, I recommend you to learn them.
Website link: http://yun.itheima.com/map/javaeetree?pc&1910zzpts

More exciting, follow me.
Legend: Follow the old man to learn java

Guess you like

Origin blog.csdn.net/w1014074794/article/details/108562935