web123456

JAVA backend development learning route

Programming basics (master)

JAVA syntax

Java Basics
JVM
  • Class loading mechanism
  • Bytecode execution mechanism
  • JVM memory model
  • GC garbage collection
  • JVM performance monitoring and fault location
  • JVM Tuning
Multi-threaded
  • The basics of concurrent programming
  • Thread pool
  • Lock
  • Concurrent container
  • Atomic class
  • JUC concurrency tool class

Data structureand algorithm

Data structure
  • String
  • Array
  • Link List
  • Heap, stack, queue
  • Binary Tree
  • Hash
  • picture
algorithm
  • Sort
  • Find
  • greedy
  • Dividing
  • Dynamic planning
  • Backtracking

Computer network

  • ARP protocol
  • IP, ICMP protocol
  • TCP, UDP protocols
  • DNS, HTTP/HTTPS protocols
  • Session/Cookie

MySQL database

  • Writing SQL statements
  • Optimization of SQL statements
  • Transaction, isolation level
  • index
  • Lock

operating system

  • Processes, threads
  • Concurrency, lock
  • Memory management and scheduling
  • I/O Principle

Design Pattern

  • Single case
  • factory
  • acting
  • Strategy
  • Template method
  • Observer
  • adapter
  • Chain of responsibility
  • Builder

R&D tools

Integrated development environment

  • Eclipse
  • Intellij IDEA
  • VSCode

LinuxSystem (understand)

  • Commonly used commands
  • Shell scripts

project management/Build Tools (Master)

  • Maven
  • Gradle

Code Management Tools (Learn)

  • SVN
  • Git

Application framework

rear end

Spring Family Framework (Master, 2-3month)
  • Spring
    • IoC
    • AOP
  • SpringMVC
  • Spring Boot
    • Automatic configuration, out of the box
    • Integrate the web
    • Integrate database (transaction issues)
    • Integration permissions
      • Shiro
      • Spring Security
    • Integrate various middleware
      • Redis, MQ, RPC framework, NIO framework
Server Framework
  • Web Server
    • Nginx (Important)
  • Application Server
    • Tomcat
    • Jetty
    • Undertow (better performance)
Middleware (to deal with high concurrency and large capacity)
  • cache
    • Redis(Master, Important, 2week)
      • Book: "Redis Design and Practice"
      • 5 basic data types
      • Transactions
      • pipeline
      • Persistence
      • Cluster
  • Message queue (just learn one)
    • RocketMQ
    • RabbitMQ
    • Kafka (Big Data)
  • RPC framework
    • Dubbo
    • gRPC
    • Thrift
    • Spring Cloud
    • Netty
  • Database Framework
    • ORM layer framework(master)
      • Mybatis
      • Hibernate
      • JPA
    • Connection pool(master)
      • Druid
      • HikariCP
      • C3P0
    • Library and table
      • MyCAT
      • Sharding-JDBC
      • Sharding-Sphere
  • Search Engines (Learn)
    • ElasticSearch
    • Solr
  • Distributed/Microservices (understand, 2-3week)
    • Service Discovery/Register
      • Eureka
      • Consul
      • Zookeeper (Important)
      • Nacos
    • Gateway
      • Zuul
      • Gateway
    • Service call (load balancing)
      • Ribbon
      • Feign
    • Fuse/Downgrade
      • Hystrix
    • Configuration Center
      • Config
      • Apollo
      • Nacos
    • Authentication and authentication (slightly important)
      • Spring Security
      • OAuth2
      • SSO single sign-on
    • Distributed transactions
      • JTA interface-Atomikos component
      • 2PC、3PC
      • XA mode
      • TCC mode—tcc-transaction, ByteTCC, EasyTransaction, SeaTa
      • SAGA mode—ServiceComb, Seata
      • LCN mode—tx-Icn
    • Task Scheduling
      • Quartz
      • Elastic-Job
    • Link tracking and monitoring
      • Zipkin
      • Sleuth
      • Skywalking
    • Log Analysis and Monitoring—ELK
      • ElasticSearch
      • Logstash
      • Kibana
  • Virtualization/Containerization
    - Containerization - Docker
    - Container orchestration technology - Kubernetes, Swarm

Front-end (understand)

  • Basic package (a general understanding, 2-3 days)
    • Three major items
      • HTML
      • JavaScript
      • CSS
    • Basic library
      • jQuery
      • Ajax
  • Template frame
    • JSP/JSTL (Obsolete)
    • Thymeleaf
    • FreeMarker
  • Componentized framework
    • Vue
    • React
    • Angular

Operation and maintenance knowledge (configuration)

  • Web Server
    • Nginx
  • Application Server
    • Tomcat
    • Jetty
    • Undertow
  • CDN acceleration
  • Continuous Integration/Continuous Deployment
    • Jenkins
  • Code quality check
    • sonar
  • Log collection and analysis
    • ELK

The Road to God

  • Tearing the source code with bare hands
  • Making wheels barefoot
  • Depth adjustment with eyes closed
  • Beat the interviewer

Smooth landing