上一篇文章主要讲了netty的read过程,本文主要分析一下write和writeAndFlush。 主要内容 本文分以下几个部分阐述一个java对象最后是如何转变成字节流,写到socket缓冲区中去的 pipeline中的标准链表结构 一个标准的pipeline链式结构如下 数据从head节点流入 ...
分类:
Web程序 时间:
2019-09-16 11:59:58
阅读次数:
101
本文链接:https://blog.csdn.net/bingbeichen/article/details/83617163 Java中的IO部分比较复杂,具体可参看书籍《Java NIO》和《Netty权威指南》。在此,仅对BIO、NIO和AIO进行概述性梳理,未涉及到具体实现细节,后续有空将深 ...
分类:
其他好文 时间:
2019-09-15 10:35:44
阅读次数:
100
如今,我们想要开发一个网络应用,那是相当地方便。不过就是引入一个框架,然后设置些参数,然后写写业务代码就搞定了。 写业务代码自然很重要,但是你知道: 你的数据是怎么来的吗?通过网络传输过来的呗。 你知道网络是通过什么方式传输过来的吗?光纤呗,TCP/IP协议呗。 看起来都难不住我们的同学们,但是,以 ...
分类:
Web程序 时间:
2019-09-12 23:14:12
阅读次数:
425
通读本文,你会了解到1.netty如何接受新的请求2.netty如何给新请求分配reactor线程3.netty如何给每个新连接增加ChannelHandler netty中的reactor线程 netty中最核心的东西莫过于两种类型的reactor线程,可以看作netty中两种类型的发动机,驱动着 ...
分类:
Web程序 时间:
2019-09-11 12:05:26
阅读次数:
113
堆外内存简介DirectByteBuffer这个类是JDK提供使用堆外内存的一种途径,当然常见的业务开发一般不会接触到,即使涉及到也可能是框架(如Netty、RPC等)使用的,对框架使用者来说也是透明的。堆外内存优势堆外内存优势在IO操作上,对于网络IO,使用Socket发送数据时,能够节省堆内存到堆外内存的数据拷贝,所以性能更高。看过Netty源码的同学应该了解,Netty使用堆外内存池来实现零
分类:
编程语言 时间:
2019-09-10 11:33:29
阅读次数:
113
1、引言 Netty 是一个广受欢迎的异步事件驱动的Java开源网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。 本文基于 Netty 4.1 展开介绍相关理论模型,使用场景,基本组件、整体架构,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目方面提供参考。 本文作者的另两 ...
分类:
Web程序 时间:
2019-09-07 22:09:45
阅读次数:
118
谈谈 Callable 任务是怎么运行的?它的执行结果又是怎么获取的? 向线程池提交Callable任务,会创建一个新线程(执行任务的线程)去执行这个Callable任务,但是通过Future get获取任务的执行结果是在提交任务的调用者线程中,那问题一:调用者线程如何获取执行任务的线程的结果? 在 ...
分类:
其他好文 时间:
2019-09-06 23:08:05
阅读次数:
101
疯狂创客圈 Java 分布式聊天室【 亿级流量】实战 【 博客园 总入口 】 [toc] 1.写在前面 1.1 实战Netty集群的理由 Java基础练习中,一个重要的实战练习是: java的聊天程序。基本上,每一个java工程师,都有写过自己的聊天程序。 实现一个Java的分布式的聊天程序的分布式 ...
分类:
Web程序 时间:
2019-09-05 23:18:02
阅读次数:
200
[JAVA] 实战高可用的JAVA微服务架构-Spring Cloud系列 小马哥JAVA微服务架构实践视频教程 百度网盘: https://pan.baidu.com/s/11dncR9yiOkyFL9avaf21rg 密码b8s5 [JAVA] 全力打造JAVA高性能项目 Netty+Sprin ...
分类:
编程语言 时间:
2019-09-03 11:51:46
阅读次数:
118
问题 问题1:为什么netty用NIO,而不是AIO 问题2:IO读写数据的流程是什么?数据走向是什么样的 问题3:阻塞和非阻塞之间有直接的效率区分么? 问题4: 其他 1. jvm为什么要使用堆外内存,堆外内存如何做数据拷贝 2. netty的零拷贝是真的零拷贝么?是怎么实现的? 参考: http ...
分类:
其他好文 时间:
2019-09-02 19:29:16
阅读次数:
130