这几天集中时间重拾388备份文件格式研究,使用的工具主要是netbeans、010 editor、excel。netbeans用来测试分析处的规律,用java语言实现;010 editor主要是二进制或者说十六进制的形式显示被分析文件,功能较强,主要表现在显示和组合方面;excel用来格式化显示十六进制的块,显示相应的文本或者数值,并可以添加注释,标注未知区域,为下步分析留下痕迹并做好准备。java语言远远还没有用熟,从本次应用级别的操作展现的非常充分,汗。下面记录一些java使用中犯下的错误以及个人认为需要重点关注的地方,都是小东西,但是me认为对以后少犯这种低级错误有帮助^_^
一、byte[]中的值。
从文件中读取512个字节到byte[] ba;byte应该是0到255,但是在直接转换为int类型的时候出现了负值。这个问题刚开始搞的me狼狈不堪,后来才发现是这个原因。用int i = ba[1]&0xff;才算解决问题。
二、string和stringbuffer。
前者是不可变的,后者是可变的。曾经想给string类型的变量重新赋值,呵呵,毫不客气的出错。后来对于可能变化的字符串,一律采用stringbuffer。再一点就是传入函数的字符串,如果还要传出结果,必须采用后者,即stringbuffer。
三、swtich case语句中忘掉了case中的break终止。
这个可真是害死人的。当时正为格式未定在测试,本来就不是很确定,报出一堆错误,只好从头分析,分析来分析去觉得逻辑上应该没有什么问题了,再回头一看,嘿嘿,原来是忘了break,程序就顺着执行下去了。本来的分支结果全部执行了,不错才怪呐。
四、全局变量的使用。
如果记性不算太好的,对全局变量的使用一定要慎重,那怕仅仅是再一个较长的函数中。程序要接受命令行参数,如果没有参数指定就默认获取当前目录下的所有文件作为参数。因为默认文件列表的功能是后来添加进去的,调试不成功me就死劲的在新增的代码中找啊找啊找,啥都没有发现。me甚至又找到docs仔细查阅了file的说明档,并写了好多system.out.println();来逐步确定进程,后来无意中发现是使用了args[i]的缘故。哼,没有命令行参数,处理的时候自然毫无所获了,改为file[] fa;fa[i]才算解决问题。临时变量随用随声明,用完就丢,进来不要做全局设计。int filelen;不如file.length()来的快捷方便准确。
五、hashcode和equals。
向集合中添加对象的时候,该对象会调用方法比较时候已经存在,这时候就要调用相应的方法,hashcode和equals的调用顺序是先前者然后才是后者。override这些方法可以定义自己的对象,使之在比较的时候显示出自己设想的效果。
六、unicode的表达方式。
直接char c=\uf099;是不行的,正确的方式是char c = \uf099;
七、显示某数值的hex值。
int对应的是integer,long对应的是long。为了好看些,主意tohex后继续touppercase。
八、for语句中的continue是继续的意思,还有while。
终止这次操作,继续下一个循环。
九、对日期进行加减运算时使用calendar而不是date,格式化显示用dateformat。格式化时主意locale的使用。
十、如果不想费力辨认e文,那就不要漏掉catch用的system.out。
分享到:
相关推荐
本文将深入探讨“软件测试的经验与教训”,旨在分享测试过程中的有效方法、策略以及可能遇到的问题和解决方案。 首先,软件测试的核心目标是发现并修复程序中的错误,确保软件的功能符合预期,性能稳定,并且对用户...
【标题】"Java项目经验整理.zip" 涵盖了Java编程语言在实际项目开发中的应用和经验总结。这个压缩包可能包含了一个开发者或团队在完成Java项目过程中的学习、实践和反思,旨在帮助读者理解和掌握Java技术在实际工作...
Java反编译工具Java Decompiler是开发者们在处理Java字节码时不可或缺的利器。它允许我们将已编译的.class文件...在学习和研究目的下使用反编译工具,可以帮助我们更好地理解Java程序的工作原理,并从中吸取经验教训。
- **心得感悟**:分享了郭霖在转型过程中获得的经验教训和个人感悟,鼓励读者勇敢尝试新领域。 #### 结语 本期内容不仅深入剖析了Java语言的特性和应用,还涉及了如何在不同领域进行高效编码,以及个人职业发展的...
1. **排雷小组项目开发心得.doc**:可能包含开发团队在项目过程中积累的经验和教训,对于学习项目管理和软件开发实践非常有价值。 2. **新扫雷.ppt**:可能是项目介绍或演示文稿,展示扫雷游戏的新特性、设计思路和...
这些模式通过将经验教训和解决方案编码化,可以提高代码的可读性、可维护性和复用性。以下是对标题和描述中提到的23种设计模式中部分模式的详细解释,以及在Java中的实现方式。 1. **外观(Facade)模式**:它提供...
对于学习者来说,这样的代码可以作为反面教材,了解不良编程习惯的后果,并从中吸取教训,提升编码技能。 4. **浙江大学Java课程**: 这个作业可能来源于浙江大学的Java编程课程,旨在让学生实践Java编程,理解面向...
对项目进行回顾,总结经验教训,为未来的项目提供参考。 “之前参考答案.rar”这个文件名可能包含了一些关于项目管理的练习题解答,它可能是项目管理考试或培训的一部分。这类资料可以帮助你理解项目管理的实际应用...
- **实验总结**:对实验内容的总结,强调学习到的关键点和经验教训。 5. **源程序**:压缩包中的`javanetwork`可能包含了整个实验的源代码,包括服务器端和客户端的Java程序。通过阅读这些代码,可以深入理解Java...
在学习Java的过程中,首先需要调整自己的心态,保持平和、冷静的状态。不要急于求成,也不要因为一时的挫折而放弃。记住,真正的高手是在不断地积累和实践中成长起来的。 #### 2. 系统性学习 学习Java不应过于...
PPT).pdf》和《网易开源.pptx》分别展示了腾讯微信团队和网易的开源实践,它们可能提供了如何利用Java进行高并发、大数据处理和快速迭代的策略,对于Java开发者来说,这些经验教训极具启发性。 总的来说,这个Java...
从给定的信息来看,虽然部分内容存在乱码情况,但标题和描述为我们提供了一些关于JAVA程序员心得的关键信息。接下来,我们将围绕这些心得展开讨论,并尝试从中提取出对JAVA程序员有用的知识点。 ### JAVA程序员的...
### Java实验报告知识点详解 #### 一、基础运算的Java实现 1. **计算两点之间的距离** ...通过这些实验,学习者能够逐步建立对Java编程语言的认识,掌握编程的逻辑思维,并在实际编码中运用所学知识解决实际问题。
6. **回顾总结**:理解解题过程中遇到的问题,总结经验和教训。 通过这样的练习,不仅可以提高编程技能,还能培养解决问题的思维逻辑。同时,结合源码分析,可以学习他人的优秀编码风格和解决问题的方法,这对于...
最后,总结部分会回顾设计过程,总结经验教训,对未来的改进提出建议。 参考文献提供了进一步学习设计模式的资料,而附录中的完整程序代码可供学习者参考和研究。通过这个课程设计,学习者不仅可以掌握Java编程,还...
【项目总结】("5_7_项目总结_第五组(项目完成前有组长填写).xls")和【个人总结】("5_9_个人总结_XXX(XXX姓名,项目完成前每个人填写).xls")用于项目结束时回顾,总结经验教训,提升团队和个人能力。...
- 新的编程语言在设计时往往会借鉴已有语言的成功经验和失败教训。Java 作为一种相对较新的语言,吸取了 C 和 C++ 的优点,并在此基础上进行了改进,增加了许多新特性,比如垃圾回收机制和严格的类型检查,这使得 ...
8. **我的慧通面试经历 - 西祠胡同.mht**:这可能是个人的面试经验分享,从中你可以学习到面试技巧、如何应对问题,以及如何从面试中吸取经验教训。 总之,这份压缩包涵盖了从基础到进阶的Java知识,包括理论和实践...