`
Rambing
  • 浏览: 31963 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
综述:在上一节中分析了Tomcat的执行过程。这一节将分析,Tomcat启动以及请求处理过程中所涉及到的类与对象,是由谁加载的,Tomcat的类加载器的特点。   4.1 JAVA的类加载过程 1)类加载load:从字节码二进制文件.class文件将类加载到内存将内存中的class放到运行时数据区的方法区内。类的初始化过程会在堆区建立一个java.lang.Class对象,用来封装该类相关的数据结构。   2)  连接:连接又分为以下小步骤     a) 验证:出于安全性的考虑,验证内存中的字节码是否符合JVM的规范,类的结构规范、语义检查、字节码操作是否合法、这个是为了防止用户 ...
概述:上两节中分析了Tomcat7的静态结构。这篇将接受Tomcat的启动以及与Tomcat的请求处理过程。因为Tomcat启动与server.xml配置文件所决定,所以本文主要是默认情况下Tomcat7的启动过程。   一. 容器的启动过程 UML图例说明: 实心箭头表示同步调用;空心箭头表示异步调用。 图例说明: 1. 引导类Bootstrap负责引导,在其init方法内部创建容器启动所需的类加载器,以及用于JMX监控的MBeanServer   2. Bootstrap调用Catalina的load()方法加载Server的配置(也就是server.xml),将加载的配 ...
Tomcat是一个WEB容器,也是一个Servlet容器。他需要处理来自客户端的HTTP请求,也需要处理来自WEB服务器(Apache)的AJP请求。对于不同的请求,Tomcat将接受到的Socket,封装成为相应的Request以及与Response对象,然后再转交给容器进行具体的处理。   Tomcat的设计非常的模块化,为了提高服务本身的可扩展性,Tom
概述: Tomcat源码解读已经有不少人已经发过各种文章了,大致看了下大多都是抄袭的。所以决定自己耐心从头到尾仔细看一遍,边看边写些博文。    在Tomcat的$CATALINA_HOME/conf/web.xml中默认配置了上图所示的内容。仔细阅读这个XML文件的内容就可以大致的看出Tomcat的各个容器组件之间的关系。要是想深入的了解各个组件的详细关系,并且对XML配置文件做充分的优化,则需要进一步的理解各个组件的关系结构。                                           图1-2         仔细查看上图,不难发现其中的Conneco ...
概述: 为了学习事务的管理,实现了如下的一个简单版本的事务管理器,进行实验。该管理器简化了事务管理的各种异常类型的考虑。 对于Transaction 管理 为了实现数据一致性,对于数据库的JDBC编程通常需要在代码中显示的调用Connection方法的事务相关API来完成工作。 常见的代码如下: public void doService(){ Connection connection = getConnection(); connection.setTransactionIsolation( Connection.TRANSACTION_READ_COM ...
1.3 SQL SERVER 的事务管理 1.3.1 SQL SERVER 2005的并发控制模型   SQL SERVER 提供了悲观并发控制模式和乐观并发控制模式。   悲观并发控制模式假定系统中存在足够多的数据修改操作以致任何确定的读操作都可能会受到由别的用户所制 ...
概述    事务控制是保证系统数据完整一致性的基础。也是企业应用系统必须解决的一个技术问题。不单是企业审计上需要,更重要是企业及时有效的通过数据监控企业当前状态的需要。所以对于一个企业级的应用数据的完整一 ...
Hibernate的二级缓存   SessionFactory级别的全局缓存,它底下可以使用不同的缓存类库,比如ehcache、oscache等,需要设置 hibernate.cache.provider_class。如果使用查询缓存,加上 hibernate.cache.use_query_cache=true 缓存可以简单的看成一个Map,通 ...
1.1 浏览器的缓存应用 1.1.1 概述    游览器缓存可以有效的解决同一客户端用户的多次访问的快速响应问题。一个客户可能多次访问同一个页面,使用了浏览器缓存,直接可以从客户的本地获取缓存的数据,从而可以有效减少用 ...
虚拟内存使用之前需要了解系统内存管理信息和虚拟地址空间的相关信息。 1.管理系统信息 —— 页面大小, 分配粒度 等基本的系统信息,CPU管理的信息。   使用函数: GetSystemInfo(LPSYSTEM_INFO psi) 2.管理内存的状态信息 —— 物 ...
32位Windows操作系统为每个进程提供了4GB的虚拟地址空间。 1.引入虚拟地址空间的原因 操作系统管理多个进程,存在多个进程同时访问同一物理地址的可能,通过引入虚拟地址来简化进程对于物理地址的操作。每个进程都拥有了 ...
Global site tag (gtag.js) - Google Analytics