本文主要是介绍一份非常适合收藏的Java进阶面试题!Java开发者必看,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
## 一、Netty概念及体系结构
#### 01 Netty——异步和事件驱动
- Java网络编程NIO选择器
- Netty的简介、谁在使用Netty、异步和事件驱动
- Netty的核心组件
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625864378432686.jpg)
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625864379135356.jpg)
#### 02 你的第一款Netty应用程序
- 获取并安装Java开发
- 下载和安装IDE、Apache Maven
- Netty客户端服务器概览
- 编写Echo客户端
- 构建和运行Echo服务器和客户端
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625864379118904.jpg)
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625864379913860.jpg)
#### 03 Netty的组件和设计
- Channel、EventLoop 和ChannelFuture
- ChannelHandler 接口 和 ChannelPipeline 接口
- 编码器和解码器
- 抽象类 SimpleChannel-InboundHandler
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625864379875411.jpg)
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625864380950385.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/20210710/1625864380751555.jpg)
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625864380259617.jpg)
#### 05 ByteBuf 类——Netty 的数据容器
- 字节级操作
- ByteBufHolder 接口
- 按需分配:Byte-BufAllocator 接口
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625864381340947.jpg)
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625864381240950.jpg)
#### 06 ChannelHandler 和ChannelPipeline
- ChannelHandler 家族
- 修改 ChannelPipeline
- ChannelHandlerContext接口
- 异常处理
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625864382474841.jpg)
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625864382277391.jpg)
#### 07 EventLoop 和线程模型
- 线程模型概述
- Netty 4 中的 I/O 和事件处理
- JDK 的任务调度 API
- 线程管理、 EventLoop/线程的分配
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625864382279862.jpg)
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625864382403136.jpg)
#### 08 引导
- Bootstrap 类
- 引导客户端和无连接协议
- 从 Channel引导客户端
- 在引导过程中添加多个ChannelHandler
- 使用 Netty 的 Channel-Option 和属性
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625864383926292.jpg)
## 最后
既已说到spring cloud alibaba,那对于整个微服务架构,如果想要进一步地向上提升自己,到底应该掌握哪些核心技能呢?
就个人而言,对于整个微服务架构,像RPC、Dubbo、Spring Boot、Spring Cloud Alibaba、Docker、kubernetes、Spring Cloud Netflix、Service Mesh等这些都是最最核心的知识,架构师必经之路!下图,是自绘的微服务架构路线体系大纲,如果有还不知道自己该掌握些啥技术的朋友,可根据小编手绘的大纲进行一个参考。
![image](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625864383192673.jpg)
如果觉得图片不够清晰,也可来找小编分享原件的xmind文档!
且除此份微服务体系大纲外,我也有整理与其每个专题核心知识点对应的最强学习笔记:
* 出神入化——SpringCloudAlibaba.pdf
* SpringCloud微服务架构笔记(一).pdf
* SpringCloud微服务架构笔记(二).pdf
* SpringCloud微服务架构笔记(三).pdf
* SpringCloud微服务架构笔记(四).pdf
* Dubbo框架RPC实现原理.pdf
* Dubbo最新全面深度解读.pdf
* Spring Boot学习教程.pdf
* SpringBoo核心宝典.pdf
* 第一本Docker书-完整版.pdf
* 使用SpringCloud和Docker实战微服务.pdf
* K8S(kubernetes)学习指南.pdf
需要下载的请**[点击传送门:《出神入化——SpringCloudAlibaba》](https://gitee.com/vip204888/java-p7)**
![image](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625864383818448.jpg)
另外,如果不知道从何下手开始学习呢,小编这边也有对每个微服务的核心知识点手绘了其对应的知识架构体系大纲,不过全是导出的xmind文件,全部的源文件也都在此,照样可免费分享给有需要的你!
![image](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625864383979539.jpg)
这篇关于一份非常适合收藏的Java进阶面试题!Java开发者必看的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!