- 浏览: 39461 次
- 性别:
- 来自: 杭州
最新评论
文章列表
电子商务(EC = e-commerce = eCommerce = electronic commerce或EB = e-business = electronic business)是发生在开放网络上的企业与企业之间(B2B = Business to Business)、企业与消费者(B2C = Business to Customer)之间或客户对客户(C2C = Customer to Customer)的商业交易,是贸易活动的电子化,是通过因特网进行的各种商务活动。
B2B的典型例子是阿里巴巴,B2C的成功例子是亚马逊(Amazon)和中国互动出版网(china-pub)等,C2C的 ...
电子商务业务有如下特点:
1) 业务流程复杂;
2) 业务处理过程中需要与多个平台交互;
3) 业务需求变化频繁;
针对上述问题,如何快速搭建后台业务,应对复杂的业务需求,同时能够使更多的代码得到重用,减少开发人员的工作量,是我们的当务之急。
业务框架以类似工作流的机制,通过配置组装业务,提升了代码乃至业务层面的重用率,可以快速响应需求变更。并且统一封装通信协议,简化对外交互的复杂度。基于配置的数据和服务管理可以降低服务修改的停机时间。
前置机是一般存在于前台客户端和后台服务器之间,扮演适配器的角色,即:在不同的通信协议、数据格式或语言之间相互转换。它还起着管理和调度前台所发起的交易作用,经过前置机的调度,可以减轻后台服务器的负担,并且有时在客户端和后台服务器间起着防火墙的作用。这样可以起到隐藏后台的功能,在一定程度上确保后台的安全性。
在角色上,前置系统永远是服务端和客户端的集合体,即:前台终端的服务器和后台服务器的客户端。有时还充当双重服务器和客户端。
在架构上,前置系统往往是核心业务系统的统一接入平台,WEB,SMS、自助设备等终端设备都可以通过前置系统统一接入到后台,所以前置系统实际就像生产体系的一个统一发布界面。
在层 ...
基本概念
堆/Heap
JVM管理的内存叫堆;在32Bit操作系统上有4G的限制,一般来说Windows下为2G,而Linux 下为3G;64Bit的就没有这个限制。
JVM初始分配的内存由-Xms指定,默认是物理内存的1/64但小于1G。
JVM最大分配的内存由-Xmx指定,默认 ...
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, 0.0% hi, 0.3% siMem: 32910316k total, 32533252k used, 377064k free, 92452k buffersSwap: 6711 ...
内存泄漏是比较常见的一种应用程序性能问题,一旦发生,则系统的可用内存和性能持续下降;最终将导致内存不足(OutOfMemory),系统彻底宕掉,不能响应任何请求,其危害相当严重。同时,Java堆(Heap)中大量的对象以及对象间之复杂关系,导致内存泄漏问题的探测和分析均比较困难,采用相应的辅助工具是很必要的。
我使用的比较多的是Memory Dump Diagnostic for Java (MDD4J)和IBM HeapAnalyzer,这两个工具都能支持几乎所有JDK版本所生成的堆转储文件,使用前可以在两者的帮助文件中查看一下支持列表。
先说一下IBM HeapAnalyzer, ...
内存和CPU评测(Profile)结果
我注意到,当我开始评测(profiling)时,类和方法中的指令执行总是要让我等上好一段时间。尤其是在IDE里,这段时间不算短,不过还算可以接受吧。
内存和CPU评测对这些IDE的意义不是很大。但进行这个分析所带来的一个方便之处就是:你很容易就可以找到程序哪个地方发生了内存泄漏。以下是对这几个IDE的评测结果。
在这些IDE的评测结果中,我们可以看到一些很有趣的几点。例如,NetBeans中用到了大量了byte[] ,而在Eclipse和IntelliJ中就明显少得多了。另外我们还可以看到char[]在所有IDE里均被大量使用了。
◆NetBean ...
VisualVM简介
简单说来,VisualVM是一种集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分析能力。所有这些都是免费的!它囊括的命令行工具包括jstat, JConsole, jstack, jmap 和 jinfo,这些工具与JDK的标准版本是一致的。
你可以使用VisualVM生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、执行内存和CPU分析,同时它还支持在MBeans上进行浏览和操作。尽管VisualVM自身要在JDK6这个版本上运行,但是JDK1.4以上版本的程序它都能监控。
对于我来说,这些功能都是至关重要的。以前我一直在使用如YourKit这样的一 ...
在java多线程程序运行时,多数情况下我们不知道到底发生了什么,只有出了错误的日志的时候,我们才知道原来代码中有死锁。撇开代码检查工具,我们先讨论一下利用VisualVM监控,分析我们的多线程的运行情况。(注:实践本文内容的JDK的版本需要1.6.07以上)
什么是VisualVM
VisualVM是JDK的一个集成的分析工具,自从JDK 6 Update 7以后已经作为Sun的JDK的一部分。
VisualVM可以做的:监控应用程序的性能和内存占用情况、监控应用程序的线程、进行线程转储(Thread Dump)或堆转储(Heap Dump)、跟踪内存泄漏、监控垃圾回收器、执行内 ...
红黑树可能是要考虑情况最多的BST树了,它有自己的规则(见代码的注释),通过这些规则可以保证花费较小的代价来达到相对平衡。注意,红黑树仍然不是平衡树,但是统计性能要好于AVL树。要保持红黑树的规则,主要通过两类操作,一类是换色,一类还是旋转。红黑树插入主要要解决红-红冲突,而删除主要则解决“双黑”同样,红黑树的删除节点实现是最复杂的,不过,复杂也就在于考虑的情况多,掌握了这几种情况实现还是不困难。其实,红黑树其实是一颗扩充的二叉树,所以也是满二叉树,其空节点可以看做是扩充的叶节点。但是红黑树的扩充叶节点是有特殊意义的。下面是代码:
<!--<br />
<br /&g ...
六 归并排序算法思想是每次把待排序列分成两部分,分别对这两部分递归地用归并排序,完成后把这两个子部分合并成一个序列。归并排序借助一个全局性临时数组来方便对子序列的归并,该算法核心在于归并。
package algorithms;import java.lang.reflect.Array;/*** @author yovn**/public class MergeSorter<E extends Comparable<E>> extends Sorter<E> {/* (non-Javadoc)* @see algorithms.Sorter#sort(E ...
为了便于管理,先引入个基础类:
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(E[] array){sort(array,0,array.length);}protected
Lambda Probe(以前称为Tomcat Probe)是一款实时监控和管理的Apache Tomcat实例的基本工具。
Lambda Probe 是基于 Web + AJAX 的强大的免费开源工具,可以用来实时管理一个单独的host。LambdaProbe拥有几乎所有Tomcat Manager的功能,可以说是一个增强版本的 Tomcat Manager。除此之外,Tomcat Probe 还拥有很多让开发者和系统管理者更方便的性能。从而使得Tomcat对开发者和管理者更加透明。包括应用程序、数据源、发布、日志、线程、集群、系统信 息、状态、连接器状态这些功能。如配合 JDK 1. ...
一、http_load
程序非常小,解压后也不到100K
http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工
具,它可以以一个单一的进程运行,一般不会把客户机搞死。还可以测试HTTPS类的网站请求。
下载地址:http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz
安装很简单
#tar zxvf http_load-12mar2006.tar.gz
#cd http_load-12mar2006
#make && make inst ...
1.当开始研发新产品或者已有产品的新模块时,由于各方面的原因,整个团队
没有能力在Sprint 的开始就做出一份非常详实的计划,因此,采用“照明弹”策略
绝对不失为一个好办法。
2.对于每一个Story,要尽可能了解它的需求。
3.在开发过程中,为了提高交流的效率,要尽量避免把精力浪费在不必要的文
档上,取而代之的是要提倡团队之间面对面的直接交流。
4.在实际工作中,Scrum 提倡团队自我管理,在任务分配时每个人都可以按自
己的兴趣来选择任务。
5.团队成员的技能培训是要在做Sprint 计划时就考虑在内的。
6.虽然每日Scrum 会议的持续时间会根据整个团队的大小而有所不同,但是,
请不要 ...