Extra, extra: The Alibaba P8 architect actually wrote a core notebook for Java posts, which is a great boon for programmers. Whether it is a beginner or a senior architect, I believe you can benefit a lot. This note not only covers a wide range of content, is clearly organized, but also has rich pictures and texts, making it easier for readers to understand.
General content summary: Including Java collection, JVM, multithreading, concurrent programming, design pattern, Spring family bucket, Java, MyBatis, ZooKeeper, Dubbo, Elasticsearch, Memcached, MongoDB, Redis, MySQL, RabbitMQ, Kafka, Linux, Netty, Tomcat Wait for the interview questions of the big factory, wait for the technology stack!
Since the entire document is relatively comprehensive and covers a wide range of content, it suffers from a lack of space, so only screenshots can show part of the content. If you have friends who need to obtain information, you can follow the editor + like the article, and the free method is at the end of the article.
JVM
- Thread
- JVM memory area
- JVM runtime memory
- Garbage collection and algorithms
- JAVA four reference types
- GC generational collection algorithm VS partition collection algorithm
- GC garbage collector
- JAVA IO / NIO
- JVM class loading mechanism
JAVA collection
- Interface inheritance and implementation
- List
- ArrayList (array)
- Vector (array implementation, thread synchronization)
- LinkList (linked list)
- Set
- HashSet(Hash表)
- TreeSet (binary tree)
JAVA multithreaded concurrency
- JAVA Concurrent Knowledge Base
- JAVA thread implementation / creation method
- 4 types of thread pools
- Thread life cycle (state)
- 4 ways to terminate threads
- The difference between sleep and wait
- The difference between start and run
- JAVA background thread
- JAVA lock
- Basic thread method 4.1.11. Thread context switch
- Synchronization and deadlock
- Principle of Thread Pool
- JAVA blocking queue principle
- Usage of CyclicBarrier, CountDownLatch, Semaphore
- The role of volatile keyword (variable visibility, prohibit reordering)
- How to share data between two threads
Spring principle
Spring features
Spring core components
Spring common modules
Spring main package
Spring common annotations
Spring third-party integration
Spring IOC principle
Spring APO principle
Spring MVC principle
Spring Boot principle
JPA principle
Mybatis cache
Tomcat architecture
Microservice
- What do you know about microservices?
- What are the advantages of microservice architecture?
- What are the characteristics of microservices?
- What are the best practices for designing microservices?
- How does the microservice architecture work?
Netty 与RPC
- Netty principle
- Netty high performance
- Netty RPC implementation
- Key technology
- Core process
- Message codec
- Communication process
- RMI implementation
The internet
- 7-layer network architecture
- TCP/IP principle
- TCP three-way handshake/four waved hands
- HTTP principle
- CDN principle
- Distribution service system
- Load balancing system
- Management system
Log
- Slf4j
- Log4j
- LogBack
- Logback advantages
- ELK
Kafka
- Kafka concept
- Kafka data storage design
- Data files of partition (offset, MessageSize, data)
- Data file segmentation (sequential read and write, segment command, binary search)
- Data file index (segment index, sparse storage)
- Producer design
- Load balancing (partitions will be evenly distributed to different brokers)
- Batch send
- Compression (GZIP or Snappy)
- Consumer design
Dubbo aspect
- Why use Dubbo?
- What are the layers of Dubbo's overall architecture design?
- What communication framework is used by default, are there other options?
- Is the service call blocking?
- What registry is generally used? Are there other options?
- What serialization framework is used by default, and what else do you know?
- What is the principle that the service provider can achieve the failure kick-out?
- Why does the service launch not affect the old version?
- What protocol does Dubbo recommend?
Hbase
- Hbase concept
- Columnar storage
- Hbase core concept
- Hbase core architecture
- Hbase write logic
- HBase vs Cassandra
- MongoDB
- MongoDB concept
- MongoDB features
Cassandra
- Cassandra concept
- Data model
- Cassandra consistent hash and virtual node
- Gossip protocol
- Data replication
- Data write request and coordinator
- Data read request and background repair
- Data storage (CommitLog, MemTable, SSTable)
- Secondary index (Generate RowKey for the value summary to be indexed)
- Data read and write
Design Patterns
- Design Principles
- Factory method pattern
- Abstract factory pattern
- Singleton mode
- Builder mode
- Prototype mode
- Adapter mode
- Decorator mode
- Agency model
- Appearance mode
- Bridge mode
- Combination mode
- Flyweight model
- Strategy mode
- Template method pattern
- Observer mode
- Iterative subpattern
- Chain of Responsibility Model
- Command mode
- Memo mode
database
- Storage engine
- index
- Three paradigms of database
- Database is transaction
- Stored procedure (a set of SQL statements for a specific function)
- Trigger (a program that can be executed automatically)
- Database concurrency strategy
- Database lock
- Distributed lock based on Redis
- Classification table
- Two-phase commit agreement
- Three-phase commit agreement
- Flexible transaction
- CAP
Consensus algorithm
- Paxos
- Zab
- Raft
- NWR
- Gossip
- Consistency Hash
- Consistent Hash feature
- Consistency Hash principle
JAVA algorithm
- Binary search
- Bubble sort algorithm
- Insertion sort algorithm
- Quick sort algorithm
- Hill sorting algorithm
- Merge sort algorithm
- Bucket sorting algorithm
- Base sorting algorithm
- Pruning algorithm
- Backtracking algorithm
- Shortest path algorithm
- Largest array algorithm
- Longest Common Subsequence Algorithm
- Minimum spanning tree algorithm
data structure
- Stack
- Queue
- Link
- Hash Table
- Sorted binary tree
- Red black tree
- B-TREE
- bitmap
Hadoop
- Hadoop concept
- HDFS
- Client
- NameNode
- Secondary NameNode
- DataNode
- MapReduce
- JobTracker
- TaskTracker
- Task
- Reduce Task execution process
- Hadoop MapReduce job life cycle
- Job submission and initialization
- Task scheduling and monitoring.
- Task operating environment preparation
- Task execution
- Homework completed
Spark
- Spark concept
- Core architecture
- Core components
- SPARK programming model
- SPARK calculation model
- SPARK operation process
- SPARK RDD process
- SPARK RDD
Storm
- Storm concept
- Cluster architecture
- Nimbus (master-code distribution to Supervisor)
- Supervisor (slave-manages the start and termination of the Worker process)
- Worker (process that specifically handles component logic)
- Task
- ZooKeeper
- Programming model (spout->tuple->bolt)
- opology operation
- Storm Streaming Grouping
- ResourceManager
- NodeManager
- ApplicationMaster
- YARN operation process
cloud computing
- SaaS
- PaaS
- IaaS
- Docker
- Openstack
- Namespaces
- Process (process isolation implemented by CLONE_NEWPID)
- Libnetwork and network isolation
- Resource isolation and CGroups
- Mirroring and UnionFS
- Storage driver
This essential core note for Java post written by the architect of Alibaba P8 is free to share with everyone, hoping that through self-learning, the depth and breadth of technology can be improved to a different level.
Since the entire document is relatively comprehensive and covers a wide range of content, it suffers from a lack of space, so only screenshots can show part of the content. If you have friends who need to get information, you can follow the editor + like the article and scan the code to get it.