
业务逻辑层
文章平均质量分 76
童年的天空
管理?产品?技术?运营?项目?不求面面精通,但求左右逢源。
展开
-
一种优雅的流行架构:Struts+Spring+Hibernate
用java来建立一个很有价值的web 应用不是一个简单的任务。在架构这个应用时要考虑很多的因素和问题。从更高的层次来看,开发人员面临着关于如何构建用户接口,何处驻留业务逻辑,以及如何实现数据持久性这些问题。这3层都有各自的问题需要回答。而每一层又需要实现那些技术?应用如何设计来进行松散耦合并能进行灵活变更?应用架构是否允许某一层变更而不影响到其它的层次?应用应该如何处理容器一级的服转载 2008-12-13 09:16:00 · 1161 阅读 · 0 评论 -
铁道部12306后台技术框架、完整异常栈信息以及技术缺点和漏洞
铁道部旗下在线购票网站12306自诞生起就一直为人所诟病,网站经常崩溃、UI粗糙、漏洞满框,但这都不是什么新闻了,近日网友爆出12306的技术框架及其表结构,大家可以来一览究竟。下图是爆出的SQL语句,可以明显地看出其表结构,相信各位技术人员能够轻易地辨别出网站开发者的功底如何了吧。转载 2012-09-29 21:57:51 · 2005 阅读 · 0 评论 -
系统设计时关于性能问题处理的几点心得
【将复杂的运算分解到其它过程】此种思想将整个系统的操作看成一个整体,类似于负载均衡。在系统中常见的一个问题是,数据量比较大,对数据的查询统计变得很复杂很缓慢。对于这种问题应该在设计时就进行考虑,建立表的冗余字段或者汇总表存储一些汇总信息,在录入或更新数据时计算冗余字段或汇总表的值。这样将复杂的运算时间分解到了数据录入修改的时间。而一般的录入/修改都是单笔的操作,此时的一点点延时(可能很少很少)原创 2012-08-21 07:46:35 · 2603 阅读 · 0 评论 -
使用递归算法将批量调用异步处理转化为同步调用,并使用Java模拟ExtJs异步处理同步化(续)
上一篇文章(http://blog.youkuaiyun.com/scorpio3k/article/details/7875895)中提到在Ex tJs中使用递归处理批量发送异步请求同步化的问题,但后来被指点javascript的递归会存在严重的性能问题,是javascript对递归的实现不好,但java中的递归的思路应该是没有问题的。对于javascript,原本的思路是这样的:batchProc原创 2012-08-17 13:43:25 · 2449 阅读 · 1 评论 -
使用递归算法将批量调用异步处理转化为同步调用,并使用Java模拟ExtJs异步处理同步化
【问题】使用ExtJs处理批量数据时,使用for循环通过Ext Ajax调用后台,代码如下:for(var i=0; i<params.length; i++){ Ext.Ajax.request({ url:this.url, params:params[i], method:'POST', success:function(response) { }, sco原创 2012-08-17 09:42:41 · 4405 阅读 · 0 评论 -
Spring基于ThreadLocal的“资源-事务”线程绑定设计的缘起
转自:http://blog.youkuaiyun.com/bluishglc/article/details/7784502题目起的有些拗口了,简单说,这篇文章想要解释Spring为什么会选择使用ThreadLocal将资源和事务绑定到线程上,这背后有着什么样的起因和设计动机,通过分析帮助大家更清晰地认识Spring的线程绑定机制。本文原文链接:http://blog.youkuaiyun.com/bluishgl转载 2012-07-26 12:36:37 · 2036 阅读 · 0 评论 -
利用适配器思想减少应用间耦合扩散问题
adaptor和adapter都是适配器的意思,adapter是正词(adaptor是英式用法,是变异),因此对下面的内容都修正为adapter随着系统的交互越来越多,通过接口相互调用是难免的。近来分析几个程序发现一个不好的代码编写方式,使得系统间的耦合越来越高,其最主要的表现就是耦合扩散问题。随着产品的不断发展,当需要使用新模块替代旧模块时,这种扩散的耦合,不但使本系统变得复杂而且使原创 2012-05-27 11:28:17 · 1938 阅读 · 2 评论 -
解决 - java.lang.OutOfMemoryError: unable to create new native thread
工作中碰到过这个问题好几次了,觉得有必要总结一下,所以有了这篇文章,这篇文章分为三个部分:认识问题、分析问题、解决问题。 一、认识问题:首先我们通过下面这个测试程序 来认识这个问题:运行的环境 (有必要说明一下,不同环境会有不同的结果):32位 Windows XP,Sun JDK 1.6.0_18, eclipse 3.4,测试程序: Java代码转载 2012-07-10 22:44:27 · 1714 阅读 · 0 评论 -
介绍 Spring 3.1 M1 中的缓存功能
该版本最酷的新特性就是引入全方位的缓存支持。Spring 3.1 提供了对已有的 Spring 应用增加缓存的支持,这个特性对应用本身来说是透明的,通过缓存抽象层,使得对已有代码的影响降低到最小。该缓存机制针对于 Java 的方法,通过给定的一些参数来检查方法是否已经执行,Spring 将对执行结果进行缓存,而无需再次执行方法。可通过下列配置来启用缓存的支持(注意使用新的schema):转载 2012-06-03 21:09:37 · 4555 阅读 · 0 评论 -
Spring事务配置的五种方式
前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。 总结如下: Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变转载 2009-04-06 22:07:00 · 1489 阅读 · 0 评论 -
使用Spring3.1.1的缓存示例
定义数据访问接口:package org.kevin.cache.dao;import java.util.Collection;import org.kevin.cache.domain.Data;public interface DataDAO { public void add(Data data); public void update(Data原创 2012-06-03 22:03:30 · 11377 阅读 · 2 评论