一.模式概述模板方法(TemplateMethod)模式是一种非常简单而又经常使用的设计模式.先创建一个父类,把其中的一个或多个方法留给子类去实现,这实际上就是在使用模板模式.所谓的模板模式可以这样来理解:"在一个类中定义一个算法,但将此算法的某些细节留到子类中去实现.换句话说,基类是一个抽象类,那么你就是在使用一种简单形式的模板模式."更近一步可以这样来理解:"准备一个抽象类,将部分逻辑以具体方法的形式实现,然后申明一些抽象方法来迫使子类实现剩余的逻辑.
系统 2019-08-29 22:51:31 2346
由于前段时间装的CodeSmith4Beta过期,正好也收到邮件Release发布。可能各位已经使用上V4Beta的XD们很快也要遇到这个问题。于是下载了最新版,只有10天试用,本人比较懒,用了新版就不想换回老版了,于是试着摸索了V4的注册方法,居然成功了。实在没想到……首先下载Release版的CodeSmith4,地址为:www.codesmithtools.com/download/CodeSmithProfessional-40.msi安装完成后,
系统 2019-08-29 22:42:17 2346
关联规则如何并行实现呢?一个很直观的想法是要么分数据要么分计算。本文要说的是分数据,想法来自mahout的fp-tree并行实现。其中分数据的博客已在前篇mahout关联规则FPGrowthDriver源码分析之如何分数据中说明,如何建树可以在网上查找(这个相对来说比较简单)或者直接看此片论文:《MiningFrequentPatternswithoutCandidateGeneration》,这篇博客要说的是如何挖掘已经建好的FP-tree,也是参考《M
系统 2019-08-29 22:05:15 2346
关于编写viewer,关键在于使用ReportEngineAPI,这个在birt官方文档上有很详细的描述。这里将几个主要环节总结一下:启动ReportEngine这里需要注意启动ReportEngine的开销问题和图片链的协议的问题。使用IReportEngineFactory比每次new一个出来性能方面要好很多。使用HTMLEmitterConfig可以使得生成的HTML报表中的图片的src指向一个web资源而非file资源。publicIReportE
系统 2019-08-12 09:30:39 2346
跨域请求一直是网页编程中的一个难题,在过去,绝大多数人都倾向于使用JSONP来解决这一问题。不过现在,我们可以考虑一下W3C中一项新的特性——CORS(Cross-OriginResourceSharing)了。本文的所有代码均来自http://www.html5rocks.com/en/tutorials/cors/,如果您对其中的任何技术细节存在疑问,请以原文为准。客户端创建XmlHttpRequest对象对于CORS,Chrome、FireFox以及
系统 2019-08-12 09:30:32 2346
大型Web2.0站点构建技术初探一、web2.0网站常用可用性功能模块分析二、Flickr的幕后故事三、YouTube的架构扩展四、m
系统 2019-08-12 09:30:12 2346
1博弈论简介2博弈论基础知识34(一)巴什博奕(BashGame):56只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜.78若(m+1)|n,则先手必败,否则先手必胜。910显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜.因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者
系统 2019-08-12 09:27:07 2346
分布式事务必须使用的数据库支持并且提供XA连接驱动如mysql的5.0+版本驱动中就有com.mysql.jdbc.jdbc2.optional.MysqlXAConnection等这些对XA分布事务支持的连接,所以理所当然我们要使用XA事务就必须使用这种XA连接,mysql5.1是支持分布事务的,mysql驱动需要5.0+Atomikos分两个:一个是开源的TransactionEssentials,一个是商业的ExtremeTransactions。T
系统 2019-08-12 09:27:02 2346
我说的都是基于TCP消息传递的分布式。网络层:Netty,Mina.我自己用的Netty,公司用的Mina.(都是NIO,异步,当你有同步需求的时候很蛋疼,比如负载均衡)消息传输格式:googleprotocolbuffer(我用的就是这个,序列化和饭序列化速度很快,缺点:要定义格式文件,没有继承的概念!!用编译器生成java代码,所以不要想extends)集群管理,心跳,FailOver通知,leader选举:zookeeper(基本快成行业标准了。)负
系统 2019-08-12 09:26:41 2346
1一个业务保证在同一事务中2SQL语句的SQL保留字大写3不要写SELECT*FROMxxx,请将需要的字段名称写出来4Insert语句一定要给出要插入值的字段列表,以保证更改了表结构增加了字段也不会影响现有系统的运行5两张以上的表请使用别名,别名使用1到3个字符表示6多表连接时,使用表的别名来引用列7不许出现带参数的sql语句拼接,所有的参数必须用参数化传进语句中8不等于统一使用<>,不使用!=9判空,统一使用ISNULL10存储过程中不允许进行COMM
系统 2019-08-12 01:52:20 2346