1.背景 通过JavaNio实现一个简单的网络模块,有点像Netty的线程模型,一个线程(AcceptThread)建立新连接,把新连接绑定到某个SelectorThread,SelectorThread处理读/写。 AcceptThread:拥有一个Selector,上面只注册了一个ServerS ...
分类:
编程语言 时间:
2019-12-24 18:53:27
阅读次数:
84
[TOC] NIO FileChannel源码分析 目录 "NIO 概览" "NIO Buffer" "NIO Channel" "NIO Channel接口分析" "NIO SocketChannel源码分析" "NIO FileChannel源码分析" 前言 本来是想学习Netty的,但是Net ...
分类:
其他好文 时间:
2019-12-23 13:03:33
阅读次数:
101
1、RpcEndpoint: RPC端点 Spark针对每个节点(Client、Master、Worker)都称之为一个RpcEndpoint,且都实现RpcEndpoint接口,内部根据不同端点的需求,设计不同的消息和不同的业务处理,如果需要发送(询问)则内部调用Dispatcher的对应方法 说 ...
分类:
Web程序 时间:
2019-12-22 14:19:28
阅读次数:
120
在netty编程中我们绝大多数是要是用nio的,nio相比传统的io更加高效,而nio中核心概念离不开channel,buffer,selector三个重要的对象。 那么在netty中有一个channelPipeline的概念,表面理解起来是通道的意思,实际它是在数据传输过程中的通道容器。 之所以定 ...
分类:
Web程序 时间:
2019-12-21 09:56:17
阅读次数:
104
主要是通过AbstractByteBufAllocator类实现的ByteBuffer的申请。 代码如下: 会根据是否有Unsafe的类支持来判断是否需要使用“堆外内存”;如果配置了3种情况则不会使用 (1)io.netty.noUnsafe这个属性false (2)io.netty.tryUnsa ...
分类:
Web程序 时间:
2019-12-20 11:58:25
阅读次数:
115
Spring Boot非常适合web应用程序开发。可以使用嵌入式Tomcat、Jetty、Undertow或Netty创建自包含的HTTP服务器。大多数web应用程序使用spring-boot-starter-web模块来快速启动和运行。您还可以选择使用spring-boot-starter-web ...
分类:
编程语言 时间:
2019-12-19 22:59:47
阅读次数:
103
在Server端开启TCP keepalive: 两种方式 serverBootstrap.childOption(ChannelOption.SO_KEEPALIVE, true); serverBootstrap.childOption(NioChannelOption.SO_KEEPALIVE ...
分类:
Web程序 时间:
2019-12-19 21:32:34
阅读次数:
379
git clone netty 源码,运行 example 报错 全量 mvn compile -DskipTests=true 后,依然报错 手动在 netty-buffer 模块中添加对应的依赖 再次启动 example 成功! ...
分类:
Web程序 时间:
2019-12-19 11:23:31
阅读次数:
134
疯狂创客圈 Java 高并发【 亿级流量聊天室实战】实战系列 【 "博客园总入口" 】 架构师成长+面试必备之 高并发基础书籍 【 "Netty Zookeeper Redis 高并发实战" 】 前言 Crazy SpringCloud 微服务脚手架 &视频介绍 : Crazy SpringClou ...
分类:
编程语言 时间:
2019-12-17 20:31:31
阅读次数:
260
疯狂创客圈 Java 高并发【 亿级流量聊天室实战】实战系列 【 "博客园总入口" 】 架构师成长+面试必备之 高并发基础书籍 【 "Netty Zookeeper Redis 高并发实战" 】 前言 Crazy SpringCloud 微服务脚手架 &视频介绍 : Crazy SpringClou ...
分类:
其他好文 时间:
2019-12-15 23:49:47
阅读次数:
157