使用备忘录模式(Memoization Pattern)提高性能
这个模式说白了,就是将需要进行大量计算的结果缓存起来,然后在下次需要的时候直接取得就好了。因此,底层只需要使用一个Map就够了。
但是需要注意的是,只有一组参数对应得到的是同一个值时,该模式才有用武之地。
在很多算法中,典型的比如分治法,动态规划(Dynamic Programming)等算法中,这个模式运用的十分...
分类:
编程语言 时间:
2014-10-30 10:23:31
阅读次数:
207
在项目中遇到需要记录操作日志的需求,由于是一个外挂系统,因此不用考虑到公司框架的限制,直接二层架构直连数据库,考虑使用log4net连接DB2。请宽恕我这个非软工科班出身的IT小白,以前一直在知道有个log4net,但在工作中公司有一套自己的框架记履历,一直没有机会接触。这次嘛,正好就这个机会小试身...
分类:
数据库 时间:
2014-10-29 23:42:06
阅读次数:
286
2009-09-16 07:362624人阅读评论(10)收藏举报前序:Sqlite3的确很好用。小巧、速度快。但是因为非微软的产品,帮助文档总觉得不够。这些天再次研究它,又有一些收获,这里把我对sqlite3的研究列出来,以备忘记。这里要注明,我是一个跨平台专注者,并不喜欢只用windows平台。...
分类:
数据库 时间:
2014-10-29 21:25:07
阅读次数:
610
不多说,直接上代码,其实也就是先用GET的方法去获取,如果值为空,在用POST方法去获取写下来是为了方便和备忘function getParam($str){ if ( isset($_GET[$str]) ) $t_Val = trim($_GET[$str]); else i...
分类:
Web程序 时间:
2014-10-29 19:11:10
阅读次数:
185
递归优化
很多算法都依赖于递归,典型的比如分治法(Divide-and-Conquer)。但是普通的递归算法在处理规模较大的问题时,常常会出现StackOverflowError。处理这个问题,我们可以使用一种叫做尾调用(Tail-Call Optimization)的技术来对递归进行优化。同时,还可以通过暂存子问题的结果来避免对子问题的重复求解,这个优化方法叫做备忘录(Memoizatio...
分类:
编程语言 时间:
2014-10-29 10:54:45
阅读次数:
395
A、设置全屏的方法很多就不多说了,常见如下两种(记录用以备忘):1、在Androidmanifest.xml文件中设定,如:2、在响应activity中oncreate里面做添加如下代码getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULL...
分类:
移动开发 时间:
2014-10-28 11:54:24
阅读次数:
148
1、删除整个目录,包括空目录 rd D:\管理\2012新同学练习\.svn /s/q /s 删除当前目录及子目录 /q 不询问直接删除2、拷贝目录树 xcopy D:\管理\2012新同学练习 E:\03.内部系统\2012新同学练习 /s/e/k/i/q xcopy c:\. d:...
分类:
其他好文 时间:
2014-10-28 11:49:11
阅读次数:
208
1、全屏、缩放模式和对齐选项的设置在主Application中获取stage要使用[this.]systemManager.stage,而不是[this.]stage,因为在Application的initialize和creationComplete事件处理函数中,Application的stage都为null!设置全屏可以在Application的creationComplete事件处理函..
分类:
其他好文 时间:
2014-10-27 19:46:34
阅读次数:
215
Android联系人中联系人列表页的ListView做得用户体验非常好的,于是想把它从源码中提取出来,以便日后使用。写了一个简单的例子,一方面算是给自己备忘,另一方面跟大家分享一下。 好了,先来看看效果图: 向上挤...
分类:
移动开发 时间:
2014-10-27 17:53:29
阅读次数:
506
堆排序的原理也非常简单,只是实现起来要注意一些细节(比归并排序稍微麻烦那么一点点),本文将详细解释堆排序的内部原理以及实现细节,备忘。
分类:
编程语言 时间:
2014-10-27 17:27:19
阅读次数:
207