Yanick's Blog

Be Better & Have Fun

start

Kotlin 是由 JetBrains 开发的一门编程语言, 也就是那个出品了一些列著名 IDE 比如 IntelliJ IDEA, PhpStorm, PyCharm, ReSharper的公司。

Kotlin 运行在 JVM 之上,并且可以可以编译成 JavaScript机器码 (敲黑板)。

这是本片教程的第一章,我们先看看 Kotlin 的一些特性,让我们快速的了解 Kotlin 语言的特点。

阅读全文 »

Motan

Motan 是一套基于java开发的RPC框架,除了常规的点对点调用外,Motan 还提供服务治理功能,包括服务节点的自动发现、摘除、高可用和负载均衡等。Motan 具有良好的扩展性,主要模块都提供了多种不同的实现,例如支持多种注册中心,支持多种rpc协议等。(可以看作 Dubbo 的复刻版)

跳过介绍

阅读全文 »

我们都知道 ProjectReactor 是借鉴 Rxjava 的,这个在Android开发中一个极为重要的库,现在因为后端服务采用Netty,又在Reactive的东风之下,后端也选择采用 响应式编程模式 进行开发,响应式编程不是一个新概念,响应式编程就是用异步数据流进行编程,在传统的GUI应用中因为不能阻塞 绘图IO 所以有很多基于事件的编程模式,响应式编程提高了代码的抽象水平,因此能专注于那些定义业务逻辑的事件的依存关系,而无需摆弄大量的线程相关实现细节。
下文简称 projectreactorPRR

阅读全文 »

ByteBuf

ByteBuf 是 Netty 底层支撑。缓冲区是不同的通道之间传递数据的中介,JDK中的ByteBuffer操作复杂,而且没有经过优化,所以在netty中实现了一个更加强大的缓冲区 ByteBuf 用于表示字节序列。ByteBuf在netty中是通过Channel传输数据的,新的设计解决了JDK中ByteBuffer中的一些问题。

  • 可扩展到用户定义的buffer类型中
  • 通过内置的复合buffer类型实现透明的零拷贝(zero-copy)
  • 容量可以根据需要扩展
  • 切换读写模式不需要调用ByteBuffer.flip()方法
  • 读写采用不同的索引
  • 支持方法链接调用
  • 支持引用计数
  • 支持池技术(比如:线程池、数据库连接池)
阅读全文 »

Acceptor

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

阅读全文 »

前言

关于Netty我们都知道(现在还不知道的Netty的怕是凤毛麟角)

Netty is an asynchronous event-driven network application framework
for rapid development of maintainable high performance protocol servers & clients.

Netty是一个异步事件驱动的应用框架,能够让我们更快的做一些网络开发。

阅读此系列博文,我对你的要求是 使用过原生的Java Nio进行过网络编程。
此篇博客算是我阅读Netty的笔记,会有自己探索的过程,望斧正。

阅读全文 »
0%