- 博客(124)
- 资源 (5)
- 收藏
- 关注

原创 Spring事务传播特性实例解析
背景介绍 目前系统正在进行代码重构前期预研工作,目标采用spring控制事务以减少开发代码量,提高开发效率。同时避免开发人员编码控制事务所带来的链接没有释放,事务没有提交,出现异常事务没有回滚的Bug。为保证系统能正确使用Spring控制事务,必须很好的理解其传播特性。在沟通中发现,好多人知道这个概念但是对于事务的实际传播行为往往模棱两可。基于上述原因,本文采用Demo实
2013-11-05 01:08:52
32838
19
原创 EasyUI之DataGrid使用
背景介绍: 原先项目采用普通的jsp页面来做为前端显示,用户体验差,并且为了实现某一种效果需要编写大量的js代码。因此寻找可以逐步替代前端显示的框架,逐渐转变为富客户端开发。通过上网查阅资料,并结合业务需要,发现extjs过于庞大,而easyui小巧并且功能也很强大。于是采用EasyUI的方式尝试在一个功能上使用。功能如下: 用户点击提交时,弹出模态窗口,
2013-06-25 22:28:20
9333
2
原创 Eclipse断点调试出现Source not found
解决办法: debug时出现 Source not found 的视图,其下面有一个Edit Source Lookup Path....点击这个按钮,---add--java Project---添加上项目就行了。
2013-04-16 15:17:06
9446
2
原创 阶梯式使用SpringMVC+MyBatis
概述 对于SpringMVC的使用,上一篇文章已经做了说明,并上传了Demo,大家可以下载下来练习指教。这篇文章将由浅入深的集成MyBatis,并给出可以运行的Code。 MyBatis基础条件 下载MyBatis开发包,将其核心包和lib下所有包拷贝到项目lib目录,这些包在之后都会用到,同时添加到classpath下。下载地址为:http://cod
2013-04-08 22:40:34
4089
3
原创 逐步分析Web Project, Dynamic Web Project, Tomcat Project
背景描述 曾经感到疑惑的三个项目,现在搞清楚了。以下内容将从创建项目,目录结构,部署方式来分析三个项目的不同之处。创建项目 Web Project是通过使用myeclipse来创建,过程如下:new--web project,然后生成出满足j2ee目录规范的项目。如图: Dynamic Web Projec
2013-04-03 17:29:33
4974
4
原创 项目在不同开发环境下切换
问题背景 在实际开发过程中可能会遇到这样的问题,自己编写了一个demo,然后组内其它人需要这个demo来扩展开发,于是通过svn或者copy,引入到开发环境中。这时大家第一件要做的事就是配置jre,引入jar包,修改编译级别,使项目没有红色错误标识。但是如果一并引入了demo的.classpath和.project文件,在设置jre时会报如下错误。An i
2013-03-27 21:12:50
3279
2
原创 Html表格常用技巧
背景: 最近做了一个html页面打印,采用Lodop技术,本文不做介绍(网络上有好多资源)。使用过程中需要对表格做一些操作,于是把常用到的表格配置做了一个整理。 创建表格表格配置 香辣酥 测试页面上出现香辣酥三个字,其它一片空白。美化边框 现在在table上加一个border="1",表
2013-03-22 23:56:17
3475
3
原创 JDBC for MySQL驱动版本问题
对于低版本(3.1.8)的mysql驱动,其没有对int类型的字段做强制的非空检测,但是5.1版本为了安全增加了强制非空检测。这样当项目jdbc驱动包升级到5.1.16后会报如下错误:com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'XXXXXXXXXXX' cannot
2013-03-18 17:59:16
4098
1
原创 MySQL索引与查询优化
概述 企业应用软件中,在数据存储方面选择为DBMS(数据库管理系统)。当数据量增多后,对数据的查询和分析在速度上会有很大的影响。原因如下: 1、数据文件存储在磁盘上,每次读取会有I/O消耗。 2、I/O性能始终是数据读取的瓶颈。数据随机存放,每一次的I/O操作消耗大量的CPU时间。为了降低I/O操作对DBMS查询速度的限制,DBMS引
2013-03-16 01:32:36
3705
2
原创 Spring MVC流程解析
Spring MVC 简介 Spring MVC是Spring的后续产品,也可以说是Spring的子集,其主要体现在视图层的MVC。本文对Spring MVC做一个较为详细的说明,后续会比较其优缺点。其中最为明显的一点为:其入口为一个Servlet不同于Struts2为一个Filter,这样在速度上有明显的优势,但缺点就是会导致多线程问题。 M为
2013-03-10 22:37:00
4448
2
原创 Quartz任务调度器
背景: 近期项目中遇到跨区调拨商品的需求,比如A区和B区,需要判断A区或者B区某种sku是否需要从对方库调拨商品来补充货源,避免因缺失商品而出现订单延误,影响销售和对用户产生不良影响。问题: 数据量庞大,如果当查看的时候去获取数据,那么会严重影响系统的性能,甚至导致数据库和应用服务器无法响应。解决方案:
2013-02-21 23:19:15
3594
2
原创 数据库连接池和事务
背景在高并发情况下,最近项目中出现了锁定量问题,可能原因是出库没有加上锁定量,入库没有减去锁定量,这样会导致不能正常的出库和入库。需要从几个方面来考虑1、 业务过程中加锁存在问题2、 事务没有正确提交3、 提交了之前不合理的事务4、 存在没有使用事务的业务于是在数据库理论基础上,做了一些测试来推断问题所在。首先需要铺垫两方面内容:修改数据库my.in
2013-01-31 21:34:14
10776
4
原创 SVN基本概念和使用
仓库 仓库(Repository)是svn版本控制的中心,以后所有被svn控制的文件都会存放在这里。创建命令为:svnadmin create d:\svnrepo创建完成后其目录如下:服务 Svn分为客户端和服务器端,创建服务后可以通过svn://地址和http://地址的方式来访问服务,其命令如下:svnserve –d –r d:\sv
2012-12-10 23:59:25
3145
2
原创 面向对象思维
面向对象思维 从宏观上,主要体现在分层,采用包或组件来区分。每一层负责具体的内容。典型应用为mvc。这是保证系统扩充性,可维护性和灵活相应需求的必要条件。 各层之间耦合度尽量降低,如果说每层的业务比较复杂,我们也可以将各层独立出来成为一个服务器,具体的交互方式很多。这里也有很多的概念,比如面向服务,分布式,集群等等。 从细节上,各层直接唯一的交互就是接口或
2012-11-19 23:43:29
3349
1
原创 让Bug来的更猛烈些吧
Bug有一种是技术bug,另外一种是业务bug。目前来看业务bug存在较多。究其原因,还是对bug的态度问题:bug来了,恐惧。 由于出问题,往往会对用户的使用造成影响,因此面对这样的问题总存在一些恐惧。担心对用户造成的影响有多大,担心自己的名誉是否受损,担心自己不能快速解决问题。其实越是这样就越容易让自己无法快速解决问题。担心是无用的,问题来了就要勇敢面对。首要是
2012-11-03 20:13:38
2906
7
原创 事务并发调度之封锁技术
什么是事务 事务是数据库逻辑工作单位,是用户定义的一组操作序列。具有原子性、一致性、隔离性和持续性。原子性表示操作不可分割,要么都做,要么都不做。一致性表示数据库从一个一致性状态变换到另一个一致性状态隔离性表示事务执行过程中不被其它事务打扰持续性表示事务一旦提交,它对数据库中数据的改变就应该是永久性的。事务并发的问题(1)
2012-10-06 09:24:58
4825
18
原创 项目尾声的反思
项目接近尾声了,在测试环节遇到一些问题,现在归纳如下:1、页面和用户提示与设计文档不符合 产生这个原因是由于长期的产品开发思维限制了我对用户的交互模式。产品力求交互的友好性,可以实施的复杂但是用起来一定要顺心和明了,并且要充分考虑到用户的误操作,基本上每次的动作在关键点上都会有提示,例如,用户数据的删除,关键业务点的提示,异常类型的整合,这样的严格控制保证将用
2012-09-11 00:23:44
4041
13
原创 统计性能优化思路
背景: 统计当前店铺下订单信息。根据订单开始时间,结束时间,商品id,商品名称,商品编号来获取。并可以导出基本信息和详细信息。涉及主商品表,子商品表,订单表,订单商品关联表。其中商品表信息和订单表记录数较大。 实现思路: 1、 从数据库中获取店铺下所有商品信息P,而不是按照条件来查询。 2、 由于商品信息改动较小,因
2012-08-06 11:58:08
3256
12
原创 MySql连接查询精解
出于对知识的总结和分享,对常见的查询做了练习和总结。数据准备,包括两个表,tuser和ttable。tuser和ttable为1对多关系。tuser表结构如下:名称类型备注id
2012-07-20 00:00:31
3979
14
原创 Web项目开发必备四重验证
项目背景: 项目需求来自电商卖家管理自己的商品和店铺,以及最终的前台显示。整个项目中我负责技术的选型,数据库的设计和最后的交付测试。总共有三轮迭代,目前第二轮刚刚结束。迭代周期为7-8天。结合在做这个项目过程中的感受将大家都熟知却很少真正做到的内容整理出来:项目结构的四重验证。 一、web页面验证 本项目既有html也有jsp,javascript,css
2012-07-05 23:19:57
1742
5
原创 早起的鸟儿有虫吃---页面模块上移下移
鸟儿和猫头鹰,只是作息不一样,但都能享受到一天中难得的安静。我原来是一只“猫头鹰”,现在是0:00休息的“猫头鹰”又是6:30工作的“鸟儿”。这段时间心态最为平和~。 最近项目中有一个页面某部分移动的需求,当点击某模块下移时其向下移动1,同时其下面的模块上移。有两种思路: 1、页面排序信息插入数据库时,保证严格有序插入,这样就可以做到,当前顺序总是小于其后顺
2012-07-04 07:59:40
2609
7
原创 灵活运用数据库主外键
在最近的工作中发现,公司现有表都是没有主外键关系的,也就是没有加数据库主外键约束,全部都是采用程序来控制数据的一致性。这点让我很是不解,从当初学习数据库,到参加工作使用数据库和设计数据库,一直都遵循数据库的三范式,表之间的关联采用数据库的主外键约束(请理解这是数据库的约束,而不是我们程序控制的约束)。于是查找了一些资料,现在的疑惑才慢慢解开。下面我将对数据库的作用,以及为什么出现应用程序,再到真正
2012-06-17 00:32:07
2071
14
原创 我们可能无法意识到的敌人---思想上的懒惰
我们生活在各种各样的环境中,环境对我们产生了很大的影响。然后环境的影响直接反映到的是我们的大脑。最终大脑影响着我们的决策和最后的解决。当我们目标明确的时候,大脑总是积极的相应,它在以一种正精进的方式来影响着我们的行为模式,以致我们无论做什么都充满精力,而且富有效率。但是某种情况下,我们给大脑一个自己都无法察觉到的暗示:懒惰。 这是非常严重的,一旦这样,我们将不再敏感,对身边
2012-06-11 00:20:53
1991
27
原创 Linux非诚勿学之VMware下安装
欢迎大家观看Linux非诚无学之虚拟机下安装,这是平时学习的笔记,希望为正在学习和即将学习Linux的朋友提供一个参考。有不足的地方,还请大家评论指正。我将及时的修正。 前期安装VMWare,由于之前曾经安装过一个版本的VMWare,可能是没有卸载干净的缘故,导致再次安装时会报必须卸载之前的版本才可以安装。对于这个问题卸载上一版本是必须的,但是纠结之处就是安装目录已经
2012-05-29 23:39:42
1662
5
原创 高并发情况下高性能处理方案简介
随着B2C行业的发展,越来越多的人开始接受这种消费模式,那么随之而来的就是高并发的访问,同一时刻可能会有成千上万人访问。这样对应用服务器和数据库服务器以及其它服务器都造成了很大的压力。如何有效的解决这些问题是一个B2C企业生存的技术保证。下面从应用服务器和数据库服务器的角度提供一种解决方案。希望大家帮助指出不足或者将其补充详细。 1、搭建CDN网络,目前已经有成熟的产品可以支持
2012-05-24 00:48:43
3039
5
原创 WAP和Servlet交互
WAP介绍 WAP 是一种用于在无线终端(比如数字移动电话)进行信息服务的主要的标准。WAP 标准基于因特网标准(HTML、XML 以及 TCP/IP)。它包括 WML 语言规范、WMLScript 规范以及无线电话应用接口规范(WTAI)。WAP 由 WAP 论坛(WAP forum )发布,被爱立信、摩托罗拉、诺基亚以及 Unwired Planet 创建于 1997 年
2012-05-10 23:24:20
1523
1
转载 Java compiler level does not match the version of the installed Java project facet.
修改了编译级别之后出现如下错误提示:Description ResourcePath LocationTypeJava compiler level does not match the version of the installed Java project facet.SSJ UnknownFaceted Project Problem (Java Version Misma
2012-05-10 15:11:40
911
2
原创 Eclipse启动报错
错误描述 之前一直使用MyEclipse,没有遇到过启动时报错,但是使用Eclipse IDE for Java EE Developers时却报出如下错误: 错误分析 从错误提示看出,1.4.2_15版本的jvm不满足当前eclipse版本。那么为什么会出现这个错误?第一个答案必然是Eclipse启动需要jvm,
2012-05-10 01:20:23
3212
4
原创 Spring配置SessionFactory
Spring的核心模块之一为依赖注入,普遍使用的为Set方式注入,那么下面将借助该方式配置数据源和SessionFactory。 直接引用hibernate.cfg.xml配置文件 这种方式需要提供hibernate.cfg.xml配置文件,在其中构造sessionFactory,并且持久层类的映射也在改文件配置,这步操作和Spring没有任何关系。产生关
2012-04-30 21:02:08
3440
3
原创 Spring注入方式的分类和比较
构造函数注入即通过构造函数完成依赖关系的设定。如下代码:public class DIByConstructor { private final DataSource dataSource; private final String message; public DIByConstructor(DataSource ds, String msg) { this.dataSour
2012-04-26 22:51:03
1155
4
原创 WebLogic10.3与hibernate3.0冲突解决方法
在运行过程中出现 ClassNotFoundException: org.hibernate.hql.ast.HqlToken 错误weblogic异常退出。 原因: Hibernate3.0 采用新的基于ANTLR的HQL/SQL查询翻译器,在Hibernate的配置文件中, hibernate.query.factory_class属性用来选择查询翻译器。
2012-04-18 15:44:39
1161
4
转载 Oralce优化方式
1,什么是执行计划所谓执行计划,顾名思义,就是对一个查询任务,做出一份怎样去完成任务的详细方案。举个生活中的例子,我从珠海要去英国,我可以选择先去香港然后转机,也可以先去北京转机,或者去广州也可以。但是到底怎样去英国划算,也就是我的费用最少,这是一件值得考究的事情。同样对于查询而言,我们提交的SQL仅仅是描述出了我们的目的地是英国,但至于怎么去,通常我们的SQL中是没有给出提示信息
2012-04-15 23:00:28
1141
3
原创 Static块什么时候运行
为了搞清楚这个我们首先要知道一个类想要运行JVM会做哪些事情。1、类装载 采用双亲委派模式加载类,子类会交给父类的classloader去加载,如果父类加载不到自己才会尝试加载。最终功能是将java字节码转换为JVM的class对象。2、链接 将Java二进制代码合并到JVM的运行时状态中。在链接之前必须保证类已经被加载。期间会经过验证、准备和解析等几个步骤
2012-04-13 01:12:40
2672
5
原创 Synchronized和Static Synchronized区别
通过分析这两个用法的分析,我们可以理解java中锁的概念。一个是实例锁(锁在某一个实例对象上,如果该类是单例,那么该锁也具有全局锁的概念),一个是全局锁(该锁针对的是类,无论实例多少个对象,那么线程都共享该锁)。实例锁对应的就是synchronized关键字,而类锁(全局锁)对应的就是static synchronized(或者是锁在该类的class或者classloader对象上)。下面的文章做
2012-04-13 00:11:22
11943
10
原创 软件项目管理框架--生命周期阶段
迭代软件开发过程的生命周期阶段不同于传统概念的需求,设计,开发,测试,实施,强调一个序列化过程。它包括工程阶段和生产阶段。而工程阶段包括初始阶段、细化阶段,生产阶段包括构造阶段、移交阶段。每一个阶段都有一个主要目标,基本活动和评价标准。每个阶段都会产生后续讲述的迭代开发过程中的过程中的制品。并且每个阶段的结束都可能经过一次或多次的迭代。工程阶段进行设计和综合活动,生产阶段进行构造、测试和实施活动。
2012-04-10 23:25:42
2219
8
原创 软件项目管理读书体会
《软件项目管理一个统一的框架》,书中详细讲解了软件管理的复兴,引出了本书重点描述的迭代软件开发过程。 该书分为软件管理复兴,软件管理框架,软件管理规范,未来展望,案例研究和支持资料五部分内容。系统讲解了迭代开发过程中软件生命周期模型。区别于传统瀑布模型,将需求、设计、开发、实施,整合到迭代开发的工程阶段和生产阶段,包括初始、细化,构造、移交。明确了各个过程中产生的制品,包括:管理集
2012-04-09 21:34:45
1276
4
转载 高效SQL语句必杀技
高效SQL语句必杀技 http://blog.csdn.net/robinson_0612/article/details/7406672
2012-04-04 08:40:25
880
原创 领袖性格
沉稳,细心,胆识,积极,大度,诚信,担当1、 遇事不慌,说话走路不慌不忙。问题决策,冲动时能够冷静下来。隔天再说。自己不沉稳,难以散发出让人信服的力量。说话办事不可毛躁,问清,弄懂,三思再下决定。以柔克刚,兵来将挡,水来土掩。2、 说话办事有条不紊,学会摸着石头过河。步步为营。能够发现生活中的习惯,发现别人的习惯。对于事情的结果,要分析出因果关系。所有的结果都是有原因的。细心的总结和体
2012-03-29 09:45:53
1181
6
原创 调试不要总盯着问题
以前调试代码总会有这样一个习惯,问题来了总是盯着问题看。于是一遍遍的调试,每次调试都会到这个问题,于是又调试又是这个问题,往复几次仍然没有思路。问题在哪里呢?问题就在于总是盯着这个问题,没有去联系,发散。这样即便解决了问题也是偶然,下次遇到仍然是一个坎。 应该跳出这个问题,考虑是业务错误还是代码逻辑错误,从整体上分析这个错误,找到问题的本质。然后下手跟进错误。想办法,找思
2012-03-29 00:00:56
1185
4
Spring事务传播特性解析
2013-11-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人