Foreword:
I have read a lot of Java knowledge points before, but many of the materials are scattered and incomplete. A PDF document like this, there are not many materials organized by knowledge points, so I think I am I found the treasure, so I specially share it with everyone. Those who need it can pick it up. I personally think it's very useful. You can decide if you want this at the end of the article!
table of Contents
1. Jvm 2. Java collection 3. Java multi-threaded concurrency 4. Java basics 5. spring principle
6. Microservice 7. NETTY and RPC 8. Network 9. Log 10. Zookeeper
11.Kafka 12.RabbitMQ 13.Hbase 14.MongoDB 15.Cassandra
16. Design pattern 17. Load balancing 18. Database 19. Consistency algorithm 20. Java algorithm
21. Data structure 22. Encryption algorithm 23. Distributed cache 24. Hadoop 25. Spark
26.Storm 27.YARN 28. Machine learning 29. Cloud computing
JVM
JVM memory area
JVM is a hypothetical computer that can run Java code, including a bytecode instruction set, a set of registers, a stack, a garbage collection, a heap and a storage method domain. JVM runs on the operating system, it has no direct interaction with the hardware
Java Collection
JAVA multi-threaded concurrency
Spring principle
It is a comprehensive one-stop solution for enterprise application development, which runs through the presentation layer, business layer, and persistence layer. But Spring can still integrate seamlessly with other frameworks.
Spring features
- Lightweight
- Inversion of Control
- Face-to-face
- container
- Frame collection
Microservice
Service registration discovery
Service registration is to maintain a register, which manages all service addresses in the system. When the new service is started, it will give its address information to the register. The relying party of the service directly requests the address of the Service Provider from the register. There are many tools currently used for service registration, such as ZooKeeper, Consul, Etcd, and eureka from Netflix. There are two forms of service registration: client registration and third-party registration.
Netty 与 RPC
Netty principle
Netty is a high-performance, asynchronous event-driven NIO framework, based on the API provided by JAVA NIO. It provides support for TCP, UDP and file transfer. As an asynchronous NIO framework, all IO operations of Netty are asynchronous and non-blocking. Through the Future-Listener mechanism, users can easily obtain IO operations actively or through the notification mechanism. result.
The internet
Log
Zookeeper
Zookeeper concept
Zookeeper is a distributed coordination service that can be used for service discovery, distributed locks, distributed leader election, configuration management, etc. Zookeeper provides a tree structure similar to the Linux file system (it can be considered as a lightweight memory file system, but only suitable for storing a small amount of information, not suitable for storing a large number of files or large files at all), and provides for each node Monitoring and notification mechanism
to sum up:
The content of the article is a simple introduction. The content of the document is far more than that. Due to space limitations, I will not share them one by one. The introduction of pdf knowledge points is very detailed. This document has more than 200 pages. It can be seen that friends who need it before can pick it up, and the way to get it can be seen in the picture