自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 问答 (1)
  • 收藏
  • 关注

Tomcat源码---容器生命周期管理(Lifecycle)一

一,tomcat中每一个容器都有其生命周期,初始化/启动/结束 等,可以在各自的生命周期内的步骤中进行一系列需要的操作如日记通知,生命周期中采用最独特的设计模式,就是适配器模式(Addapter),与命令模式(Command) 在一个周期内涉及到的类是:(Lifecycle,LifecycleSupport(适配器),LifecycleEvent,LifecycleListener(命令))...

2010-03-31 11:12:56 119

Tomcat源码---Session的分析一

一,前面看了大致的tomcat的请求/响应,接下来的文章对tomcat里面的一些模块进行详细分析,从中学习其思想... Session的功能(Session 对象可以存储特定用户会话所需的信息):  1,session是一个以bean的形式存在的,存储在内存中,特定用户可对其进行crud操作.  2,session是有生命周期的.  3,sesson是通过特定用户访问系统时,返...

2010-03-29 11:31:46 83

数据库---多事务并发访问问题(脏读...)(转)

  数据库带来的并发问题包括:      1.丢失或覆盖更新。(幻像读)   2.未确认的相关性(脏读)。   3.不一致的分析(非重复读)。详细描述如下:一,丢失更新 当多个事务选择同一行,然后基于最初选定的值更新该行时,会发生丢失更新问题。每个事务都不知道其它事务的存在。最后的更新将重写由其它事务所做的更新,这将导致数据丢失。   当事务A和事务B同...

2010-03-27 20:01:53 172

Hibernate---基础理解+OpenSessionInViewFilter

 一,SessionFactory  1,是线程安全的,它的同一个实例可以被多个线程共享。 2,是重量级的,不能随意创建或销毁它的实例,如果为应用同时访问多个数据库,则需要为每个数据库创建一个单独的SesisonFactory实例  //可用于自定义查询  <propertyname="total"  formula="select count(*) from...

2010-03-27 20:01:06 91

Hibernate---缓存机制四(一,二级缓存的比较)

1.一级缓存和二级缓存的比较:Hibernate中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存可以进行配置和更改,并且可以动态加载和卸载。  第...

2010-03-27 19:58:08 89

Hibernate---缓存机制三(二级缓存配置)

2.4、使用EhCache配置二级缓存2.4.1、配置准备1)把ehcache-1.2.3.jar加入到当前应用的classpath中。2)在hibernate.cfg.xml文件中加入EhCache缓存插件的提供类。 <!--配置缓存插件 --><property name="hibernate.cache.provider_class"&g...

2010-03-27 19:55:06 64

Hibernate---缓存机制二

 Hibernate缓存原理: 对于Hibernate这类ORM而言,缓存显的尤为重要,它是持久层性能提升的关键.简单来讲Hibernate就是对JDBC进行封装,以实现内部状态的管理,OR关系的映射等,但随之带来的就是数据访问效率的降低,和性能的下降,而缓存就是弥补这一缺点的重要方法.    缓存就是数据库数据在内存中的临时容器,包括数据库数据在内存中的临时拷贝,它位于数...

2010-03-27 19:51:59 58

Hibernate---缓存机制一

一。 持久化层的缓存的范围缓存的范围决定了缓存的生命周期以及可以被谁访问。缓存的范围分为三类。1:事务范围:缓存只能被当前事务访问。缓存的生命周期依赖于事务的生命周期,当事务结束时,缓存也就结束生命周期。在此范围下,缓存的介质是内存。事务可以是数据库事务或者应用事务,每个事务都有独自的缓存,缓存内的数据通常采用相互关联的对象形式。2:进程范围:缓存被进程内的所...

2010-03-27 19:50:16 59

缓存基本原理一(计算机内存)

 在计算机中:    CPU->一级缓存(SRAM)->二级缓存(DRAM)->内存    1:cpu缓存(Cache Memory)位于CPU与内存之间的临时存储器,它的容量比内存小但交换(速度快)。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。由此可...

2010-03-27 19:48:35 890

CAS(单点登陆)---总结二

返回更多用户信息继...配置ssoAuth/WEB-INF/view/protocol/casServiceValidationSuccess.jsp下进行配置如完整页面如下: <%@page pageEncoding="gbk"%><%@ page session="false" %><%@ taglib prefix="c" uri="http:/.

2010-03-27 10:58:42 86

CAS(单点登陆)---总结一

单点登录(sso)是指基于用户/会话认证的一个过程,用户只需一次性提供凭证(仅一次登录),就可以访问多个应用。    一, 最近一段时间公司进行系统整合,公司决定采用yale cas 单点登录进行整合,在这里对在项目整合中遇到的问题进行总结:  1,到官方上下载CAS2.x服务器改名为ssoAuth   2,以ssoAuth/login为所有系统的登录页,对每个系统进行配置,配...

2010-03-27 10:43:43 102

Tomcat源码---响应处理五

一,响应工作我们应该从CoyoteAdapter#service方法下的  if (!comet) { response.finishResponse(); req.action(ActionCode.ACTION_POST_REQUEST , null); }  public...

2010-03-25 16:01:53 191

Tomcat源码---请求处理四(2)

对以上的StandardWrapperValve#invoke进行说解   if (!unavailable) {                  //servlet行行在这一步                  servlet = wrapper.allocate();              }    public Servlet allocate()...

2010-03-25 15:34:35 117

Tomcat源码---请求处理四(1)

  一,现在到了StandardWrapperValve#invoke下,现在才算是真正的调用,主要实现了对servlet,filter执行 /** * Invoke the servlet we are managing, respecting the rules regarding * servlet lifecycle and SingleThreadMo...

2010-03-25 11:08:00 106

Tomcat源码---请求处理三

一,这一章节主要讲request与response通过管道,阀门在各个容器间运行 1,connector.getContainer().getPipeline().getFirst().invoke(request, response);这一步是StandardEngine获取StandardPipeline被StandardEngineValve进行过滤后执行到StandardHost...

2010-03-25 10:39:52 128

Tomcat源码---请求处理二

一,经过以上文章(JIoEndpoint$Worker#run)执行,就成功把socket交给tomcat中的coyote包执行org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler#process(Socket socket)  public boolean process(Socket socket) { ...

2010-03-24 15:04:43 112

Tomcat源码---请求处理(接收,线程分配)一

一,在以上文章中tomcat启动已经完毕,接着要做的是消息的请求与响应以下是tomcat文档中的详解-----------------------------------------------------------------------------------------------  d) Tomcat receives a request on an HTTP port...

2010-03-24 14:34:15 406

Tomcat源码---容器启动六(4)

现在容器已经启动成功的StanderService#start中继续是executor(不作详解)与connector的启动 //两个connector的启动8080 8009         synchronized (connectors) {             for (int i = 0; i < connectors.length; i++) {    ...

2010-03-24 11:14:43 106

Tomcat源码---容器启动六(3)

一,容器已经启动到部暑文件(webapps),接下去是StandardContext,standardWarpper还有Connector等的启动我们来了解一下部暑war文件    // Deploy WARs, and loop if additional descriptors are found //appBase:webapps File appB...

2010-03-24 10:48:03 105

Tomcat源码---容器启动六(2)

  super.start()--->org.apache.catalina.core.ContainerBase#start() /** * Prepare for active use of the public methods of this Component. * * @exception LifecycleException if th...

2010-03-23 16:42:43 90

Tomcat源码---容器启动六(1)

 一,完成了以上的初始化工作,现在进行容器的启动工作由------------------------------------------------------------------------------------- c) Catalina.start() c1) Starts the NamingContext and binds all JNDI referenc...

2010-03-22 16:02:41 91

Tomcat源码---初始化容器五

一,上面文章完成了对server.xml载入以及解析,现在主要做的是就是对里面所定义的容器进行初始化工作.查看org.apache.catalina.startup.Catalina#load()      //StandarServer开始进行实例化                 server.initialize();   默认情况下是org.apache.cat...

2010-03-22 15:03:00 112

Tomcat源码---载入相应的资源及解析四(2)

一,根据以上文章所讲的对server.xml的解析作下简单的分析org.apache.catalina.startup.Catalina#loadDigester是用sax来解析server.xml的类,这一步是初始化 //创建该对象,主要是对conf/server.xml进行解析         Digester digester = createStartDigester...

2010-03-19 16:47:12 100

Tomat源码---载入相应的资源及解析四(1)

一,进行了以上的类包加载后,现在主要的工作是载入server.xml,并对里面的配置进行解析,最特别的就是里面各个容器的初始化(Server,Service,Engine,Host,Context). -----------------------------------------------------------------------------------------------...

2010-03-19 16:22:27 127

Tomcat源码---启动.初始化(加载类包)分析三

一,启动Tomcat是从org.apache.catalina.startup.Bootstrap#main()开始启动.代码如下:  public static void main(String args[]) { if (daemon == null) { daemon = new Bootstrap(); ...

2010-03-19 15:37:18 136

Tomcat的简单了解二

 在查看源代码时,在网上找了一系列的文章,在些作详解: 1,对tomcat中某些重要的功能进行了搜集,可从中了解到tomcat的大致功能.    http://blog.csdn.net/wangchengsi/archive/2008/09/23/2966847.aspx2,这个是官方网档对tomcat的架构进行了描述(里面包含了uml架构图,与文字描述,还有各种配置)....

2010-03-19 14:40:21 82

Tomcat中server.xml的配置分析一

      最近查看了tomcat6的源代码,了解了里面的大概流程,对细节问题还没有深入,故想通过发表博客对tomcat进 行深入了解首先对server.xml进行分析,了解其中tomcat可配置的功能,对tomcat中应有的功能进行较全面的了 解,这样一来对后面在源代码中看到的些判断逻辑会更加清楚.  查找了下以下文章对此作了较详细的描述:转载至:http://d...

2010-03-19 14:07:15 61

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除