- 博客(26)
- 收藏
- 关注
原创 电子商务概念
电子商务(EC = e-commerce = eCommerce = electronic commerce或EB = e-business = electronic business)是发生在开放网络上的企业与企业之间(B2B = Business to Business)、企业与消费者(B2C = Business to Customer)之间或客户对客户(C2C = Customer to ...
2011-07-09 14:10:49
279
原创 电子商务业务
电子商务业务有如下特点:1) 业务流程复杂;2) 业务处理过程中需要与多个平台交互;3) 业务需求变化频繁;针对上述问题,如何快速搭建后台业务,应对复杂的业务需求,同时能够使更多的代码得到重用,减少开发人员的工作量,是我们的当务之急。业务框架以类似工作流的机制,通过配置组装业务,提升了代码乃至业务层面的重用率,可以快速响应需求变更。并且统一封装通信协议,简化对外交互的复杂度。基...
2011-07-07 14:59:20
177
原创 前置机的概念
前置机是一般存在于前台客户端和后台服务器之间,扮演适配器的角色,即:在不同的通信协议、数据格式或语言之间相互转换。它还起着管理和调度前台所发起的交易作用,经过前置机的调度,可以减轻后台服务器的负担,并且有时在客户端和后台服务器间起着防火墙的作用。这样可以起到隐藏后台的功能,在一定程度上确保后台的安全性。在角色上,前置系统永远是服务端和客户端的集合体,即:前台终端的服务器和后台服务器的客户端。有...
2011-07-07 13:37:47
3126
原创 JVM堆模型、GC垃圾算法
基本概念堆/HeapJVM管理的内存叫堆;在32Bit操作系统上有4G的限制,一般来说Windows下为2G,而Linux 下为3G;64Bit的就没有这个限制。JVM初始分配的内存由-Xms指定,默认是物理内存的1/64但小于1G。JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4但小于1G。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制,可以由 ...
2011-06-20 12:18:02
172
原创 top命令看到的系统CPU占用率
top - 09:19:42 up 19 days, 11:03, 3 users, load average: 1.37, 1.54, 1.61Tasks: 214 total, 3 running, 211 sleeping, 0 stopped, 0 zombieCpu(s): 10.6% us, 1.6% sy, 0.0% ni, 87.5% id, 0.0% wa,...
2011-06-19 10:58:13
151
原创 HeapAnalyzer和MOD4J分析Java内存泄漏
内存泄漏是比较常见的一种应用程序性能问题,一旦发生,则系统的可用内存和性能持续下降;最终将导致内存不足(OutOfMemory),系统彻底宕掉,不能响应任何请求,其危害相当严重。同时,Java堆(Heap)中大量的对象以及对象间之复杂关系,导致内存泄漏问题的探测和分析均比较困难,采用相应的辅助工具是很必要的。我使用的比较多的是Memory Dump Diagnostic for Jav...
2011-06-15 20:06:30
139
原创 VisualVM监控备忘(2)
内存和CPU评测(Profile)结果我注意到,当我开始评测(profiling)时,类和方法中的指令执行总是要让我等上好一段时间。尤其是在IDE里,这段时间不算短,不过还算可以接受吧。内存和CPU评测对这些IDE的意义不是很大。但进行这个分析所带来的一个方便之处就是:你很容易就可以找到程序哪个地方发生了内存泄漏。以下是对这几个IDE的评测结果。在这些IDE的评测结果中,我们可以看到一...
2011-06-15 20:02:48
156
原创 VisualVM监控备忘(1)
VisualVM简介简单说来,VisualVM是一种集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分析能力。所有这些都是免费的!它囊括的命令行工具包括jstat, JConsole, jstack, jmap 和 jinfo,这些工具与JDK的标准版本是一致的。 你可以使用VisualVM生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、执行内存和CPU分析,同时它还支持在MB...
2011-06-15 20:00:51
455
原创 VisualVM监控备忘(n)
在java多线程程序运行时,多数情况下我们不知道到底发生了什么,只有出了错误的日志的时候,我们才知道原来代码中有死锁。撇开代码检查工具,我们先讨论一下利用VisualVM监控,分析我们的多线程的运行情况。(注:实践本文内容的JDK的版本需要1.6.07以上)什么是VisualVMVisualVM是JDK的一个集成的分析工具,自从JDK 6 Update 7以后已经作为Sun的JD...
2011-06-15 19:59:33
328
原创 红黑树的Java实现
红黑树可能是要考虑情况最多的BST树了,它有自己的规则(见代码的注释),通过这些规则可以保证花费较小的代价来达到相对平衡。注意,红黑树仍然不是平衡树,但是统计性能要好于AVL树。要保持红黑树的规则,主要通过两类操作,一类是换色,一类还是旋转。红黑树插入主要要解决红-红冲突,而删除主要则解决“双黑”同样,红黑树的删除节点实现是最复杂的,不过,复杂也就在于考虑的情况多,掌握了这几种情况实现还是不困难。...
2011-06-15 19:46:07
122
原创 排序算法: 归并排序,堆排序,桶式排序,基数排序
六 归并排序算法思想是每次把待排序列分成两部分,分别对这两部分递归地用归并排序,完成后把这两个子部分合并成一个序列。归并排序借助一个全局性临时数组来方便对子序列的归并,该算法核心在于归并。package algorithms;import java.lang.reflect.Array;/*** @author yovn**/public class MergeSorter<E ext...
2011-06-15 19:44:25
74
原创 排序算法复习:插入,冒泡,选择,Shell,快速排序
为了便于管理,先引入个基础类:package algorithms;/*** @author yovn**/public abstract class Sorter<E extends Comparable<E>> {public abstract void sort(E[] array,int from ,int len);public final void sort(...
2011-06-15 19:42:30
92
原创 Lambda Probe实时监控和管理的Apache Tomcat
Lambda Probe(以前称为Tomcat Probe)是一款实时监控和管理的Apache Tomcat实例的基本工具。 Lambda Probe 是基于 Web + AJAX 的强大的免费开源工具,可以用来实时管理一个单独的host。LambdaProbe拥有几乎所有Tomcat Manager的功能,可以说是一个增强版本的 Tomcat Manager。除此之外,Tomcat Pr...
2011-06-15 19:36:29
221
原创 Web服务器性能/压力测试工具http_load、webbench、ab、Siege
一、http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工 具,它可以以一个单一的进程运行,一般不会把客户机搞死。还可以测试HTTPS类的网站请求。 下载地址:http://soft.vpser.net/test/http_load/http_load-12mar...
2011-06-15 19:30:03
233
原创 敏捷过程备忘
1.当开始研发新产品或者已有产品的新模块时,由于各方面的原因,整个团队没有能力在Sprint 的开始就做出一份非常详实的计划,因此,采用“照明弹”策略绝对不失为一个好办法。2.对于每一个Story,要尽可能了解它的需求。3.在开发过程中,为了提高交流的效率,要尽量避免把精力浪费在不必要的文档上,取而代之的是要提倡团队之间面对面的直接交流。4.在实际工作中,Scrum 提倡团...
2011-06-11 22:58:47
93
原创 敏捷开发词典
Agile敏捷开发。Backlog一项工作。Build指已经编译、构建好的一个可运行的软件版本。Burndown Chart用来显示当前还剩下多少工作未完成的图形化工具。通常以时间为横轴,以本次迭代要完成的工作为纵轴。Code Review代码审核,通常由非代码编写者完成。Daily Scrum Meeting每日Scrum 会议。每天15 分钟的每...
2011-06-11 22:56:34
117
原创 Scrum 与CMM/CMMI 与ISO9001冲突吗
公司去年下半年刚刚通过CMM5 认证,对于国内企业来说,通过这个认证需要相当的实力和软件管理水平。当然,从软件管理上来讲,我们采用的是传统的瀑布模式,但是目前我们也想在公司的一些部门推广使用敏捷的办法,尤其是Scrum。公司现有的规章制度不能改变,还是要严格遵守CMM/CMMI 的一些要求,我不是特别清楚Scrum 与CMM/CMMI 的关系,另外还有ISO9001的这样的质量标准,他们之...
2011-06-11 17:24:44
556
原创 IBM Rational Team Concert(RTC)
IBM Rational Team Concert(RTC)是第一个基于Jazz 技术的商业产品,也是Rational 的下一代协作软件交付平台。 RTC 特别适合敏捷开发团队,主要提供了3 大块内容,分别是工作项管理(Work Items)、版本控制管理和构建管理。RTC 是基于Eclipse 的,所以采Eclipse 开发IDE的团队使用RTC 将是非常方便的。这样做,RTC...
2011-06-11 16:42:40
1031
原创 Sprint 回顾会议
Scrum 十分强调Sprint 回顾会议的重要性。从我们团队实施Scrum 这段时间以来的经验和教训来看,我也认为定期的回顾是很有必要的。 Sprint 回顾会议,顾名思义,是为了在Sprint 刚刚结束的时候及时总结这个Sprint 中的得与失,使团队在各方面持续成长。这就像一次比赛,在中场休息的时候,教练为队员们指出比赛中的亮点和不足,让他们在接下来的比赛中能更好地发挥。这...
2011-06-11 15:11:05
781
原创 “鸡”和“猪”的故事
Scrum 把软件开发项目中的各种角色形象地分为两类,一类是“鸡”,一类是“猪”。 故事的来历是这样的。 一只鸡和一头猪是朋友。一天,鸡对猪说:“咱们合伙开个餐馆吧!”猪觉得挺有意思,说道:“这个主意不错,那咱们的餐馆该叫什么名字呢?”鸡说:“叫火腿和鸡蛋吧。”猪马上不干了,说:“那谢谢了,我不参与了。如果要开这个餐馆,我得把自己全部贡献出来,需要全身心地投入,而你只需要投入一...
2011-06-10 23:00:45
509
原创 Sprint 回顾会议
Sprint 回顾会议由产品责任人、Scrum 团队和Scrum Master 参加,会议中需要讨论有哪些好的建议或方法应该被采纳,在Sprint 中有什么做法不可取,有哪些做法效果很好,应该继续下去。 Sprint 结束后,Scrum 团队回顾刚结束的Sprint,对其进行总结和反思,使整个团队能持续成长。 Sprint 回顾会议的形式可以比较随意,主要做到以下这些方...
2011-06-10 17:05:03
395
原创 Sprint 评审会议
Sprint 评审会议在Sprint 结束时召开,由开发团队展示这个Sprint 中完成的功能,长度为两个小时左右,不需要PPT,一般是已经完成功能的Demo,而且客户、管理层、Product Owner 以及其他开发人员等都可以参加。在每个Sprint 结束时,应该组织一次Sprint 评审会议。Scrum 开发团队将在会上展示他们在这个Sprint 中所做的工作,一般采用向大家演示产品...
2011-06-10 16:51:41
1110
原创 什么是User Story
Sprint Backlog 里的项目我们通常用User Story 来描述,User Story 是从用户角度对系统的某个功能模块所作的简短描述。一个User Story 描述了项目中的一个小功能,以及这个功能完成之后将会产生什么效果,或者说能为客户创造什么价值。 User Story 要由Stakeholder 来编写。User Story 的形式很简单,人们可以很容易地掌握...
2011-06-08 15:24:12
1377
原创 什么是产品Backlog?什么是Sprint Backlog?
产品Backlog 指根据初始需求分解出的任务列表,包括功能性的和非功能性的所有功能,由Product Owner 为Product Backlog 中的任务确定优先级别,当开发团队开始某个任务的时候,再精确定义和分解这个任务。 产品Backlog 是产品所要具备的所有功能的总纲。当一个项目刚刚开始时,没人能够事先预见到所有的任务和需求,并为之制定一个充分、详细而又包罗万象的计划...
2011-06-08 15:08:16
2211
原创 敏捷开发方法的误解
有的人对采用敏捷开发是否能真的有效提高效率并生产出成功的产品表示怀疑。他们认为,在敏捷方法中,由于没有经理的管理和约束,团队和项目必然是一团糟,仿佛越是上层越有这种想法。敏捷开发的理念是信任开发团队,信任每一个人。试想一下,如果你们这个团队对你们的项目充满激情,而老板又充分信任你们,那么你们必会将更多的时间花在如何有效地提高生产率、如何创新地完成某个功能等方面,而不是按老板的意思按部就班地工作...
2011-06-08 12:35:44
202
原创 Scrum之旅
个体和交互重于过程和工具 敏捷方法认为,人是软件开发中最重要的因素。开发团队成员之间有效的交流、沟 通与协作,比单纯的编程能力更为重要。人与人面对面的交流,是最有效、最迅速的交 换信息的方式可以工作的软件重于面面俱到的文档 过多的文档需要开发人员花费大量时间来维护。文档应该是为程序服务的,因此应当短小精悍、易于维护,而且主题突出。敏捷方法认为最根本的...
2011-06-08 12:23:57
87
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人