2013年11月23日

struts2的执行流程、工作原理(转) -(不包括Struts的拦截器链)

摘要: 转自:http://www.holdjava.com/struts2/70724.htm Struts 2框架本身大致可以分为3个部分:核心控制器FilterDispatcher、业务控制器Action和用户实现的企业业务逻辑组件。核心控制器FilterDispatcher是Struts 2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件,供核心控制器FilterDispatcher来使用。 Struts 2的工作流程相对于Struts 1要简单,与WebWork框. 阅读全文

posted @ 2013-11-23 22:26 依蓝jslee 阅读(329) 评论(0) 推荐(0) 编辑

jsp技术

摘要: 1.JSP简介 JSP是一种动态网页技术标准。它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 将内容的生成和显示进行分离。 用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在Servlet和JavaBeans组件(两个都是.java)中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被... 阅读全文

posted @ 2013-11-23 21:14 依蓝jslee 阅读(353) 评论(0) 推荐(0) 编辑

Spring中bean的生命周期和方法注入和事务

摘要: 1.Bean生命周期 可以在依赖注入过程之后或销毁之前执行特性行为(反射)依赖注入过程: 1:Bean的建立:容器寻找Bean的定义信息并将其实例化。 2:属性注入:使用依赖注入,Spring按照Bean定义信息配置Bean所有属性 3:BeanNameAware的setBeanName():如果Bean类有实现org.springframework.beans.BeanNameAware接口,工厂调用Bean的setBeanName()方法传递Bean的ID。 4:BeanFactoryAware的setBeanFactory():如果Bean类有实现org.springfr... 阅读全文

posted @ 2013-11-23 16:57 依蓝jslee 阅读(2289) 评论(0) 推荐(0) 编辑

Spring 框架的设计理念与设计模式分析(转)

摘要: 作者:许 令波, Java 开发工程师, 淘宝网转自:http://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/index.htmlSpring 的骨骼架构Spring 总共有十几个组件,但是真正核心的组件只有几个,下面是 Spring 框架的总体架构图:图 1 .Spring 框架的总体架构图从上图中可以看出 Spring 框架中的核心组件只有三个:Core、Context 和 Beans。它们构建起了整个 Spring 的骨骼架构。没有它们就不可能有 AOP、Web 等上层的特性功能。下面也将主要从这三个组件入手分析 S 阅读全文

posted @ 2013-11-23 11:17 依蓝jslee 阅读(190) 评论(0) 推荐(0) 编辑

2013年11月22日

HIbernate延迟加载(转)

摘要: 转自:http://blog.csdn.net/xc635960736/article/details/7049863Hibernae 的延迟加载是一个非常常用的技术,实体的集合属性默认会被延迟加载,实体所关联的实体默认也会被延迟加载。Hibernate 通过这种延迟加载来降低系统的内存开销,从而保证 Hibernate 的运行性能。下面先来剖析 Hibernate 延迟加载的“秘密”。集合属性的延迟加载当 Hibernate 从数据库中初始化某个持久化实体时,该实体的集合属性是否随持久化类一起初始化呢?如果集合属性里包含十万,甚至百万的记录,在初始化持久化实体的同时,完成所有集合属性的抓取, 阅读全文

posted @ 2013-11-22 21:54 依蓝jslee 阅读(142) 评论(0) 推荐(0) 编辑

Hibernate原理分析

摘要: 1.整体架构 Criteria是一种比hql更面向对象的查询方式。Criteria 可使用 Criterion 和 Projection 设置查询条件。可以设置 FetchMode( 联合查询抓取的模式 ) ,设置排序方式,Criteria 还可以设置 FlushModel (冲刷 Session 的方式)和 LockMode (数据库锁模式)。 ANTLR—Another Tool for Language Recognition,是一个开源语法分析器,其前身是PCCTS,它为包括Java,C++,C#在内的语言提供了一个通过语法描述来自动构造自定义语言的识别器(recogniz... 阅读全文

posted @ 2013-11-22 21:24 依蓝jslee 阅读(334) 评论(0) 推荐(0) 编辑

排序与二叉树

摘要: 插入排序冒泡排序选择排序快速排序堆排序归并排序希尔排序 假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。 快速排序 两种方法,1.指针两边往中间走。2.指针都在开头 往后走。 1 public static void quickSort(int[] arr, int start, int end) { 2 if (start>=end) 3 return; 4 ... 阅读全文

posted @ 2013-11-22 16:30 依蓝jslee 阅读(323) 评论(0) 推荐(0) 编辑

2013年11月21日

SQL语句优化(转)

摘要: 转自:http://www.cnblogs.com/ATree/archive/2011/02/13/sql_optimize_1.html1、 首先要搞明白什么叫执行计划? 执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个 10万条记录的表中查1条记录,那查询优化器会选择“索引查找”方式,如果该表进行了归档,当前只剩下5000条记录了,那查询优化器就会改变方案,采用 “全表扫描”方式。可见,执行计划并不是固定的,它是“个性化的”。产生一个正确的“执行计划”有两点很重要:(1) SQL语句是否清晰地告诉. 阅读全文

posted @ 2013-11-21 15:49 依蓝jslee 阅读(149) 评论(0) 推荐(0) 编辑

聚集索引(转)和MVCC

摘要: 1.聚集 聚集索引的区别 聚集索引:物理存储按照索引排序 非聚集索引:物理存储不按照索引排序 优势与缺点 聚集索引:插入数据时速度要慢(时间花费在“物理存储的排序”上,也就是首先要找到位置然后插入),查询数据比非聚集数据的速度快 索引是通过二叉树的数据结构来描述的,我们可以这么理解聚簇索引:索引的叶节点就是数据节点。而非聚簇索引的叶节点仍然是索引节点,只不过有一个指针指向对应的数据块。如下图:非聚集索引聚集索引 索引可以提高检索效率,因为它的二叉树结构以及占用空间小,所以访问速度块。 但是有些时候用索引还不如不用索引快。比如说我们要检索上述表中的所有记录。 假... 阅读全文

posted @ 2013-11-21 09:18 依蓝jslee 阅读(415) 评论(0) 推荐(0) 编辑

2013年11月20日

ConcurrentHashMap源码分析

摘要: ConcurrentHashMap是Java 5中支持高并发、高吞吐量的线程安全HashMap实现。针对吞吐量进行优化 ConcurrentHashMap使用了几个技巧来获得高程度的并发以及避免锁定,包括为不同的 hash bucket(桶)使用多个写锁和使用JMM 的不确定性来最小化锁被保持的时间——或者根本避免获取锁。对于大多数一般用法来说它是经过优化的,这些用法往往会检索一个很可能在 map 中已经存在的值。事实上,多数成功的 get() 操作根本不需要任何锁定就能运行。(警告:不要自己试图这样做!想比 JMM 聪明不像看上去的那么容易。util.concurrent类是由并发专家... 阅读全文

posted @ 2013-11-20 15:00 依蓝jslee 阅读(476) 评论(0) 推荐(0) 编辑

导航