摘要: 由于子系统中的任务,需要处理的数据量比较大,为了提高系统工作效率,老大要求使用多线程来执行任务,而我刚好负责流程控制这一块,当时真是被多线程折腾的死去活来,这个系统其实是有原型可以参考的,而且这个原型系统是久经考验,稳定性也很高;所以老大给我的时间并不多,我当时也没意识到难度会如此之大,但原型使用的是单线程,很多模块在单线程下跑得很欢,一到多线程就各种难了。其实现在想来,使用多线程并行处理数据,真心不算个好的决定。多线程适合处理的任务性质多为耗时的等待,或轮询判断状态。而此数据管理系统的瓶颈却是cpu运算和硬盘数据传输速度,后来测试结果也显示,多线程对性能的提升并不算太明显。当然这个不是... 阅读全文
posted @ 2013-03-07 10:36 碎景 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 分而治之思想,面对一个体系很庞大(相对我而言)的程序的开发,首先应将程序合理的划分一些层次和模块,不要至上而下的开发,不然可能呆坐半天而下不了手,应该先把下层的小模块做好,再组装起来,即使组装的时候发现了很多需要修改的地方,也不是很要紧,利用resharper和vs的强大的重构和提示功能,完成修改并不算困难。写这段话的时候,还是我实习中刚开始参加开发工作的时候(2012年的8-9月份),那时我水的一比,给我一个很小的功能模块,我都下不了手.我还记得这段话的背景是:我要开发一个小功能,读取文本文件,里面有一些坐标和卫星图像的参数信息,我需要读取出来,然后通过一个复杂的计算公式,求出某个投影坐标, 阅读全文
posted @ 2013-03-07 10:35 碎景 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 以前使用java编写功能函数的时候,总感觉模块之间的耦合和模块之间的数据传递的便利,两者有点鱼与熊掌不可兼得比如我在ReadCameraFile类中读取出camera参数数据,保存在类成员变量——arraylist中,其他类通过对象去获取这个arraylist,那么这两个类的耦合就有点高了,而且还有一个弊端就是,用arraylist保存数据,那么取出的时候,也要严格按照存入的顺序取出,比如我第一个数据是片号,第7个数据是X3的值,存取过程繁琐易出错?用map同样如此,key的值没有提示,取数据的人,同样不知道map里面有哪些key?这样以后开发大型应用的时候,很可能会乱套,而且反复的装箱和拆箱 阅读全文
posted @ 2013-03-07 09:51 碎景 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 建立一个使用struts的程序其实步骤并不是很多,1, 在web.xml里面配置好过滤器,2, 导入需要的struts Jar包。3, 设置struts.xml的监听 ,决定action由谁来处理4, 完成设置的action监听类。过滤器的种类貌似很多,还不是很清楚它们之间的区别。通过.properties文件进行字符串配置,可以配置出多种语言, android也有类似的语言国际化方案。使用的时候,通过 来调用。EL表达式: ${sessionScope.user} 表示session中取出userstruts.xml的监听方案很灵活,可以做很多的配置比如下面这个,客户端提交的表单的actio 阅读全文
posted @ 2013-03-07 09:17 碎景 阅读(145) 评论(0) 推荐(0) 编辑