自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

翻身咸鱼的博客

知行合一

原创 netty源码阅读之解码之基于长度域解码器参数分析

这篇文章我们放松一点,只分析基于长度域解码器的几个参数, lengthFieldOffset :长度域的偏移量,也就是长度域要从什么地方开始 lengthFieldLength:长度域的长度,也就是长度域占多少个字节 lengthAdjustment:长度域的值的调整,也就是我们去到长度域里...

2018-09-30 18:33:19

阅读数 274

评论数 0

原创 netty源码阅读之解码之基于分隔符解码器分析

基于分隔符解码器DelimiterBasedFrameDecoder也算是比较简单的,和基于行解码器差不多一样分析既可,首先我们看一个构造函数: public DelimiterBasedFrameDecoder(int maxFrameLength, ByteBuf... delim...

2018-09-30 17:27:05

阅读数 123

评论数 0

原创 netty源码阅读之解码之行解码器分析

行解码器LineBasedFrameDecoder,我们首先看这个类的一些成员变量: /** * A decoder that splits the received {@link ByteBuf}s on line endings. * <p> * Both...

2018-09-29 21:53:23

阅读数 326

评论数 0

原创 storm提交任务成功却没有执行任务

最近storm的任务需要修改,我提交上strom集群去了,提示我提交成功了,但是任务没有执行,num worker和task等都为0。 首先我再提交之前的任务,也出现这个问题,那么说明问题出现在集群上面。 我看了一下ui那里的supervisor summary的slots有4个,used s...

2018-09-27 09:56:03

阅读数 649

评论数 0

原创 netty源码阅读之解码之基于固定长度解码器分析

固定长度解码器FixedLengthFrameDecoder比较简单,我们看下它类的注释: /** * A decoder that splits the received {@link ByteBuf}s by the fixed number * of bytes. For examp...

2018-09-25 16:48:26

阅读数 288

评论数 0

原创 netty源码阅读之解码之抽象解码器ByteMessageDecoder

ByteMessageDecoder是所有解码器的基类,它主要通过以下步骤进行解码: 1、累加字节流 2、调用子类的decode方法进行解析 3、将解析到的ByteBuf向下传播 我们看ByteMessageDecoder的channelRead方法,这个方法就是解码的开始: ...

2018-09-25 16:26:09

阅读数 277

评论数 0

原创 netty源码阅读之解码

netty编码我们分以下几点分析: 1、抽象解码器ByteToMessageDecoder 2、基于固定长度解码器分析 3、行解码器分析 4、基于分隔符解码器分析 5、基于长度域解码器参数分析 6、基于长度域解码器分析...

2018-09-13 11:08:32

阅读数 254

评论数 0

原创 canal数据同步搭建及踩坑记录

最近开始做canal数据同步方案。 canl的原理就是伪装成mysql的slave,然后悄悄地“偷数据”,复制数据吧。 至于canal的搭建,自行查看官网 mysql添加上配置并且赋上权限之后,最后canal的配置,一般只需要修改conf/example/instance.propertie...

2018-09-12 11:55:32

阅读数 12505

评论数 0

原创 netty源码阅读之ByteBuf之ButeBuf内存的释放

我们这一篇文章要使用的用户代码如下: public static void main(String[] args) { PooledByteBufAllocator allocator = PooledByteBufAllocator.DEFAULT; ...

2018-09-09 23:25:58

阅读数 1847

评论数 0

原创 netty源码阅读之ByteBuf之内存subpage级别内存的分配

subpage级别的内存分配的主要方法为:allocateTiny()。 主要分为以下三个步骤: 1、定位一个subpage对象 2、初始化subpage 3、初始化pooledByteBuf 这一次,我们的用户代码是分配16B的内存 public class Test { ...

2018-09-09 17:44:22

阅读数 388

评论数 0

原创 netty源码阅读之ByteBuf之内存page级别内存的分配

我们继续回到PoolArena的分配内存的方法: private void allocate(PoolThreadCache cache, PooledByteBuf<T> buf, final int reqCapacity) { fina...

2018-09-08 20:39:28

阅读数 494

评论数 0

原创 netty源码阅读之ByteBuf之内存概念arena、chunk、page、subpage

在PoolThreadCache里面,分两种区域,cache和arena。前面我们讲解了cache,也就是之前存在过,我们直接在cache里面获取或者分配。但是第一次的时候,cache肯定是没有的,所以就要使用到内存区域arena。 我们来看源码: final class PoolThrea...

2018-09-07 22:21:11

阅读数 452

评论数 0

原创 netty源码阅读之ByteBuf之缓存分配流程

我们还是先回到PoolArena的allocate方法: private void allocate(PoolThreadCache cache, PooledByteBuf<T> buf, final int reqCapacity) { ...

2018-09-06 22:55:20

阅读数 384

评论数 0

原创 spring boot post请求数据太大接收不到参数(参数为空)报400错误。

spirng boot发送的请求,有的参数数据量大,有的参数数据量小。数据量大的发送不到后端,报400错误。 首先说以jetty为内嵌服务器的时候: 1、修改yml文件或者properties文件, server.max-http-post-size=200*1024*1024,设置为200...

2018-09-06 09:30:10

阅读数 5617

评论数 0

原创 netty源码阅读之ByteBuf之缓存数据结构

netty分配内存的时候,有缓存和内存。我们下面两节先分析缓存的,分析缓存就要知道缓存数据结构。在这篇文章这里,我们已经知道这里有个MemoryRegionCache,一看就是缓存,那么这个MemoryRegionCache缓存的数据结构是怎么样子的呢? 一、缓存的数据结构: 我们首先看Mem...

2018-09-04 15:48:58

阅读数 439

评论数 2

原创 netty源码阅读之ByteBuf之内存规格的介绍

内存规格大致可以分为 tiny、small、normal、huge 其中tinyt、small、normal可以缓存、huge由于大于16M了,所以不缓存 netty里面,内存单元是以Chunk为单位的向操作系统申请的,一个内存单元16M;但是如果我们要分配10k的内存,用一个chunk...

2018-09-04 10:12:16

阅读数 350

评论数 0

原创 jvm常用的命令行工具

一、jinfo jinfo可以查看设置的jvm的信息, jinfo -flag MaxHeapSize [pid]  能够查看最大堆内存 jinfo -flag ThreadStackSize [pid]  jinfo -flags [pid] jinfo -flag UseConc...

2018-09-02 22:48:54

阅读数 1105

评论数 0

原创 jvm参数类型

一、标准参数: -help -server -client -showversion -cp -classpath 举例: java -version   二、X参数 X参数是非标准的参数 -Xint:解释执行 -Xcomp:第一次使用就编译成本地代码 -Xmixed:...

2018-09-02 12:04:17

阅读数 685

评论数 4

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