JAVA learning path

Posted Jun 16, 20202 min read

Java learning

Water a JAVA learning route? JAVA's huge ecosystem is very mature, so just sort it out casually and treat it as an article that motivates you. Future articles will focus on this content, such as the JVM that has not been updated(probably).

JavaSE basics

  • Object-oriented(OOP)
  • Interface
  • Container(collection)
  • Abnormal
  • Generic
  • Reflection
  • Notes
  • I/O

Java Virtual Machine(JVM)

  • Class loading mechanism
  • Bytecode
  • JVM memory model
  • GC garbage disposal mechanism
  • JVM performance monitoring
  • JVM performance tuning

Multithreading/concurrency

  • Concurrency basis
  • Thread Pool
  • Lock
  • Concurrent container
  • Atom
  • JUC bag

data structure

  • String
  • Array
  • Linked list
  • Heap/Stack/Queue
  • Binary tree
  • Hash

-Picture

algorithm

  • Sort
  • Find
  • Greed
  • Divide and conquer
  • Dynamic programming
  • Backtracking

computer network

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

SQL

  • SQL basics
  • SQL statement optimization
  • Transaction and isolation level
  • Index
  • Lock

operating system

  • Processes and threads
  • Concurrency and lock
  • Memory management and memory scheduling
  • I/O principle

Design patterns(21 design patterns, here are a few common examples)

  • Single case
  • Factory
  • Agent
  • Template method
  • Strategy
  • Observer
  • Adapter
  • Chain of responsibility
  • builder

development tools

  • Code management tools

    • SVN
    • Git
  • Project management tools

    • Maven
    • Gradle
  • Linux operating system

Application Framework

  • Server

    • Web server

      • Nginx
    • application server

      • Tomcat
      • Jetty
      • Undertow
  • rear end

    • Spring family

      • Spring
      • Spring MVC
      • Spring Boot
  • Persistence layer framework

    • MyBatis
    • Hibernate
    • JPA
  • connection pool

    • Driud
    • C3P0
    • Hikaricp
  • Sub-library and sub-table

    • MyCat
    • Sharding-JDBC
    • Sharding -sphere
  • Security and permissions

    • Shiro
    • Spring Security
  • Middleware

    • Cache

      • Redis
    • message queue

      • RocketMQ
      • RibbitMQ
      • Kafka
    • RPC framework

      • Spring Cloud
      • Dubbo
      • gRPC
      • Netty
  • search engine

    • Elasticsearch

Distributed/microservices

  • Service discovery/service registration

    • Zookeeper
    • Nacos
    • Eureka
    • Consul
  • Gateway

    • Zuul
    • Gateway
  • Service call

    • Ribbon
    • Fegin
  • Fuse/service degradation

    • Hystrix
  • Configuration center

    • Config
    • Apollo
    • Nacos
  • Authentication and authentication

    • SSO single sign-on
    • Spring Security
    • OAuth2
  • Distributed transactions

    • JTA

      • Atomikos
    • XA/TCC

      • tcc-transaction
      • ByteTCC
      • EasyTranscation
      • Seata
    • SAGA

      • SerriceComb
      • Seata
    • LCN

      • TX-LCN
  • Task scheduling

    • Quartz
    • Elastic-JOB
  • Link tracking and monitoring

    • Zipkin
    • SkyWalking
  • Log analysis

    • ELK
  • Virtualization/container technology

    • Docker
  • Container arrangement

    • K8S
    • Swarm

Front-end technology

  • Basic three-piece set

    • HTML
    • JS
    • CSS
  • Basic library

    • JQuery
    • Ajax
  • Template frame

    • JSP/JSTL
    • Thymeleaf
    • FreeMarker
  • Componentized framework

    • Vue
    • Node
    • React
    • Angular

Operation knowledge

  • Continuous integration/continuous deployment

    • Jenkins
  • Code quality check

    • Sonar
  • Log analysis

    • ELK

Heavy mountains stacked together, fortunate to meet.