Tomcat源码分析--MessageBytes类

来源:互联网 发布:云服务器软件 编辑:程序博客网 时间:2024/06/01 08:17

socket在传输http报文信息的时候是以字节的形式传输的,但是Java中用的是char和string类型。有一个问题是并不是任何时候都需要同一种形式,所以需要有这样一个类:

可以在需要的各种类型之间相互转化,并且这种转化是可以控制的,只在需要的时候转化并且转化之后的形式可以被记录。

消息字节类就实现了这样一些功能,其内部维护了三个类型的变量用来保存同一种数据的不同形式,通过使用消息字节类实现了延迟加载,从而在一定程度上提高了性能

以下是该类的变量定义

这里写图片描述
这里写图片描述

从变量的定义就可以大概知道messagebytes类的实现,下面是类中方法部分:

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

想在字节类型和字符串类型之间进行转化还需要指定编码集

这里写图片描述

指定了编码集之后messagebytes类就可以很灵活地在内部的各个数据类型之间进行转化了,下面是它的三个计算方法,通过这三个方法就可以很方便地在需要的时候进行类型的转化了

这里写图片描述
这里写图片描述

这里写图片描述

当然除了这些方法,该类还提供了进行比较和查找的方法,不过都是基于具体的类型,在方法中进行判断然后调用相关类型的处理方法,所以此处就不进行说明了

原创粉丝点击