- 浏览: 122591 次
- 性别:
- 来自: 成都
文章列表
一. DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,而且负责职责的分派,而且与Spring IoC容器无缝集成,从而可以获得Spring的所有好处。
DispatcherServlet主要用作职责调度工作,本身主要用于控制流程,主要职责如下:
1、文件上传解析,如果请求类型是multipart将通过MultipartResolver进行文件上传解析;
2、通过HandlerMapping,将请求映射到处理器(返回一个HandlerExecutionChain,它包括一个处理器、多个HandlerInterceptor拦截器); ...
1、第一范式(1NF)
在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,
不满足第一范式(1NF)的数据库就不是关系数据库。
所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据 ...
接口和抽象类有什么区别
你选择使用接口和抽象类的依据是什么?
接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。
抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。
人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.
所以,在高级语言上,一个类只能继承一个类(抽象类)(正如人不可能同时是生物和非生物),但是可以实现多个接口(吃饭接口、走路接口)。
http://hovertree.com/h/bjaf/to3l3tjm.htm
...
Java NIO使用及原理分析 (四)
- 博客分类:
- Java技术干货
转载自:李会军•宁静致远
在上一篇文章中介绍了关于缓冲区的一些细节内容,现在终于可以进入NIO中最有意思的部分非阻塞I/O。通常在进行同步I/O操作时,如果读取数据,代码会阻塞直至有 可供读取的数据。同样,写入调用将会阻塞直至数据能够写入。传统的Server/Client模式会基于TPR(Thread per Request),服务器会为每个客户端请求建立一个线程,由该线程单独负责处理一个客户请求。这种模式带来的一个问题就是线程数量的剧增,大量的线程会增大服务器的开销。大多数的实现为了避免这个问题,都采用了线程池模型,并设置线程池线程的最大数量,这由带来了新的问题,如果线程池中有200 ...
Java NIO使用及原理分析(三)
- 博客分类:
- Java技术干货
转载自:李会军•宁静致远
在上一篇文章中介绍了缓冲区内部对于状态变化的跟踪机制,而对于NIO中缓冲区来说,还有很多的内容值的学习,如缓冲区的分片与数据共享,只读缓冲区等。在本文中我们来看一下缓冲区一些更细节的内容。
缓冲区的分配
在前面的几个例子中,我们已经看过了,在创建一个缓冲区对象时,会调用静态方法allocate()来指定缓冲区的容量,其实调用 allocate()相当于创建了一个指定大小的数组,并把它包装为缓冲区对象。或者我们也可以直接将一个现有的数组,包装为缓冲区对象,如下示例代码所示:
[java]
Java NIO使用及原理分析(二)
- 博客分类:
- Java技术干货
转载自:李会军•宁静致远
在第一篇中,我们介绍了NIO中的两个核心对象:缓冲区和通道,在谈到缓冲区时,我们说缓冲区对象本质上是一个数组,但它其实是一个特殊的数组,缓冲区对象内置了一些机制,能够跟踪和记录缓冲区的状态变化情况,如果我们使用get()方法从缓冲区获取数据或者使用put()方法把数据写入缓冲区,都会引起缓冲区状态的变化。本文为NIO使用及原理分析的第二篇,将会分析NIO中的Buffer对象。
在缓冲区中,最重要的属性有下面三个,它们一起合作完成对缓冲区内部状态的变化跟踪:
position:指定了下一个将要被写入或者读取的元素索引,它的值由get()/put()方法自动更 ...
Java NIO使用及原理分析 (一)
- 博客分类:
- Java技术干货
转载自:李会军•宁静致远
最近由于工作关系要做一些Java方面的开发,其中最重要的一块就是Java NIO(New I/O),尽管很早以前了解过一些,但并没有认真去看过它的实现原理,也没有机会在工作中使用,这次也好重新研究一下,顺便写点东西,就当是自己学习 Java NIO的笔记了。本文为NIO使用及原理分析的第一篇,将会介绍NIO中几个重要的概念。
在Java1.4之前的I/O系统中,提供的都是面向流的I/O系统,系统一次一个字节地处理数据,一个输入流产生一个字节的数据,一个输出流消费一个字节的数据,面向流的I/O速度非常慢,而在Java 1.4中推出了NIO,这是一个面向块的I/ ...
ibatis与mybatis区别?
ibatis是mybatis的前身,在2010年7\8月份ibatis所项目移到了google,就将ibatis3.x正式改名为mybatis3.x了。
除此之外,mybatis相比ibatis使用起来更加方便,有:
1)Mybatis实现了接口绑定,使用更加方便。
2)对象关系映射的改进,效率更高
3)MyBatis采用功能强大的基于OGNL的表达式来消除其他元素
hibernate、MyBatis、JDBC区别
1)从层次上看,JDBC是较底层的持久层操作方式,而Hibernate和MyBatis都是在JDBC的基础上进 ...
Win7 有限的访问权限 依赖服务或组无法启动
- 博客分类:
- 电脑网络
Windows7,网络连接错误: 依赖服务或组无法启动
今天,Windows7启动时报错要求重启,但重启后网络连接不上,提示“依赖服务或组无法启动”。
最后在尝试了以下方法竟然把问题解决了:
===========================
1. 运行:cmd; 2. 在cmd里执行 "net localgroup administrators localservice /add";3. 在cmd里执行 "net localgroup administrators networkservice /add";4. 在cmd里执行 &q ...
分布式事务、两阶段提交协议、三阶提交协议
- 博客分类:
- 架构框架
随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。
为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架 ...
本文原文连接: http://blog.csdn.net/bluishglc/article/details/7612811 ,转载请注明出处!
1.XA
XA是由X/Open组织提出的分布式事务的规范。XA规范主要定义了(全局)事务管理器(Transaction Manager)和(局部)资源管理器(Resource Manager)之间的接口。XA接口是双向的系统接口,在事务管理器(Transaction Manager)以及一个或多个资源管理器(Resource Manager)之间形成通信桥梁。XA之所以需要引入事务管理器是因为,在分布式系统中,从理论上讲(参考Fisc ...
第 1 部分: 异步通信与负载均衡
引言
Websphere MQ 是 IBM 功能强大的消息传送中间件产品,它以其成熟的技术和世界领先的产品向我们提供了的功能丰富、可靠易用的异构平台间实现可靠信息传递的成熟解决方案。使用 MQ ...
CICS队列之TDQ与TSQ
- 博客分类:
- CICS
队列(Queue)是一种以先进先出方式存取的数据集,是CICS可以管理的数据集之一。
队列是连续的存储设施,由于事务处理的动态特性,所以通常它们本质上是静态的。它们通常用于处理请求或者将数据从一个事务传递到另一个事务,如图2.11所示。例如,作为事务的一部分所生成的数据通常在任务完成后才打印;数据在队列中等待打印程序在没有更紧急任务的情况下再来处理它。
队列分为瞬时数据队列(TDQ)和临时存储队列(TSQ)。瞬时数据队列提供常规的队列功能;临时存储队列通常用于在多个事务之间共享读写和更新,如作为共享数据的暂存区。
一:瞬时数据队列(Transient Data Queue,TDQ)具有 ...
SOA, EDA, 和 ESB的介绍和关系
- 博客分类:
- 架构框架
SOA----面向服务架构,实际上强调的是软件的一种架构,一种支撑软件运行的相对稳定的结构,表面含义如此,其实SOA是一种通过服务整合来解决系统集成的一种思想。不是具体的技术,本质上是一种策略、思想。
ESB----企业服务总线,像一根“聪明”的管道,用来连接各个“愚笨”的节点。为了集成不同系统,不同协议的服务,ESB做了消息的转换解释与路由等工作,让不同的服务互联互通。
SOA主要是基于request、response的消息通讯机制的。它的设计适合同步通讯,但是并不大适合异步的通信。 所以我们还需要EDA。
EDA使用的是publsih/subscibe的消息通讯模 ...
persistence.xml文件配置:
<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence persistence_2_0.xsd" version="2.0">
<persisten ...