protostuff 是什么就不多说了,前段时间用来做通信的序列号模块
直入主题,
就是关于probuff 不支持的格式的字段,例如Date
通信的时候,客户端反序列化报错
异常信息也没办法google出一个结果来
我反复查看是否字节解析错误,是否粘包没处理好,但是没发现问题.
然后我把服务端序列化的字节存储起来,在服务端上直接反序列化 结果还是一样的错误!!!!WTF
万念俱灰之下,我开始考虑类里面定义的常量是否影响结果
最后我想起probuff部分类型是不支持的,例如 Date
再想起实体里面有Date 类型的属性.立马删除测试.
结果还是不行!project 也记得 clean了. 然后所有project clean之后再测试,结果 OK!
这里,首先我得承认对probuff的认识不够深刻,
然后我想对
protostuff 说:你tmd 在生成Schema的时候检测下会死啊!!
不支持的字段你提示一下会死啊!!!!!!!!!!!!!!!!!
写完bolg 继续测试,结果发现 报错了,第二天再测试 结果注意到了1个情况!!
因为习惯copy 序列化用的是 ProtostuffIOUtil , 反序列化用的是 ProtobufIOUtil
ProtostuffIOUtil 和 ProtobufIOUtil !!!!!!!!!!!! 我一直以为 protostuff 只是一个 protobuff的序列化工具
居然 2个可能序列化 方式不同! 导致了 ProtostuffIOUtil 生成的byte 不能用 ProtobufIOUtil 反序列化!!!!!!!!!!!!!!!!!!
我现在想知道 protostuff方式 序列化的东西 能不能在 其他客户端使用!因为 protostuff 是java的, 大概没有其他端
如果利用protostuff的性能优势,扩展性会受到限制, 以后再说吧
OMG,程序员大部分时间都浪费在这种 粗心大意的事情上了
相关推荐
为了避免这些错误,测试团队应当建立全面的测试计划,采用自动化测试工具提升效率,同时加强测试人员的专业培训,确保每一个测试环节都得到充分的关注和严格的执行。通过持续改进测试方法和流程,可以显著提高软件...
"测试典型低级错误"这个主题涵盖了编程中常见的错误类型,这些错误往往由于程序员的疏忽或者对语言理解不深导致。低级错误通常包括语法错误、逻辑错误和运行时错误,它们可能影响程序的执行或导致意料之外的结果。 ...
5. **异常处理不完整**:在`addProduct1`方法中,捕获`BMEException`后只记录了一个简单的错误信息,没有提供足够的上下文。当捕获到异常时,应记录异常的详细信息,包括异常类型和消息,以帮助诊断问题。 6. **...
java十大低级错误详解和案例,灰常不错哦!!
对于每一个方法,都应该添加适当的注释,包括但不限于方法的功能简介、参数含义等。 **正确示例**: ```java /** * 发送消息方法 */ public void sendMsg() { // 实现逻辑 } /** * 根据内容ID和产品类型查询...
Java编程中的十大低级错误是每个开发者应该避免的常见陷阱,它们不仅影响代码的可读性和维护性,还可能导致程序运行时出现各种异常。以下是这些错误的详细解释和改进建议: 1. **命名规范**:良好的命名规范是提高...
Java编程中的低级错误是开发者在编码过程中容易犯的一些常见失误,这些错误往往会影响代码的可读性、可维护性和程序的稳定性。以下是对标题和描述中提到的十大低级错误的详细解释: 1. **命名不规范**:命名应该...
例如,PCB设计中,通常会有一个由多个组件构成的控制系统,包括传感器、信息入口、处理器、功率接口和执行器件等。为了防止犯错,设计者需要对这些组件的功能和特性有深入的了解。 二、端子的选择与使用 端子在PCB...
2. 图表篇选择图表错误:选择合适的图表类型,例如,条形图用于比较两个变量,而不是求二者总和。 3. 图表篇数据排序错误:确保数据按照大小顺序、字母顺序或者价值顺序排列,不要让数据排序混乱。 4. 图表篇确保...
审计报告中的11个低级错误,千万别犯!.docx
华为常见C、C++软件编程低级错误:变量 C和C++语言是我司的主流编程语言,然而C/C++具有很多强大的语言特性,从而导致C/C++非常复杂,使得代码更容易出现BUG、难以阅读和维护。
然而,由于其复杂的特性和语法,C++编程过程中容易犯一些低级错误,这些错误可能导致程序崩溃、内存泄漏或者难以调试的问题。了解并避免这些错误是成为一名熟练C++程序员的关键。以下是"十大低级错误和C++编程规范...
在原始转换算法中,可能存在一个低级错误,导致转换后的最后一位数值不正确。这可能是由于舍入策略不当,或者在处理边界情况时的错误造成的。 改进版算法的核心目标是确保转换的准确性,特别是修正最后一位的错误。...
使用野指针是C++编程中另一个常见的错误。野指针可能导致程序崩溃或产生不确定的结果。例如:`void func(){char *p;if (NULL != p){ printf("%s", p); }}` 在这里,我们需要检查指针是否为空,以避免使用野指针的...
Java十大低级错误,一般容易犯的错误,以及解决方法
C和C++语言是我司的主流编程语言,然而C/C++具有很多强大的语言特性,从而导致C/C++非常复杂,使得代码更容易出现BUG、难以阅读和维护。
第一个故障现象:域控制器的配置错误 在一个公司中,最初由于成本的原因只部署了一台域控制器,后来增加了一台域控制器,部署过程很简单,但是在测试中发现关闭最早的一台域控制器之后,Exchange无法正常工作,当前...
Java编程中的十大低级错误是新手开发者常犯的典型错误,这些错误往往导致代码质量下降,可读性差,甚至引发程序运行时的异常。以下是对这些错误的详细解释: 1. **命名不规范**:良好的命名是代码可读性的基础。...
如果你尝试访问超出这个范围的索引,如一个长度为3的数组访问索引4,就会触发数组越界异常,程序会立即崩溃。避免这种错误的方法包括: 1. 在访问数组元素之前,检查索引是否在合法范围内。 2. 使用安全的数组访问...