`

Tomcat 系统架构与设计模式(学习笔记一)

阅读更多
清单 2. StandardService. addConnector


public void addConnector(Connector connector) {
    synchronized (connectors) {
        connector.setContainer(this.container);
        connector.setService(this);
       Connector results[] = new Connector[connectors.length + 1];
        System.arraycopy(connectors, 0, results, 0, connectors.length);

        results[connectors.length] = connector;
        connectors = results;
        if (initialized) {
            try {
                connector.initialize();
            } catch (LifecycleException e) {
                e.printStackTrace(System.err);
            }
        }
        if (started && (connector instanceof Lifecycle)) {
            try {
                ((Lifecycle) connector).start();
            } catch (LifecycleException e) {
                ;
            }
        }
        support.firePropertyChange("connector", null, connector);
    }
}


上面是 addConnector 方法,这个方法也很简单,首先是设置关联关系,然后是初始化工作,开始新的生命周期。这里值得一提的是,注意 Connector 用的是数组而不是 List 集合,这个从性能角度考虑可以理解,有趣的是这里用了数组但是并没有向我们平常那样,一开始就分配一个固定大小的数组,它这里的实现机制是:重新创建一个当前大小的数组对象,然后将原来的数组对象 copy 到新的数组中,这种方式实现了类似的动态数组的功能,这种实现方式,值得我们以后拿来借鉴。
分享到:
评论

相关推荐

    最新设计模式超级详解+Tomcat架构源码分析+Spring源码分析 资深级设计模型课程

    Spring源码分析,web源码分析,Tomcat架构源码分析都是非常深入的源码级课程,期待研究设计模式和深入学习源码内功的朋友们,一定要仔细的学习研究。 (0);目录中文件数:1个 ├─3.代码.zip (1)\1.笔记;目录中文...

    Java架构面试笔试专题资料及经验(含答案)和学习笔记.zip

    Java架构面试笔试专题资料及经验(含答案)和学习笔记: ActiveMQ消息中间件面试专题.pdf Dubbo面试专题及答案(下).pdf Dubbo面试及答案(上).pdf java后端面试题答案.pdf Java基础面试题.pdf java多线程并发编程...

    JAVA-SSH三层架构搭建学习笔记

    ### JAVA-SSH三层架构搭建学习笔记 #### 一、概述 本学习笔记基于浪曦老师的教学视频进行整理,旨在帮助读者理解如何搭建完整的Struts2 + Hibernate + Spring(简称SSH)三层架构。通过本笔记,读者能够掌握如何从...

    Spring框架学习笔记

    这份"Spring框架学习笔记"涵盖了Spring框架的基础知识、核心组件以及高级特性,对于初学者来说是一份宝贵的资料。 一、Spring框架概述 Spring框架是为了解决企业应用开发的复杂性而设计的,它提供了一个全面的基础...

    基于ssm云的学习笔记系统.zip

    【SSM云学习笔记系统】是一个综合性的项目,它结合了Spring、SpringMVC和MyBatis(简称SSM)三大Java开发框架,以及SpringBoot和微信小程序的技术,旨在为用户提供一个云端的学习笔记管理平台。这个系统的设计和实现...

    How Tomcat Works 读书笔记(第三章)

    《How Tomcat Works》这本书是理解Apache Tomcat服务器工作原理的重要资源,第三章主要探讨了Tomcat的架构和核心...通过深入学习这一章,开发者能够更好地掌握如何配置和管理Tomcat,以及如何设计高效的Web应用程序。

    软件测试学习笔记

    ### 软件测试学习笔记知识点详解 #### 一、软件测试基础知识 1. **软件测试定义** - **理解**:软件测试是通过执行软件产品来评估其质量的过程。 - **目的**:确保软件产品能够满足用户的需求并达到预定的质量...

    Eclipse 开发学习笔记第17章源码

    在本章"Eclipse开发学习笔记第17章源码"中,我们将深入探讨如何使用Eclipse集成开发环境(IDE)来构建一个实际的在线购物系统。这个实例将涵盖多个关键的IT知识点,包括软件工程的设计原则、Java编程、Web应用程序...

    基于Spring框架的云笔记设计与实现.pdf

    基于Spring框架的云笔记设计与实现涉及多个IT领域的知识点,这些知识点包括但不限于Spring框架、Java语言、MySQL数据库、MyEclipse开发环境、Tomcat服务器、SpringMVC框架、MyBatis框架、AJAX技术等。下面详细介绍...

    JavaEE学习笔记

    ### JavaEE 学习笔记概览 #### 一、JavaEE 概念及发展历程 JavaEE(Java Platform, Enterprise Edition)是Sun Microsystems公司为简化企业级应用开发而提出的一套标准化平台,它提供了构建分布式系统的基本框架和...

    JSP 完全学习笔记 全

    Struts是一个基于MVC设计模式的Java Web框架,"struts框架.doc"和"struts标签.doc"可能详细阐述了Struts的架构、Action类、ActionForm对象以及自定义标签的使用,这些都是提高开发效率的关键。 **八、BS与CS模式** ...

    李兴华--J2EE核心框架 笔记

    《李兴华--J2EE核心框架 笔记》是一份深入探讨...笔记2、笔记1和笔记3可能分别从不同角度或深度详细展开这些主题,为读者提供了一个全面、系统的J2EE学习路径。无论是初学者还是经验丰富的开发者,都能从中受益匪浅。

    java web学习笔记

    Java Web学习笔记是深入理解Web开发技术的重要参考资料,尤其对于初学者来说,它提供了一条系统学习的路径。这份笔记的作者在学习过程中积累了丰富的知识,并将其归纳整理,旨在帮助那些希望进入Java Web领域的...

    j2ee.rar_java 学习笔记

    Java EE支持各种模板引擎(如FreeMarker、Thymeleaf)来实现MVC(Model-View-Controller)设计模式,分离视图、逻辑和数据,提高代码的可维护性和可重用性。 **10. 容器管理** Java EE容器(如应用服务器)为组件...

    java后端学习笔记.zip

    本学习笔记主要涵盖了Java后端开发的基础知识、核心技术以及常见框架,旨在帮助初学者和进阶者深入理解Java后端开发。 一、Java基础 Java后端开发首先需要掌握Java语言的基本语法,包括数据类型、控制结构(如if...

    资深J2EE学习笔记60页

    11. **设计模式**:作为资深学习笔记,可能会涵盖常见的设计模式,如工厂模式、单例模式和策略模式,这些都是在J2EE开发中经常使用的最佳实践。 这些知识点构成了J2EE开发的基础,通过学习和理解这些概念,开发者...

    MLDN李兴华视频教程学习笔记j2ee web.rar

    2. **MVC设计模式**:Model-View-Controller模式是Web开发中常见的架构模式,用于分离业务逻辑、数据模型和用户界面。学习笔记可能会介绍如何在J2EE中实现MVC架构,例如使用Struts或Spring MVC框架。 3. **EJB...

    圣思源的javaweb学习笔记

    《圣思源的javaweb学习笔记》是针对Java Web开发的一份详尽教程,由知名讲师圣思源和张龙共同传授。这份笔记涵盖了Java Web开发中的关键技术和概念,特别是jsp、servlet以及tomcat服务器的使用。下面将深入探讨这些...

Global site tag (gtag.js) - Google Analytics