We all know that the IT industry is a gathering place for high-paying personnel, but it is not easy to become a high-paying programmer. A monthly salary of 20k is a threshold for Java programmers. If you want to break through, you must master more skills.
Because the career development of programmers is very fast, even people with the same starting point will quickly open up a huge gap after several years of work or study. After the waves, you will not be "slapped to death" on the beach.
Recently, as revealed by a friend, Alibaba also released a limited edition of "Java Growth Notes". The knowledge points recorded in it are very complete. After reading it, I realized that the gap is really more than a little bit!
The Java growth notes are mainly to stratify Java programmers according to their years of age, and clearly mark the route that Java programmers should follow to improve themselves and what technical points they need to learn.
The general content of Java growth notes is as follows:
0-1 year entry:
Java basic review (object-oriented + Java super class + Java reflection mechanism + exception handling + collection + generic + basic IO operation + multithreading + network programming + new features of JDK)
A Preliminary Study on Web Programming (Servlet+MySQL Database+Commodity Management System Actual Combat)
SSM from entry to proficiency (Spring+SpringMVC+Mybatis+commodity management system combat-SSM version)
Quick Start with SpringBoot (SpringBoot+Commodity Management System Based on SpringBoot)
Zero-distance Internet project actual combat (Linux+Redis+Double 11 second kill actual combat system)
1-3 years senior engineer:
Advanced concurrent programming (combat of concurrent tools + CAS + display lock analysis + internal mechanism of thread pool + performance optimization)
In-depth analysis of JVM (understanding runtime data area + interpretation of off-heap memory + JDK + troubleshooting of memory leaks + Arthas + GC algorithm and garbage collector + class loading mechanism, etc.)
Advanced MySQL
Go deep into the bottom layer of Tomcat (threading model + performance tuning)
3-5 years senior:
Database (tuning + transaction + lock + cluster + master-slave + cache, etc.)
Linux (command + production environment + log, etc.)
Middleware & distributed (dubbo+MQ/kafka, ElasticSearch, SpringCloud and other components)
5-7 years structure:
Open source framework (Spring5 source code + SpringMVC source code + Mybatis source code)
Distributed architecture (Zk actual combat + RabbitMQ+RocketMQ+Kafka)
Efficient storage (Redis+mongoDB+MySQL high availability+Mycat+Sharing-Sphere)
Microservice architecture (RPC+SpringBoot+SpringCloud Netflix+SpringCloud Alibaba+docker+k8s)
The following will introduce the knowledge points covered by the main content of this Java growth note. Due to the length of the article, only the screenshot content is shown.
If you need a full version of the PDF document, you can click here to get it for free
Part1: 0-1 year entry
1. Java basic review
2. Preliminary Study on Web Programming
3. SSM from entry to proficiency
4. Quick Start with SpringBoot
Part2: 1-3 years senior engineer
1. Advanced concurrent programming
2. JVM depth analysis
3. MySQL in-depth advanced
4. Go deep into the bottom layer of Tomcat
Part3: 3-5 years senior
1. Database
2.Linux
3. Middleware & Distributed
Part4: 5-7 years structure
Summarize
Although I often laugh at myself, I want to become a delivery specialist in ten years, but in fact, relying on my own efforts, I can reduce the anxiety after the age of thirty-five. After all, there are not many good architects.
Architect is the career goal of most of our technicians. A good architect is the result of the collaboration of opportunity (company), personal effort (hard work, willingness to study), and talent (true love). , practice + opportunity + hard work can help you become an excellent architect.
If you also want to be a good architect, then maybe you need to read the above Java growth notes, hoping to help your career development.