本文主要是介绍中高级工程师Java开发!最新美团点评Java团队面试题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
## 一、Netty概念及体系结构
#### 01 Netty——异步和事件驱动
- Java网络编程NIO选择器
- Netty的简介、谁在使用Netty、异步和事件驱动
- Netty的核心组件
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625101155867233.jpg)
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625101156580037.jpg)
#### 02 你的第一款Netty应用程序
- 获取并安装Java开发
- 下载和安装IDE、Apache Maven
- Netty客户端服务器概览
- 编写Echo客户端
- 构建和运行Echo服务器和客户端
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625101156777114.jpg)
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625101157249480.jpg)
#### 03 Netty的组件和设计
- Channel、EventLoop 和ChannelFuture
- ChannelHandler 接口 和 ChannelPipeline 接口
- 编码器和解码器
- 抽象类 SimpleChannel-InboundHandler
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625101157217418.jpg)
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625101158944919.jpg)
#### 04 传输
- 不通过 Netty 使用 OIO和 NIO
- NIO——非阻塞 I/O Epoll——用于 Linux的本地非阻塞传输
- OIO——旧的阻塞 I/O 用于 JVM 内部通信的
- Embedded 传输
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625101158131165.jpg)
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625101158218293.jpg)
#### 05 ByteBuf 类——Netty 的数据容器
- 字节级操作
- ByteBufHolder 接口
- 按需分配:Byte-BufAllocator 接口
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625101159372866.jpg)
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625101160381712.jpg)
#### 06 ChannelHandler 和ChannelPipeline
- ChannelHandler 家族
- 修改 ChannelPipeline
- ChannelHandlerContext接口
- 异常处理
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625101161424068.jpg)
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625101161467308.jpg)
#### 07 EventLoop 和线程模型
- 线程模型概述
- Netty 4 中的 I/O 和事件处理
- JDK 的任务调度 API
- 线程管理、 EventLoop/线程的分配
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625101161637306.jpg)
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625101170863072.jpg)
#### 08 引导
- Bootstrap 类
- 引导客户端和无连接协议
- 从 Channel引导客户端
- 在引导过程中添加多个ChannelHandler
- 使用 Netty 的 Channel-Option 和属性
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625101172747530.jpg)
# 最后
现在其实从大厂招聘需求可见,在招聘要求上有高并发经验优先,包括很多朋友之前都是做传统行业或者外包项目,一直在小公司,技术搞的比较简单,没有怎么搞过分布式系统,但是现在互联网公司一般都是做分布式系统。
所以说,如果你想进大厂,想脱离传统行业,这些技术知识都是你必备的,下面自己手打了一份Java并发体系思维导图,希望对你有所帮助。
**[资料获取方式:戳这里免费下载](https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB)**
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625101172585555.jpg)
这篇关于中高级工程师Java开发!最新美团点评Java团队面试题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!