2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

Tomcat6 類裝載器分析

 燮羽 2010-12-08
Tomcat6 類裝載器的實(shí)現(xiàn)都是通過(guò)繼承于JDK中的 java.lang.ClassLoader類。
    包括Bootstrap,System,Common和Webapp這四種類加載器來(lái)實(shí)現(xiàn)不同目錄的類文件裝載。
    示例結(jié)構(gòu)如下:
      Bootstrap
          |
       System
          |
       Common
       /     \
  Webapp1   Webapp2 ...

  Bootstrap 類裝載器:
      它用于加載最基本的JVM運(yùn)行環(huán)境類,裝載JDK目錄下類文件($JAVA_HOME/jre/lib/ext)
      使用它的目的是以防一些JVM提供商實(shí)現(xiàn)時(shí),可能考慮某些原因會(huì)把部分的類文件通過(guò)不同的多個(gè)類加載加器加載,同時(shí)會(huì)
      屏蔽一些類加載讓應(yīng)用層的類加載器訪問(wèn)到。
    System 類裝載器:
        該類裝載器根據(jù)JVM的CLASSPATH參數(shù)設(shè)置裝載類文件,該類裝載器對(duì)于Tomcat內(nèi)部的程序和應(yīng)用層的程序都是可見(jiàn)的。
        注:目前tomcat5的啟動(dòng)腳本($CATALINA_HOME/bin/catalina.sh 或 %CATALINA_HOME%\bin\catalina.bat),會(huì)把全局環(huán)境變量CLASSPATH忽略。
            而且通過(guò)下面的兩個(gè)類庫(kù)來(lái)實(shí)現(xiàn)裝載設(shè)置:
            * $CATALINA_HOME/bin/bootstrap.jar 包含一個(gè)main()方法來(lái)初始化tomcat6服務(wù),并實(shí)例類裝器所依賴的類文件。
            * $CATALINA_HOME/bin/tomcat-juli.jar 初始Jakarta commons logging API和 java.util.logging LogManager.
    Common 類裝載器 
        該類裝載器對(duì)于Tomcat內(nèi)部的程序和應(yīng)用層的程序都是可見(jiàn)的.
        當(dāng)然不太建議把應(yīng)用層的類庫(kù)放到這里來(lái)加載。
        所有$CATALINA_HOME/lib目錄下未壓縮的類文件,資源和壓縮后Jar/zip文件都會(huì)補(bǔ)該類裝載器加載。
        
        Tomcat6默認(rèn)該目錄的類文件有:
        * annotations-api.jar - JEE annotations classes.
        * catalina.jar - Implementation of the Catalina servlet container portion of Tomcat6.
        * catalina-ant.jar - Tomcat Catalina Ant tasks.
        * catalina-ha.jar - High availability package.
        * catalina-tribes.jar - Group communication package.
        * el-api.jar - EL 2.1 API.
        * jasper.jar - Jasper 2 Compiler and Runtime.
        * jasper-el.jar - Jasper 2 EL implementation.
        * jasper-jdt.jar - Eclipse JDT 3.2 Java compiler.
        * jsp-api.jar - JSP 2.1 API.
        * servlet-api.jar - Servlet 2.5 API.
        * tomcat-coyote.jar - Tomcat connectors and utility classes.
        * tomcat-dbcp.jar - package renamed database connection pool based on Commons DBCP.
        * tomcat-i18n-**.jar - Optional JARs containing resource bundles for other languages. As default bundles are also included in each individual JAR, they can be safely removed if no internationalization of messages is needed.

    Webapp 類裝載器:
      應(yīng)用層的類裝載器,每個(gè)應(yīng)用程序都會(huì)創(chuàng)建一個(gè)單獨(dú)的類裝載器。該類裝載器只能本應(yīng)用程序中可見(jiàn)。
      所有/WEB-INF/classes目錄下未壓縮的類文件,資源文件都會(huì)補(bǔ)該類裝載器加載。
      所有/WEB-INF/lib目錄下壓縮后Jar/zip文件都會(huì)補(bǔ)該類裝載器加載。 


    把各個(gè)類裝載器的定義整理出來(lái)后,Tomcat6服務(wù)器類裝載器執(zhí)行的順序如下:
    
    * Bootstrap classes of your JVM
    * System class loader classses (described above)
    * /WEB-INF/classes of your web application
    * /WEB-INF/lib/*.jar of your web application
    * $CATALINA_HOME/lib
    * $CATALINA_HOME/lib/*.jar

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多