自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wenyixicodedog的博客

wenyixicodedog的博客

  • 博客(5)
  • 收藏
  • 关注

原创 Java多线程 之 Semaphore源码分析

​目录 1、背景介绍 2、运行实例 3、源码分析一、背景介绍信号量(Semaphore),也被称为信号量,是在多线程环境下使用的一种工具类, 它负责协调各个线程, 以保证它们能够以一定数量地、正确、合理的使用公共资源。 每一个线程获取到一个计数信号量后,计数信号量就会减1,知道计数信号量为0,表示计数信号量已经不可用了,在许可可用前会阻塞每一个 acquire()。。拿到信号量的线程可以进入代码,否...

2020-11-30 00:24:51 188 1

原创 seata源码初始启动报错(protobuf)

seata,前身fescar,是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。seata源码导入到idea中第一次启动server端的时候,编译会报错如下:很明显就是protobuf包下generated不存在,其实这是由于seata的serializer项目么有编译造成的,只需要我们idea下载安装Protobuf Support插件,然后重启idea,然后

2020-11-28 22:31:26 1093

原创 netty writeAndFlush源码分析

​目录 一、 背景 二、源码一、背景writeAndFlush,顾名思义,就是写入(发送缓冲区)并且刷新,熟悉netty编码的同学对这个方法一定不会感到陌生,这方法既能将数据写到发送缓存中,也能刷新到channel中。二、源码以在动态长度解码器那节中使用的例子为入口,我们进入到writeAndFlush看看其执行逻辑。public class LengthFieldBasedFrameDecoderTestClient {...

2020-11-28 21:48:05 683

原创 netty零拷贝之CompositeByteBuf

目录一、背景简介二、netty零拷贝一、背景简介在TCP网络数据传输过程中,数据包有可能被分割为独立的几个数据包进行发送,对于服务器接收端来说,单个的数据包是没有任何意义的,只有将这些数据包组合到一起,才能接收后解码然后提供给我们的业务层进行处理,而在数据报价进行整合的过程中,零拷贝做的工作就是避免或者减少内存区域中数据的复制次数,进而提高程序的响应性能。二、netty零拷贝netty对于零拷贝有几种不同的形式,其本质上都是讲两个或者多个Byte...

2020-11-02 23:17:40 993

原创 netty ByteOrder大小端

ByteOrder直译的意思就是字节序。在计算机网络二进制传输的过程中,字节存在两种序列化顺序:高位字节序和低位字节序。高位字节序:高位字节在前,低位字节在后(内存地址低位在前,高位地址在后)。低位字节序:低位字节在前,高位字节在后(内存地址低位在前,高位地址在后)。netty中默认字节序是大端字节序,即字节高位在前,低位在后,符合人类的书写习惯。ByteOrder类也比较简单,只存在返回高位还是低位的ByteOrder和描述ByteOrder的name字段。 public fina.

2020-11-02 23:15:05 1911

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除