[编织消息框架][设计协议]bit基础】的更多相关文章

理论部分 1字节等于8比特,也就是8个二进数,如下面公式 1Byte = 8bits = 0111 1111 1Short = 2Btye 1Int = 4Byte 那学这些有什么用呢? 可以用来做数据存储,如状态,操作类型 如:拿1Byte演示 操作数据 状态数据 小结:1个Byte可以存储 -127~127 个数,也就是有256个标识可以使用 我们可以用4bits做状态,4bits做操作,1Byte容量组合成两种数据 小提示:可以用计算器来计算转换,window系统在附件里能找到 有的状态是…
理论部分 一个long占8byte,大多数应用业数值不超过int每次传输多4byte会很浪费 有没有什么办法可以压缩long或int呢? 答案是有的,原理好简单,如果数值不超过int.max_value的话就"自动变成"int类型 现在问题又出现了读取时如果知道原来的类型是什么? 可以先写一个byte是什么类型,再写入值,读时先读一个byte,根据类型做不同解释 源码解读 public abstract class PacketUtil { public final static by…
OpCode的全称 OpCode(Operation Code) 操作码的意思. OpCode 有几种域组成,不同领域格式组成不同 1.指令号 2.数据范围 3.数据内容 如 {code}{addr range}{data} {1}{2-5}{2至5地址内容为 "你好"} {2}{6-10}{6至10地址内容为 "hello"} 这种编码可以应用到其它领域,本项目用的格式是 {data model}{data} QOpCode 类维护所有opCode /** * @…
eventLoop从命名上看是专门处理事件 事件系统主要由线程池同队列技术组成,有以下几个优点 1.任务出队有序执行,不会出现错乱,当然前提执行线程池只有一个 2.解偶系统复杂度,这是个经典的生产者/消费者模型,生产者只需要生成执行上下文需要的数据,消费者集中实现处理逻辑,无需要关注太多关系层次问题 3.可根据业务按单一类型事件独立分配一套event system ,提高并行处理而又解决一些并行产生的并发问题 那作为一个消息框架,处理的事件有那些呢? 主要分为系统事件同用户事件 如消息编解码.s…
应用动态代理技术要先掌握annotation技术 注解是JDK1.5之后才有的新特性,JDK1.5之后内部提供的三个注解 @Deprecated 意思是“废弃的,过时的” @Override 意思是“重写.覆盖” @SuppressWarnings 意思是“压缩警告” 注解可以加在类名,方法,参数,属性等,为开发者自定义编译处理,JPA是基于注解的,Spring2.5以上都是基于注解的,Hibernate3.x以后也是基于注解 所以注解是做框架必备技术 先来看看如何书写Annotation im…
Java异常体系结构 Thorwable类所有异常和错误的超类,有两个子类Error和Exception,分别表示错误和异常. 其中异常类Exception又分为运行时异常(RuntimeException)和编译时异常(checked Exception), 下面将详细讲述这些异常之间的区别与联系: 1.Error与Exception Error是程序无法处理的错误,比如OutOfMemoryError.ThreadDeath等.这些异常发生时, Java虚拟机(JVM)一般会选择线程终止.…
基础部份: 接下来讲编译JAVA时,生成自定义class 我们用 javax.annotation.processing.AbstractProcessor 来处理 public abstract class AbstractProcessor implements Processor { protected ProcessingEnvironment processingEnv; public Set<String> getSupportedOptions() { SupportedOpti…
动态代理这篇比较长,是框架组成的重要基础 回顾下学到的应用技术 1.异常应用 2.annotation技术 3.数值与逻辑分享 4.jdk.cglib.javassist等动态代理技术 5.懒处理.预处理.编译处理 6.rpc设计,与实现 7.扫描class 8.系统服务水平扩展支持…
上面测试论证系统内核在read data时会阻塞,如果我们在把第一个阶段解决掉那么性能就会提高 NIO 编程 JDK 1.4中的java.nio.*包中引入新的Java I/O库,其目的是提高速度.实际上,“旧”的I/O包已经使用NIO重新实现过,即使我们不显式的使用NIO编程,也能从中受益.速度的提高在文件I/O和网络I/O中都可能会发生,但本文只讨论后者.NIO 简介 NIO我们一般认为是New I/O(也是官方的叫法),因为它是相对于老的I/O类库新增的(其实在JDK 1.4中就已经被引入…
OSI(Open System Interconnect),即开放式系统互联. 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互联模型. 该体系结构标准定义了网络互连的七层框架(物理层.数据链路层.网络层.传输层.会话层.表示层和应用层),即ISO开放系统互连参考模型. OSI网络体系结构各层协议: (1)应用层:TELNET.FTP.TFTP.SMTP.SNMP.HTTP.BOOTP.DHCP.DNS(2)表示层:                        …