51CTO首页
AI.x社区
博客
学堂
精品班
软考社区
免费课
企业培训
鸿蒙开发者社区
WOT技术大会
IT证书
公众号矩阵
移动端
短视频
免费课程
课程排行
直播课
软考学堂
全部课程
厂商认证
IT技术
25年5月软考
PMP项目管理
免费题库
在线学习
文章
资源
问答
课堂
专栏
直播
51CTO
鸿蒙开发者社区
51CTO技术栈
51CTO官微
51CTO学堂
51CTO博客
CTO训练营
鸿蒙开发者社区订阅号
51CTO软考
51CTO学堂APP
51CTO学堂企业版APP
鸿蒙开发者社区视频号
51CTO软考题库
鸿蒙开发者社区
首页
帖子
问答
资源
课堂
直播
发现
登录/注册
51CTO
中国优质的IT技术网站
51CTO博客
专业IT技术创作平台
51CTO学堂
IT职业在线教育平台
活动
短视频
专栏
极客Show
鸿蒙技术特刊
我的关注
全部帖子
操作系统
OpenHarmony
HarmonyOS
其他
应用开发
卡片开发
三方库
IDE
其他
设备开发
海思开发板
树莓派
其他
框架语言
C/C++
Java
JavaScript
ArkUI / eTS
其他
其他
物联网
云原生
数据库
操作系统
大数据
人工智能
开发语言
其他
社区版务
社区公告
社区生活
意见反馈
社区规则
社区活动
默认
发布时间
热度
原创
精华
热门标签
鸿蒙
HarmonyOS NEXT
华为
一文搞懂Netty发送数据全流程 | 你想知道的细节全在这里(四)
3.3ChannelOutboundBufferChannelOutboundBuffer其实是一个单链表结构的缓冲队列,链表中的节点类型为Entry,由于ChannelOutboundBuffer在Netty中的作用就是缓存应用程序待发送的网络数据,所以Entry中封装的就是待写入Socket中的网络发送数据相关的信息,以及ChannelHandlerContextwrite方法中返回给用户的ChannelPromise。这样可以在数据写入Socket之后异步通知应用程序。此外ChannelOutboundBuffer中还封装了三个重要的指针...
lemonvita
0回复
7845浏览
Entry
一文搞懂Netty发送数据全流程 | 你想知道的细节全在这里(五)
3.3.5向ChannelOutboundBuffer中缓存待发送数据在介绍完ChannelOutboundBuffer的基本结构之后,下面就来到了Netty处理write事件的最后一步,我们来看下用户的待发送数据是如何被添加进ChannelOutboundBuffer中的。publicvoidaddMessage(Objectmsg,intsize,ChannelPromisepromise){EntryentryEntry.newInstance(msg,size,total(msg),promise);if(tailEntrynull){flushedEntrynull;}else{EntrytailtailEntry;tail.nextentry;}tail...
lemonvita
0回复
7456浏览
write
小熊派学习(一)-开发环境搭建
梅科尔工作室欢1.进行小熊派开发,首先需要软件安装,搭载编译环境具体会用到的软件如下:1.镜像虚拟机:编译时必须打开2.支持创建SSH,Telnet,Rsh,Xdmc,RDP,VNC,FTP,SFTP,串口(SerialCOM),本地Shell,Mosh,Aws,WSL(微软子系统)等超多连接功能。MobaXterm提供了人性化的操作界面,支持与主流的操作系统连接进行控制和管理操作,应用时必须打开虚拟机3.就是把网络上的存储盘(网盘)映射到电脑的本地存储:考录时必须打开4.代码编...
Sherry辛巳
0回复
6190浏览
小熊派
一文搞懂Netty发送数据全流程 | 你想知道的细节全在这里(一)
本系列Netty源码解析文章基于4.1.56.Final版本主从Reactor组完整结构.png在《Netty如何高效接收网络数据》一文中,我们介绍了Netty的SubReactor处理网络数据读取的完整过程,当Netty为我们读取了网络请求数据,并且我们在自己的业务线程中完成了业务处理后,就需要将业务处理结果返回给客户端了,那么本文我们就来介绍下SubReactor如何处理网络数据发送的整个过程。我们都知道Netty是一款高性能的异步事件驱动的网络通讯框架,...
lemonvita
0回复
8388浏览
Netty
“中国芯”再添猛将,字节或将自研芯片!
据曝料,字节跳动或准备自研芯片,大招芯片工程师,不惜从华为海思、ARM重金挖人。目前互联网三巨头BAT都在造芯,而字节跳动的加入,势必会带来国内芯片研发的又一波浪潮。01字节跳动重金挖人加码芯片研发据《科创板日报》报道,字节跳动正招聘大量芯片相关工程师岗位,包括SoC和Core的前端设计,模型性能分析,验证,底层软件和驱动开发,低功耗设计、芯片安全等。据了解,字节芯片研发团队已组建1年多,目前主攻方向分为服务...
开源news
0回复
6705浏览
字节
芯片
自研芯片
BearPi-HM Nano开发板介绍
1物联网常见通讯协议不同协议之间侧重点不同2物联网设备接入方式3鸿蒙设备开发3.1环境搭建3.2内核开发3.3驱动子系统开发4通信扩展板案例集
wx62cfebb440d85
0回复
5367浏览
新手学习
梅科尔工作室-#14天鸿蒙设备开发实战#开营直播笔记
原创
[toc](目录)开营直播笔记直播回放链接:[鸿蒙设备如何从0到1联网上云云视界Live直播云社区华为云(huaweicloud.com)](https:bbs.huaweicloud.comlivecloudlive202207111930.html)物联网开发概述物联网典型层级架构端,信息收集和信号处理边,本地数据自治、低时延管,接入和传输网络云,多协议多网络设备连接数据分析和处理行业应用,数据呈现及客户交互物联网常见通信协议CoAP是受限制的应用协议(ConstrainedApplicationProtoc...
zzuliGjq
0回复
7261浏览
小熊派
华为云
HarmonyOS
物联网
一文搞懂Netty发送数据全流程 | 你想知道的细节全在这里(二)
3.write方法发送数据write事件传播流程.pngabstractclassAbstractChannelHandlerContextimplementsChannelHandlerContext,ResourceLeakHint{OverridepublicChannelFuturewrite(Objectmsg){returnwrite(msg,newPromise());}OverridepublicChannelFuturewrite(finalObjectmsg,finalChannelPromisepromise){write(msg,false,promise);returnpromise;}}这里我们看到Netty的写操作是一个异步操作,当我们在业务线程中调用channelHand...
lemonvita
0回复
7761浏览
Netty
一文聊透Netty IO事件的编排利器pipeline |详解所有IO事件(三)
3.pipeline中的事件分类在前边的系列文章中,笔者多次介绍过,Netty中的IO事件一共分为两大类:inbound类事件和outbound类事件。其实如果严格来分的话应该分为三类。第三种事件类型为exceptionCaught异常事件类型。而exceptionCaught事件在事件传播角度上来说和inbound类事件一样,都是从pipeline的HeadContext开始一直向后传递或者从当前ChannelHandler开始一直向后传递直到TailContext。所以一般也会将exceptionCaught事件统...
lemonvita
0回复
6639浏览
netty
一文聊透Netty IO事件的编排利器pipeline |详解所有IO事件(一)
1.前文回顾在前边的系列文章中,笔者为大家详细剖析了Reactor模型在netty中的创建,启动,运行,接收连接,接收数据,发送数据的完整流程,在详细剖析整个Reactor模型如何在netty中实现的过程里,我们或多或少的见到了pipeline的身影。Reactor启动后的结构.png比如在Reactor启动的过程中首先需要创建NioServerSocketChannel,在创建的过程中会为NioServerSocketChannel创建分配一个pipeline,用于对OPACCEPT事件的编排。当NioSe...
lemonvita
0回复
6457浏览
Netty
一文搞懂Netty发送数据全流程 | 你想知道的细节全在这里(三)
3.2HeadContextfinalclassHeadContextextendsAbstractChannelHandlerContextimplementsChannelOutboundHandler,ChannelInboundHandler{Overridepublicvoidwrite(ChannelHandlerContextctx,Objectmsg,ChannelPromisepromise){unsafe.write(msg,promise);}}write事件最终会在pipeline中传播到HeadContext里并回调HeadContext的write方法。并在write回调中调用channel的unsafe类执行底层的write操作。这里正是write事件在pipeline...
lemonvita
0回复
6366浏览
write
一文聊透Netty IO事件的编排利器pipeline |详解所有IO事件(四)
3.2Outbound类事件finalclassChannelHandlerMask{outbound事件的集合staticfinalintMASKONLYOUTBOUNDMASKBINDMASKCONNECTMASKDISCONNECTMASKCLOSEMASKDEREGISTERMASKREADMASKWRITEMASKFLUSH;privatestaticfinalintMASKALLOUTBOUNDMASKEXCEPTIONCAUGHTMASKONLYOUTBOUND;outbound事件掩码staticfinalintMASKBIND1<<9;staticfinalintMASKCONNECT1<<10;staticfinalintMASKDISCONNECT1<<11;staticfinalintMASKCLOSE1<<12;staticfinal...
lemonvita
0回复
6021浏览
Netty
一个接口优雅的实现 Spring Cloud OAuth2 自定义token返回格式
今天这篇文章就来回答一个问题:如何自定义token的返回格式?问题描述SpringSecurityOAuth的token返回格式都是默认的,但是往往这个格式是不适配系统,oauthtoken返回的格式如下:{"accesstoken":token"tokentype":"bearer","refreshtoken":xxxx"expiresin":xxx,"scope":"xxx","jti":xxxx....................}然而此时系统中的统一返回格式为:{"code":xxx"data":xxx"msg":xxx}那么如何去对默认的格式进行修改呢?解决方案其实...
xawind
0回复
9027浏览
Spring Cloud
接口
Spring Security
一个注解优雅的实现 接口数据脱敏
通常接口返回值中的一些敏感数据也是要脱敏的,比如身份证号、手机号码、地址.....通常的手段就是用隐藏一部分数据,当然也可以根据自己需求定制。言归正传,如何优雅的实现呢?有两种实现方案,如下:整合Mybatis插件,在查询的时候针对特定的字段进行脱敏整合Jackson,在序列化阶段对特定字段进行脱敏基于ShardingSphere实现数据脱敏,查看之前的文章:基于ShardingSphere实现数据“一键脱敏”第一种方案网上很多实现方式,下...
xawind
0回复
8069浏览
接口数据
Jackson
spring
@Transactional 竟也能解决分布式事务?
前天朋友咨询过我一个问题,大致内容如下:这位读者什么意思呢?简单的总结下:在ShardingJDBC中明明只是简单的使用Transactional这个本地事务注解,为什么在跨库插入数据时候却能够同时回滚?我们知道单数据节点的情况下保持事务是非常简单的,只需要使用本地事务即可轻松解决,比如常用的注解:Transactional但是在分库后将会存在跨库的事务,此时本地事务还能保证事务吗?这篇文章就以球友的提问来聊一下ShardingJDBC中的本...
xawind
0回复
7576浏览
@Transactional
Spring
java
装了这几个IDEA插件,基本上一站式开发了!
前言前几天有社区小伙伴私聊我,问我都用哪些IDEA插件,我的IDEA的主题看起来不错。作为一个开源作者,每周要code大量的代码,提升日常工作效率是我一直追求的,在众多的IDEA插件中,我独钟爱这几款。这期就整理一些我日常中经常使用的IDEA插件,这些插件有些挺小众,但是的确非常提升效率,推荐给大家。VuesionTheme首先推荐是一款皮肤,每天对着看IDEA,默认的皮肤黑白两色,我个人总觉得白色太刺眼,黑色的有点太黑了,代码...
gnt_xxy
0回复
6439浏览
IDEA插件
一站式开发
插件
一网打尽异步神器CompletableFuture
最近一直畅游在RocketMQ的源码中,发现在RocketMQ中很多地方都使用到了CompletableFuture,所以今天就跟大家来聊一聊JDK1.8提供的异步神器CompletableFuture,并且最后会结合RocketMQ源码分析一下CompletableFuture的使用。Future接口以及它的局限性我们都知道,Java中创建线程的方式主要有两种方式,继承Thread或者实现Runnable接口。但是这两种都是有一个共同的缺点,那就是都无法获取到线程执行的结果,也就是没有返回值。于...
xawind
0回复
6109浏览
异步神器
CompletableFutur
RocketMQ
一文聊透Netty IO事件的编排利器pipeline |详解所有IO事件(八)
8.事件传播在本文第三小节《3.pipeline中的事件分类》中我们介绍了Netty事件类型共分为三大类,分别是Inbound类事件,Outbound类事件,ExceptionCaught事件。并详细介绍了这三类事件的掩码表示,和触发时机,以及事件传播的方向。本小节我们就来按照Netty中异步事件的分类从源码角度分析下事件是如何在pipeline中进行传播的。8.1Inbound事件的传播在第三小节中我们介绍了所有的Inbound类事件,这些事件在pipeline中的传播逻辑和...
lemonvita
0回复
6063浏览
Netty
一文聊透Netty IO事件的编排利器pipeline |详解所有IO事件(七)
6.从pipeline删除channelHandler从上个小节的内容中我们可以看到向pipeline中添加ChannelHandler的逻辑还是比较复杂的,涉及到的细节比较多。那么在了解了向pipeline中添加ChannelHandler的过程之后,从pipeline中删除ChannelHandler的逻辑就变得很好理解了。publicinterfaceChannelPipelineextendsChannelInboundInvoker,ChannelOutboundInvoker,Iterable<Entry<String,ChannelHandler>>{从pipeline中删除指定的channelHandler...
lemonvita
0回复
5476浏览
netty
一文聊透Netty IO事件的编排利器pipeline |详解所有IO事件(二)
2.1HeadContextprivatestaticfinalStringHEADNAMEgenerateName0(HeadContext.class);finalclassHeadContextextendsAbstractChannelHandlerContextimplementsChannelOutboundHandler,ChannelInboundHandler{headContext中持有对channelunsafe操作类的引用用于执行channel底层操作privatefinalUnsafeunsafe;HeadContext(DefaultChannelPipelinepipeline){super(pipeline,null,HEADNAME,HeadContext.class);持有channelunsafe操作...
lemonvita
0回复
5494浏览
Netty
暂无内容
1
367
368
369
370
371
372
373
374
375
495
精选
客服
订阅鸿蒙技术特刊,精选内容抢先看
微信扫码关注,即刻订阅