上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 41 下一页
摘要: 1. 需要准备好下面这些工具JDK 1.6+Maven 2或3TortoiseSVN 1.7+ (从1.7开始”.svn”目录集中放在一处了,不再每个目录下都放一份)Eclipse 3.5+这4个工具不在这里描述怎么配置了,如果你是有两三年开发经验的Java开发人员,正常来讲都一直在用了。另外,分析tomcat源代码不需要对这4个工具做什么特殊配置。2. 下载Tomcat的源代码Apache旗下的开源项目基本上都放在这: http://svn.apache.org/repos/asf里面包含了tomcat、struts、hadoop、hbase等流行的开源项目的源代码,可以直接用浏览器打开这个 阅读全文
posted @ 2012-06-26 19:27 ajian005 阅读(349) 评论(0) 推荐(0)
摘要: Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序[官方定义],整体来看其包含了以下内容:1.提供了丰富的协议编解码支持,2.实现自有的buffer系统,减少复制所带来的消耗,3.整套channel的实现,4.基于事件的过程流转以及完整的网络事件响应与扩展,5.丰富的example。本文并不对Netty实际使用中可能出现的问题做分析,只是从代码角度分析它的架构以及实现上的一些关键细节。首先来看下最如何使用Netty(其自带example很好展示了使用),Netty普通使用一般是通过BootStrap来启动,BootStrap主要分为两类 阅读全文
posted @ 2012-06-26 19:08 ajian005 阅读(272) 评论(0) 推荐(0)
摘要: Staged Event Driven Architecture (SEDA)介绍作者:朱之光http://larryzhu.bokee.com一、前言二、当前流行的两种并发处理编程模型三、SEDA架构四、小结五、参考文献一、前言Staged Event Driven Architecture (SEDA)是加州大学伯克利分校研究的一套优秀的高性能互联网服务器架构模型。其设计目标是:支持大规模并发处理、简化系统开发、支持处理监测、支持系统资源管理。本文会先对两种目前被广泛使用的网络服务器架构模型进行介绍。然后对SEDA进行详细描述。二、当前流行的两种并发处理编程模型1、多线程服务器(Threa 阅读全文
posted @ 2012-06-25 13:38 ajian005 阅读(1184) 评论(0) 推荐(0)
摘要: 常用的排序算法的时间复杂度和空间复杂度排序法 最差时间分析平均时间复杂度 稳定度 空间复杂度 冒泡排序O(n2)O(n2)稳定 O(1) 快速排序O(n2)O(n*log2n)不稳定 O(log2n)~O(n)选择排序O(n2)O(n2)稳定 O(1) 二叉树排序O(n2)O(n*log2n)不一顶 O(n) 插入排序 O(n2)O(n2)稳定 O(1) 堆排序O(n*log2n) O(n*log2n)不稳定 O(1) 希尔排序OO 不稳定 O(1)1、时间复杂度 (1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机 阅读全文
posted @ 2012-06-21 14:19 ajian005 阅读(138) 评论(0) 推荐(0)
摘要: 1. 本转载文章对设计者在性能估算上非常有参考价值;2. 负责技术运营、运维的同学前期早参与开发设计是非常有必要的,特别是一些经验丰富的同学在线上大流量下见多识广,对一些性能、瓶颈值比较熟悉;3. 开发的系统适合运营生产环境是一个上线的准入条件,否则运营成本巨大,即使上线了也是问题服务,不如在上线前就把关解决掉。给定一个问题,往往会有多种设计方案,而方案评估的一个重要指标就是性能,如何在系统设计时估算而不是在程序执行时测试得到性能数据是系统架构设计的重要技能。性能估算有如下用途:1) 多种设计方案选择;2) 评价程序实现是否足够优化;3) 向框架/服务提供方提出性能要求的依据;通过查看程序运行 阅读全文
posted @ 2012-06-20 17:55 ajian005 阅读(292) 评论(0) 推荐(0)
摘要: HP大中华区总裁孙振耀退休感言 如果这篇文章没有分享给你,那是我的错。 如果这篇文章分享给你了,你却没有读,继续走弯路的你不要怪我。 如果你看了这篇文章,只读了一半你就说没时间了,说明你已经是个“茫"人了。 如果你看完了,你觉得这篇文章只是讲讲大道理,说明你的人生阅历还不够,需要你把这篇文章珍藏,走出去碰几年壁,头破血流后再回来,再读,你就会感叹自己的年少无知。 如果你看完了,觉得很有道理,然后束之高阁,继续走进拥挤的地铁,依然用着自己昨日的观念来思考自己的未来,你的人生也将继续重复着昨日的状况。 如果你看完了,觉得那是一个过来人,对你的人生忠告,并你也愿意用他告诉你的思想去指导自己 阅读全文
posted @ 2012-06-18 16:51 ajian005 阅读(127) 评论(0) 推荐(0)
摘要: 1、为什么要进行产品重构 旧系统人员流失,系统的业务规则、原始需求谁都不清楚,需求文档、使用文档、架构文档极其缺乏,成为一个无底洞,可维护性很差。 旧系统越来越复杂,潜规则太多,原本修改一个小需求,一不小心搞得上线后影响一堆用户 旧系统的业务架构、技术架构无法满足新的业务模式需要 旧系统性能无法满足公司业务高速发展的需要 旧系统的产品生命周期已经到头,需要延长期生命周期 等等2、产品重构 VS. 重做新产品 对现有产品进行重构还是重新做一套全新的系统并没有标准答案。技术人员们都倾向于重做新系统,并都倾向于高估自身的管理能力、架构设计能力,大家都会承诺完美的架构、完美的产品规划。但如果没解决根. 阅读全文
posted @ 2012-06-10 22:48 ajian005 阅读(197) 评论(0) 推荐(0)
摘要: 采用基于数据挖掘的算法来实现推荐引擎是各大电子商务网站、SNS社区最为常用的方法,推荐引擎常用的Content-Based推荐算法及协同过滤算法(Item-Based 、User-based)在电子商务推荐系统入门v2.0、电子商务推荐系统入门基础中已经有所阐述。但从实际应用来看,对于大部分中小型企业来说,要在电子商务系统完整采用以上算法有很大的难度。1、常用推荐引擎算法问题1)、相对成熟、完整、现成的开源解决方案较少粗略分来,目前与数据挖掘及推荐引擎相关的开源项目主要有如下几类:数据挖掘相关:主要包括Weka、R-Project、Knime、RapidMiner、Orange 等文本挖掘相关 阅读全文
posted @ 2012-06-10 22:46 ajian005 阅读(233) 评论(0) 推荐(0)
摘要: 二. 分布式计算(Map/Reduce)分布式式计算,同样是一个宽泛的概念,在这里,它狭义的指代,按GoogleMap/Reduce框架所设计的分布式框架。在Hadoop中,分布式文件系统,很大程度上,是为各种分布式计算需求所服务的。我们说分布式文件系统就是加了分布式的文件系统,类似的定义推广到分布式计算上,我们可以将其视为增加了分布式支持的计算函数。从计算的角度上看,Map/Reduce框架接受各种格式的键值对文件作为输入,读取计算后,最终生成自定义格式的输出文件。而从分布式的角度上看,分布式计算的输入文件往往规模巨大,且分布在多个机器上,单机计算完全不可支撑且效率低下,因此Map/Redu 阅读全文
posted @ 2012-06-10 17:13 ajian005 阅读(289) 评论(0) 推荐(0)
摘要: 所谓分布式,在这里,很狭义的指代以Google的三驾马车,GFS、Map/Reduce、BigTable为框架核心的分布式存储和计算系统。通常如我一样初学的人,会以Google这几份经典的论文作为开端的。它们勾勒出了分布式存储和计算的一个基本蓝图,已可窥见其几分风韵,但终究还是由于缺少一些实现的代码和示例,色彩有些斑驳,缺少了点感性。幸好我们还有Open Source,还有Hadoop。Hadoop是一个基于Java实现的,开源的,分布式存储和计算的项目。作为这个领域最富盛名的开源项目之一,它的使用者也是大牌如云,包括了Yahoo,Amazon,Facebook等等(好吧,还可能有校内,不过这 阅读全文
posted @ 2012-06-10 17:11 ajian005 阅读(251) 评论(0) 推荐(0)
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 41 下一页