写给 Java 开发者的 Kotlin 教程 (2) - 基础语法

作为教程的第一章,我们先从 基础语言 开始了解一下 Kotlin,并了解和 Java 的不同之处。

Kotlin 是由 JetBrains 开发的一门编程语言, 也就是那个出品了一些列著名 IDE 比如 IntelliJ IDEA, PhpStorm, PyCharm, ReSharper的公司。
Kotlin 运行在 JVM 之上,并且可以可以编译成 JavaScript 和 机器码 (敲黑板)。
这是本片教程的第一章,我们先看看 Kotlin 的一些特性,让我们快速的了解 Kotlin 语言的特点。
Zuul2的难产,终于在 2018.4.13 上架了中心仓库,也代表着Zuul正式加入Netty全家桶的怀抱,关于 Zuul2 有一篇宏观性的博文有兴趣的可以阅读 Zuul 2 : The Netflix Journey to Asynchronous, Non-Blocking Systems 此篇博客。
ByteBuf 是 Netty 底层支撑。缓冲区是不同的通道之间传递数据的中介,JDK中的ByteBuffer操作复杂,而且没有经过优化,所以在netty中实现了一个更加强大的缓冲区 ByteBuf 用于表示字节序列。ByteBuf在netty中是通过Channel传输数据的,新的设计解决了JDK中ByteBuffer中的一些问题。
ChannelPipeline是整个Netty的流程处理的中心,整个结构如下图所示

在 ChannelPipeline.html 有非常详细的文档。
每个channel内部都会持有一个ChannelPipeline对象pipeline。pipeline默认实现DefaultChannelPipeline内部维护了一个DefaultChannelHandlerContext链表。
Acceptor 是 Netty 提供一个接收器。

还记得 Reactor模式 中那个的Acceptor正是连接了 MainReactor 和 SubReactor的核心所在,我们上文已经分析了Netty的 NioServerChannel,这篇我们就来分析下,Netty究竟是怎么去接受请求并且维护链接的。