How much do you know about interview questions? How good is Ali Netty?

How much do you know about interview questions?  How good is Ali Netty?
Introduction
Netty is a NIO framework that can quickly develop network applications. It greatly simplifies the network programming of TCP or UDP servers. Netty's simple and rapid development does not mean that the programs developed by it will lose maintainability or have performance problems. Its design refers to the implementation of many protocols, such as FTP, SMTP, HTTP and various binary and text-based tradition The agreement, so Netty successfully achieved rapid development, performance, stability, flexibility as a whole, without compromising other aspects in order to consider one reason. Netty is still widely used. For example, Alibaba ’s open source Dubbo and Sofa-Bolt frameworks are all based on Netty.

Through the learning and interview questions about netty mentioned in this article, how to learn high-performance netty framework and some important knowledge points!

Netty basic related issues
talk about the characteristics of Netty?

What is the difference between BIO, NIO and AIO?

What is the composition of NIO?

How to use Java NIO to build a simple client and server to achieve network communication?

How to use Netty to build a simple client and server to achieve network communication?

Talk about the correspondence between Netty's low-level operations and Java NIO operations?

What is the relationship between Channel and Socket, what is the relationship between Channel and EventLoop, and what is the relationship between Channel and ChannelPipeline?

What is the relationship between EventLoop and EventLoopGroup?

Talk about some important objects in Netty, and what is the relationship between them?

What is Netty's threading model?

Sticky packs and half packs and separators related
issuesWhat is sticky packs and half packs?

Why do sticky packs and half packs appear?

How to avoid sticky pack and half pack?

How to use fixed-length FixedLengthFrameDecoder to solve sticky and half-packet problems? What is the principle?

How to use the package separator DelimiterBasedFrameDecoder to solve the problem of sticky and half-packet? What is the principle?

How does Dubbo avoid sticky and half-packet problems when using Netty as network communication?

The Netty framework itself has the problem of sticky packs and half packs?

When do you need to consider sticky packs and half packs?

WebSocket protocol development related issues
talk about how to achieve WebSocket long connection?

Tell me about the understanding of WebSocket frame structure?

Browser and server support for WebSocket

How to use WebSocket to receive and send extensive information?

How to use WebSocket to receive and send binary information?

Netty source code analysis related issues
How to initialize the server?

When to accept client requests?

When to register to accept Socket and register to the corresponding Selector managed by EventLoop?

How does the client initialize?

When was the DefaultChannelPipeline created?

Tell me about Netty's zero copy?

To learn the Netty framework correctly and systematically,
you need to understand the underlying principles of the framework, and you need to master the most commonly used principles. The framework is a part of the completed code that assists us to develop and helps us realize some functions. What we mainly master is the internal principle of the framework, that is, some internal regulations that the framework stipulates for us. With these regulations, we can be efficient The development of our code, the efficiency of doing things in accordance with regulations will be greatly improved. In fact, many times we do not pay attention to these things. A function can be implemented in many ways, but if we implement it according to the rules stipulated by the framework, it should be our more correct choice. So share a knowledge mind map of systematic learning Netty framework to friends in need, I hope it can help you!

Finally, for the mind map, the editor also compiled a set of video materials based on years of experience

(Including Kafka, Mysql, Tomcat, Docker, MyBatis, Nginx, Netty, Dubbo, Redis, Spring cloud, distributed, high concurrency, performance tuning, microservices)

Information receiving method: add QQ group 159976092, and enter the group to receive information!

Click the link to join the group chat [Java architecture professional exchange learning]: https://jq.qq.com/?_wv=1027&k=544O16F

Guess you like

Origin blog.51cto.com/14783151/2487676