摘要: 事务管理是保证数据操作的事务性(即原子性、一致性、隔离性、持久性,即所谓的 ACID)。Java中的事务类型主要有三种:JDBC事务、JTA(Java Transaction API)事务和容器事务。1. JDBC事务JDBC 事务是通过 Connection 接口( java.sql.Connection )控制的。JDBC Connection 接口提供了两种事务模式:自动提交和手工提交,支持五个事务隔离级别,两个锁密度。五个事务隔离级别是(Connection中的定义): static int TRANSACTION_NONE = 0; //JDBC驱动不支持事务 static int 阅读全文
posted @ 2013-03-26 23:52 Jevo 阅读(2388) 评论(0) 推荐(0) 编辑
摘要: Spring提供了一个相当灵活和可扩展的MVC实现——Spring MVC。Spring MVC框架主要由DispatcherServlet、处理器映射(handler)、处理器(controller)、视图解析器(ViewResolver)、视图(view)组成。Spring MVC的处理过程从一个HTTP请求开始: 1)DispatcherServlet接收到请求后,根据对应配置文件中配置的处理器映射,找到对应的处理器映射(HandlerMapping),根据配置的映射规则,找到对应的处理器(Handler)。 2)调用相应处理器中的处理方法,处理该请求,处理器处理结束后会将一个Model 阅读全文
posted @ 2013-03-25 23:39 Jevo 阅读(2337) 评论(0) 推荐(0) 编辑
摘要: 作产品页时有需要动态表格支持,故作一个示例先进行测试表格的使用。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ include file="/inc 阅读全文
posted @ 2013-03-22 22:00 Jevo 阅读(351) 评论(0) 推荐(0) 编辑
摘要: AOP称为面向切面编程,其原理来自于代理模式,通过动态代理实现给程序增加新的功能。AOP是一种编程模式,它从另一种角度来思考程序结构并对面向对象编程进行补充。AOP主要优点是:1)降低模块间的耦合度、2)使系统变得容易扩展、3)更好的代码复用。AOP的实现技术分为两大类:一是静态织入,引入特定语法在编译期间织入方面代码,如AspectJ,二是动态代理技术,利用拦截消息的方式,在消息进行装饰以取代原有对象的行为。Spring提供了基于动态AOP机制实现的AOP支持(即第二种方式),通过动态Proxy模式,在目标对象的方法调用前后插入相应的处理代码。代理模式一般有三个角色:接口、代理和真实对象。其 阅读全文
posted @ 2013-03-21 23:29 Jevo 阅读(567) 评论(0) 推荐(0) 编辑
摘要: 性能测试包括:基准测试、负载测试、强度测试、容量测试和压力测试> 基准测试:按百度百科中的定义:基准测试是指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试。> 负载测试:(Load Test):负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。通 过逐步增加系统负载,确定在满足性能指标的情况下,系统所能承受的最大负载量。 关注点:how much> 强度测试(Stress Test): 强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况,目的是找到系统在哪里失效以及如何失效的地方。包括 S 阅读全文
posted @ 2013-03-20 22:00 Jevo 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 关于Spring的理解文章已经很多了,本文仅是个人总结性记录,不足之处尽请拍砖。。Spring是一个轻量级的IoC容器和AOP框架。Spring是非侵入式的容器框架,它通过分离应用的业务逻辑和系统级服务来进行内聚性开发。IoC也称DI(Depency Injection依赖注入), 即被调用者所依赖的对象的创建是由调用者完成的,并将对象的引用传递给被调用者。这个过程的核心是利用Java反射机制。反射是在运行时动态创建、使用对象的一种机制。其实在我们以往的开发过程中,我们都会用到Java反射机制,而Spring更进一步利用反射机制形成IoC容器来管理JavaBean的生命周期。我们在代码编写时, 阅读全文
posted @ 2013-03-19 23:29 Jevo 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 1.优化是开发的事,测试是测试员的事 很多时候,我们会认为优化仅仅是开发需要做的事,与测试人员无关。的确开发人员可以通过一些调优工具进行程序优化工程,但测试人员的作用仍是不可替代的。测试人员更能从客户的角度来看待问题,同时不必关心程序的实现方式,往往更能找出软件的热点问题,帮助提高软件系统的体验值。2.优化主要是找出代码热点,修改代码提高响应 优化不仅仅是修改代码,而应该从整体上来考虑出一个良好的优化方案,包括程序接口、结构等。优化的落脚点最终还是在于找到热点代码,改进代码段,以期得到大大性能提升。3.用降低服务器压力方式来提高用户访问速度我们通常理解认为降低服务器的压力可以提高用户的访问速度 阅读全文
posted @ 2013-03-17 21:32 Jevo 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 我们讨论的软件性能关注点不在于软件所完成的特定功能,而是完成额定功能时所表现出来的及时性、可靠性、稳定性上。由于软件操作的主体是人,不同的人对于同一软件功能有着不同的主观体验,所以不同的人对性能的考察角度和要求也不同。泛泛讲指标一般有:响应时间、吞吐量、并发连接数、资源利用率等。对不同的应用系统和不同的应用场景,将会有明确的性能指标(不考虑系统和应用场景谈性能指标是没有意义的)。关于性能指标的定义,可以从教科书或网上找到。响应时间是指请示发出到接收到响应结果的整个时间。在测试中,经常会将响应时间确定到平均响应时间和最大响应时间。响应时间直接影响到用户的使用体验,所以响应时间的确定是通过根据用户 阅读全文
posted @ 2013-03-16 22:13 Jevo 阅读(438) 评论(0) 推荐(0) 编辑
摘要: 服务是定义为一段独立的逻辑程序,当多个服务组合在一起时就可以完成不同类型的业务需求。Ofbiz服务能调用其他服务定义,将多个小的服务串联起来实现一个大的任务。服务通过服务定义文件来定义并指派给具体的服务引擎。每个服务引擎通过适当方式来调用服务定义。在Ofbiz服务引擎中,服务需要使用Map传入参数,结果同样从Map中返回。常见的几种服务类型1.Interface服务引擎 interface 服务引擎实现在服务定义时可以共享相同的参数。一个接口服务不能被单独调用,服务功能是在实现服务接口的其他服务定义中实现的。每个接口服务都需要用interface 引擎来定义。2.ECA(Event Cond. 阅读全文
posted @ 2013-03-15 22:35 Jevo 阅读(2076) 评论(0) 推荐(0) 编辑
摘要: 性能调优,简而言之,就是在不影响系统运行正确性的前提下,使之运行地更快,完成特定功能所需的时间更短。我们在软件开发的后期,通常会考虑所开发的软件的性能问题,并会对软件进行常规的性能优化,提升用户的体验。软件性能优化是一个系统性的工程,会反复经历测试、代码优化、再测试。。。过程,涉及到性能测试,代码分析修改评审,软件结构调整,数据库优化等。性能调优内容涉及到软件运行的软硬平台、运行配置、架构设计,算法设计及开发语言等。性能调优的手段主要依靠性能测试、工具分析、优化配置、改进算法、调整架构等。性能调优的一般步骤总是这样的:1。软件系统评估,建立可接受的性能指标2。软件系统修改前的性能,建立调优基线 阅读全文
posted @ 2013-03-14 23:11 Jevo 阅读(297) 评论(0) 推荐(0) 编辑
摘要: Ofbiz是支持模块热部署的。Ofbiz模块热部署功能是依靠Web容器的热部署功能来实现的。可以进入Tomcat控制台操作war文件布署。我们来看看Tomcat热部署的配置方式,如下:编辑Tomcat的server.xml<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware 阅读全文
posted @ 2013-03-14 11:15 Jevo 阅读(1033) 评论(0) 推荐(0) 编辑
摘要: 实体引擎的一个主要目标是尽可能提供一种通用的代码结构,来消除各模块中事务处理过程中的相近或相似的代码。这种抽象在于数据库数据操作逻辑的提取。它可以大大减少应用系统的开发费用和潜在的事务处理bug。在Ofbiz的实体引擎中,将存储实体属性值的类结构设计成通用的数据结构,使用一个MAP对象来作为数据载体来存取实体的所有属性值。实体引擎和应用系统之间的接口体现在实体结构定义文件和SQL字段类型与Java数据类型映射关系定义中(以XML文件方式进行描述)。基于这个抽象层,使用实体引擎提供的API来处理实体持久化操作。取代编写特定的代码,实体的定义是在entitymodel*.XML文件中完成的,并由实 阅读全文
posted @ 2013-03-13 23:05 Jevo 阅读(1100) 评论(0) 推荐(0) 编辑