ICode9

精准搜索请尝试: 精确搜索
  • netty(二)从BIO至NIO的演进2022-05-01 22:04:55

    一、传统BIO实现对话的例子 Server服务端 /** * BIO服务端 * * @author 有梦想的肥宅 * @date 2022/5/1 */ public class BIOServer { public static void main(String[] args) throws Exception { //1、创建一个服务端的套接字,监听8000端口 ServerSock

  • netty系列之:netty中的frame解码器2022-04-28 14:02:53

    目录简介LineBasedFrameDecoderDelimiterBasedFrameDecoderFixedLengthFrameDecoderLengthFieldBasedFrameDecoder总结 简介 netty中的数据是通过ByteBuf来进行传输的,一个ByteBuf中可能包含多个有意义的数据,这些数据可以被称作frame,也就是说一个ByteBuf中可以包含多个Frame。 对于

  • netty系列之:netty中的自动解码器ReplayingDecoder2022-04-27 14:02:39

    目录简介ByteToMessageDecoder可能遇到的问题ReplayingDecoder的实现原理总结 简介 netty提供了一个从ByteBuf到用户自定义的message的解码器叫做ByteToMessageDecoder,要使用这个decoder,我们需要继承这个decoder,并实现decode方法,从而在这个方法中实现ByteBuf中的内容到用户自定义

  • netty系列之:netty中的核心解码器json2022-04-26 14:04:12

    目录简介java中对json的支持netty对json的解码总结 简介 程序和程序之间的数据传输方式有很多,可以通过二进制协议来传输,比较流行的像是thrift协议或者google的protobuf。这些二进制协议可以实现数据的有效传输,并且通过二进制的形式可以节省数据的体积,在某些速度和效率优先的情况下

  • Netty使用中出现java.base/java.lang.String cannot be cast to io.netty.buffer.ByteBuf2022-04-23 15:33:22

    原因:解码器用错,客户端或服务端选择ByteBuf封装消息,但是ChannelInitializer继承类中使用了String的解码器,String不能转成ByteBuf,把消息解码成String抛出来了。解决方法:1.去掉解码器                  2.客户端或服务端的消息不用ByteBuf封装,直接传String

  • Netty2022-04-23 13:31:09

    Netty Netty介绍和应用场景 Netty的介绍 Netty 是由 JBOSS 提供的一个 Java 开源框架,现为 Github上的独立项目。 Netty 是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可 靠性的网络 IO 程序 Netty主要针对在TCP协议下,面向Clients端的高并发应用,或者Peer-to-Pe

  • 【Netty】——Reactor模式详解2022-04-15 16:00:06

    我想大家都经历过学习优秀开源框架的痛苦,特别是第一次看源码,直接从一个类的方法一步步跳转下去的漩涡。极客时间里软件设计之美专栏提到:了解一个软件、框架的设计应该从三部分着手 ——模型、接口、实现。Netty的整体架构,基于了一个著名的模式——Reactor模式。Reactor模式,是高性

  • netty技术总结2022-04-15 13:03:00

    netty技术总结 本篇博文涉及技术点: 网络:select、poll、epoll、多路复用器 序列化:java自带序列化、google protobuff(性能节省10倍) 零拷贝:直接内存(堆外内存)、mmap、sendfile等7种零拷贝策略 设计思想: reactor编程(响应式编程,SpringMVC中的controller也是这种) 无锁串行化设计(redis中

  • netty 实现https服务器2022-04-12 20:03:13

    0 概述netty 通过JDK的SSLEngine,以SslHandler的方式提供对SSL/TLS 安全传输的支持,极大的简化了开发工作。本文主要讲述如何使用netty实现简单的https服务器。 1 SSL单向认证所谓的单向认证,即客户端只验证服务端的合法性,服务端不会验证客户端。单向认证过程的总结如下:1.SSL客户端(浏

  • Netty-012022-04-10 21:31:24

     Netty简介 Netty 是由 JBOSS 提供的一个 Java 开源框架,现为 Github 上的独立项目。 Netty 是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络 IO 程序。 Netty 主要针对在 TCP 协议下,面向 Client 端的高并发应用,或者 Peer-to-Peer

  • Netty之非阻塞处理2022-03-31 17:02:00

    Netty 是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络 IO 程序。 一、异步模型 同步I/O : 需要进程去真正的去操作I/O; 异步I/O:内核在I/O操作完成后再通知应用进程操作结果。 怎么去理解同步和异步? 同步:比如服务端发送数据给客户端,客户端中的处理器

  • netty系列之:NIO和netty详解 不知归期12022-03-09 19:31:43

    简介 netty为什么快呢?这是因为netty底层使用了JAVA的NIO技术,并在其基础上进行了性能的优化,虽然netty不是单纯的JAVA nio,但是netty的底层还是基于的是nio技术。 nio是JDK1.4中引入的,用于区别于传统的IO,所以nio也可以称之为new io。 nio的三大核心是Selector,channel和Buffer,本文我

  • netty系列之:NIO和netty详解2022-03-09 19:02:18

    目录简介NIO常用用法NIO和EventLoopGroupNioEventLoopGroupSelectorProviderSelectStrategyFactoryRejectedExecutionHandlerEventLoopTaskQueueFactoryNioEventLoop总结 简介 netty为什么快呢?这是因为netty底层使用了JAVA的NIO技术,并在其基础上进行了性能的优化,虽然netty不是单纯

  • netty系列之:EventExecutor,EventExecutorGroup和netty中的实现2022-03-04 14:02:00

    目录简介EventExecutorGroupEventExecutorEventExecutorGroup在netty中的基本实现EventExecutor在netty中的基本实现总结 简介 netty作为一个异步NIO框架,多线程肯定是它的基础,但是对于netty的实际使用者来说,一般是不需要接触到多线程的,我们只需要按照netty框架规定的流程走下去,自

  • Netty实现心跳机制demo2022-03-03 10:01:25

    1.springboot项目,首先引入Netty的pom: <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.25.Final</version> </dependency> 2

  • Netty学习之编解码器2022-03-03 09:02:52

    如果将消息看作是对于特定的应用程序具有具体含义的结构化的字节序列—它的数据。那么编码器是将消息转换为适合于传输的格式(最有可能的就是字节流);而对应的解码器则是将网络字节流转换回应用程序的消息格式。 在了解Netty编解码之前,先了解Java的编解码: 编码(Encode)称为序列化, 它

  • netty2022-03-01 10:33:25

    netty decode extends LengthFieldBasedFrameDecoder 协议解码器 LengthFieldBasedFrameDecoder是netty解决拆包粘包问题的一个重要的类 public LengthFieldBasedFrameDecoder( int maxFrameLength, //1024*1024*20 最大帧长度。也就是可以接收的数据的最大长度

  • Netty如何高效接收网络数据?一文聊透ByteBuffer动态自适应扩缩容机制2022-02-23 12:05:08

    本系列Netty源码解析文章基于 4.1.56.Final版本 前文回顾 在前边的系列文章中,我们从内核如何收发网络数据开始以一个C10K的问题作为主线详细从内核角度阐述了网络IO模型的演变,最终在此基础上引出了Netty的网络IO模型如下图所示: 详细内容可回看《从内核角度看IO模型的演

  • NETTY基础知识2022-02-22 19:02:54

    网络IO总体上分为( 这里 的比喻不错): 阻塞非阻塞 阻塞的方式写起来很简单:当链接可读的时候就读一些,不可读的时候就等待: ServerSocket serverSocket = new ServerSocket(8787); while (true) { Socket socket = serverSocket.accept(); // TODO 交给线程池进行处理。 }

  • RocketMQ的invokeSync call timeout异常的解决办法2022-02-22 14:00:27

    缘起 在RocketMQ客户端的DefaultMQPushConsumer的start方法被执行时,时不时会报出invokeSync call timeout异常,如下: Caused by: java.lang.IllegalStateException: org.apache.rocketmq.remoting.exception.RemotingTimeoutException: invokeSync call timeout at org.apache.rock

  • 11 | 如何实现高性能的异步网络传输?2022-02-21 10:04:10

    1.应用场景 主要用于学习如何实现高性能的异步网络传输, 同步,异步网络模型的区别,以及各自的使用场景。 2.学习/操作 1.文档阅读 11 | 如何实现高性能的异步网络传输?-极客时间 2.整理输出 原文文档 你好,我是李玥。上一节课我们学习了异步的线程模型,异步与同步模型最大的区别是

  • netty搭建rpc框架2022-02-21 09:02:56

    介绍 netty想必大家都不陌生,我就不废话介绍了...(主要是懒,网上资料很多的) 功能 rpc远程调用框架,实现了个注册中心微服务,整合了springboot例子... 具体功能和如何使用,看github github地址:https://github.com/lvlq73/netty 喜欢的话点个小星星就好 如果有什么可优化的点或不清楚的点

  • 【netty】(1)---BIO NIO AIO演变2022-02-18 20:32:10

    【netty】(1)---BIO NIO AIO演变 BIO NIO AIO演变      Netty是一个提供异步事件驱动的网络应用框架,用以快速开发高性能、高可靠的网络服务器和客户端程序。Netty简化了网络程序的开发,是很多框架和公司都在使用的技术。 Netty并非横空出世,它是在BIO,NIO,AIO演变中的产物,是一种NI

  • 【netty】(2)---搭建一个简单服务器2022-02-18 20:31:08

    netty(2)---搭建一个简单服务器 效果:当用户访问:localhost:8088 后 服务器返回 “hello netty”; 一、服务端线程模型 下面的做法是服务端监听线程和 IO 线程分离,类似于 Reactor 的多线程模型,它的工作原理图如下(盗的图):这里netty版本是4.1.25 <dependency> <grou

  • netty系列之:可以自动通知执行结果的Future,有见过吗?2022-02-18 19:34:22

    目录简介JDK异步缘起netty中的ExecutorFuture的困境和netty的实现总结 简介 在我的心中,JDK有两个经典版本,第一个就是现在大部分公司都在使用的JDK8,这个版本引入了Stream、lambda表达式和泛型,让JAVA程序的编写变得更加流畅,减少了大量的冗余代码。 另外一个版本要早点,还是JAVA 1.X的

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有