Java Technology Stack (2020)
Java basics
- J2SE
- Grammar basis
- set
- Collection
- List
- ArrayList
- LinkedList
- Queue
- PriorityQueue
- ArrayDeque
- Set
- HashSet
- TreeSet
- List
- Map
- HashMap
- TreeMap
- Collection
- Reflection and class loading mechanism
- abnormal
- Generic
- annotation
- Serialization
- proxy
- I / O
- JVM 、 JMM
- Multithreading
- network programming
- Log
- J2EE
- JDBC(Java Database Connectivity)
- JNDI(Java Name and Directory Interface)
- EJB(Enterprise JavaBean)
- RMI(Remote Method Invoke)
- Java IDL / CORBA
- JSP(Java Server Pages)
- Java Servlet
- XML(Extensible Markup Language)
- JMS(Java Message Service)
- JTA (Java Transaction API)
- JTS(Java Transaction Service)
- JavaMail
- JAF(JavaBeans Activation Framework)
- Java new features
- JDK8
- Lambda
- Stream
- Java 9
- Jigsaw: Java-based Http server
- Jshell: Interactive programming environment
- Reactive Streams: Asynchronous programming
- Java 10
- Local variable type inference
- Parallel Full GC of G1
- ThreadLocal handshake mechanism
- Java 11
- ZGC
- Epsilon: garbage collector
- Enhance var
- JDK8
front end
- HTML
- CSS
- JavaScript
- JUDGMENT
- Ajax
- jQuery
- BootStrap
- View
Framework/middleware/tools/environment
- Spring family bucket
- Spring Framework
- Spring MVC
- Thymeleaf
- SpringBoot
- Spring Security
- Spring Cloud
- ORM framework
- MyBatis
- Hibernate
- JPA
- Test framework
- JUnit
- TestNG
- Nockito
- Linux
- Common commands
- Shell script
- application server
- Tomcat
- WebSphere
- Jetty
- Nginx: reverse proxy server
- Undertow
- Project management tools
- Maven
- Gradle
- Version control tool
- SVN
- Git
- Gitlib: Build a self-hosted Git project warehouse
- Service discovery/service governance
- ZooKeeper
- Eureka
- Consul
- RPC framework
- Dubbo
- gRPC
- Thrift
- Configuration Center
- Config
- Apollo
- Nacos
- Task scheduling
- Quartz
- Elastic-Job
- message queue
- RabbitMQ
- RocketMQ
- Kafka
- Security (authentication and authentication)
- Shiro
- Spring Security
- OAuth2
- sso
- cookie-redis to achieve single sign-on
- Cross-domain solution
- CAS single sign-on configuration
- Search/full text search
- ElasticSearch: search engine
- Solr: search engine
- Lecene: Full-text search
- Network framework
- Netty: Asynchronous network framework
- WebSocket: network communication protocol to realize push from server to client
- Gateway
- Zuul
- Gateway
- Load balancing
- Ribbon
- Feign
- Fuse/degrade
- Hystrix
- Link tracking and monitoring
- Zipkin
- Sleuth
- Skywalking: Distributed link tracking tool
- Activiti: BPM (Business Process Management) engine
- Log analysis and monitoring: ELK
- Logstash
- Kibana
- sonar: code quality check
- CDN acceleration
- Continuous integration/continuous deployment (CI/CD)
- Jenkins
- Virtualization technology
- Docker
- Governors
- Swarm
- WeChat development: official account, mini program
- Payment: WeChat, Alipay
- Distributed storage
- FastDFS
- Alibaba Cloud OSS
- Distributed transaction
- JTA interface: Atomikos component
- 2PC、3PC
- XA mode
- TCC mode
- tcc-transaction
- ByteTCC
- EasyTransaction
- Seat
- SAGA mode
- ServiceComb
- Seat
- LCN mode: tx-lcn
- Distributed system design
- Quartz, a preemptive distributed timer based on database locks
- Database-based
- Cache-based
- Based on zookeeper
- Consensus theory
- Distributed transaction solution
- Consistency model
- CAP theorem
- BASE theory
- Strong consistency
- Weak consistency
- Final consistency
- eBay Event Queue Solution
- TCC (Try-Confirm-Cancel) compensation mode
- Eventual consistency of cached data
- Strong consistency (two-stage submission and three-stage submission model, Paxos or Raft algorithm)
- Final consistency
- SOA
- Microservice
- Servless
- Distributed system architecture design
- Distributed transaction
- Distributed lock
- Distributed timer
database
- sql
- MySQL
- Oracle
- SQL optimization
- Database modeling/sub-database sub-table
- MyCat
- Sharding-JDBC
- Sharding-Sphere
- nosql
- Redis
- MemCache
- MongoDB
- Cache mechanism of ORM framework
Computer Basics
- Data Structures and Algorithms
- computer network
- operating system
- Principles of Computer Organization
- Software engineering
- UML design
- Assembly language
Big Data
- Java advanced (virtual machine, concurrency)
- Linux basic operation
- Hadoop (the chivalrous concept here refers to HDFS+MapReduce+Yarn)
- HBase(JavaAPI操作+Phoenix )
- Hive (Hql basic operation and principle understanding)
- Kafka
- Storm
- Scala needs
- Python
- Spark (Core+sparksql+Spark streaming )
- Machine learning algorithm and mahout library plus MLlib
- R language
- Lambda architecture
- Kappa architecture
- Kylin
- Aluxio