WebLogic类加载过程简述

合集下载

Tomcat-JBoss-Weblogic-Jetty的区别和介绍

Tomcat-JBoss-Weblogic-Jetty的区别和介绍

一.Jetty 的基本架构Jetty 目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器,它有一个基本数据模型,这个数据模型就是 Handler,所有可以被扩展的组件都可以作为一个 Handler,添加到 Server 中,Jetty 就是帮你管理这些Handler。

整个 Jetty 的核心组件由 Server 和 Connector 两个组件构成,整个 Server 组件是基于Handler 容器工作的,它类似与 Tomcat 的 Container 容器,Jetty 与 Tomcat 的比较在后面详细介绍。

Jetty 中另外一个比不可少的组件是 Connector,它负责接受客户端的连接请求,并将请求分配给一个处理队列去执行。

它的所有组件都是基于 Handler 来实现Jetty 中还有一些可有可无的组件,我们可以在它上做扩展。

如 JMX,我们可以定义一些Mbean 把它加到 Server 中,当 Server 启动的时候,这些 Bean 就会一起工作。

Jetty 可以基于 AJP 协议工作,在正常的企业级应用中,Jetty 作为一个 Servlet 引擎都是基于 AJP 协议工作的,所以它前面必然有一个服务器,通常情况下与 Jboss 集成的可能性非常大Tomcat 和 Jetty 都是作为一个 Servlet 引擎应用的比较广泛,可以将它们比作为中国与美国的关系,虽然 Jetty 正常成长为一个优秀的 Servlet 引擎,但是目前的 Tomcat 的地位仍然难以撼动。

相比较来看,它们都有各自的优点与缺点。

Tomcat 经过长时间的发展,它已经广泛的被市场接受和认可,相对 Jetty 来说 Tomcat 还是比较稳定和成熟,尤其在企业级应用方面,Tomcat 仍然是第一选择。

但是随着 Jetty 的发展,Jetty 的市场份额也在不断提高,至于原因就要归功与 Jetty 的很多优点了,而这些优点也是因为 Jetty 在技术上的优势体现出来的。

WEBLOGIC的安装、配置和启动

WEBLOGIC的安装、配置和启动

WEBLOGIC的安装、配置和启动WEBLOGIC的安装、配置和启动⼀、软件安装1. 安装前的准备⼯作1.1 ⾸先请确认您要安装的WebLogic版本所在的平台已通过了BEA的认证,完整的认证平台列表请参考1.2 确定⼀个安装⽬录,建议该⽬录下⾄少有1个G的空间,可单独创建个逻辑卷和⽂件系统1.3 创建⼀个BEA⽤户组帐号1.4 创建⼀个weblogic⽤户帐号2. 安装步骤WebLogic在AIX平台下的安装⽅法⼀般有三种:图形窗⼝模式,控制台模式,⽆⼈守护安装模式。

由于控制台模式的使⽤最为⼴泛且不受任何其它硬件条件的限制(所以我们这⾥只介绍控制台安装模式。

2.1 安装JRE环境WebLogic安装程序需要JRE的⽀持,根据安装平台的不同,WebLogic的安装介质也分为两类,⼀种⾃带了JRE(后缀名为.bin),⼀种需要下载平台⼚商所提供的JRE环境(后缀名为.jar),以WebLogic Server 8.1 with SP2为例,⽬前所⽀持的UNIX/LINUX平台如下所⽰(截⽌2004.2.23) WebLogic Server 8.1 with SP2⽀持平台是否⾃带JDKHP-UX (11.0,11.i, PA-RISC) YESSun Solaris (8, 9, SPARC) YESRed Hat Enterprise Linux (2.1, Pentium) YESRed Hat Enterprise Linux (2.1, Itanium) YESSuSE SLES (8, Pentium) YESUnited Linux (1.0, Pentium) YESIBM AIX (5.1, 5.2) NO⾸先要下载和操作系统以及WEBLOGIC相匹配JDK版本,最好是经过BEA认证的版本。

可查询以下链接;在AIX上安装JDK要注意以下步骤:安装后要修改环境变量/etc/environment⽂件,将PATH中Java部分更改为新安装的Java版本(Java131或Java14),并重新Login后⽣效!否则系统会使⽤原有的Java130环境,在安装weblogic7.0以上版本时会⾃动退回到提⽰符下。

类加载的三种方式

类加载的三种方式

类加载的三种⽅式类加载分为动态加载和静态加载。

动态加载是从外存储器中加载类,⼀般类加载机制分析的也是动态加载。

⽽静态加载本质上是从内存中创建类的实例对象,此时类已经被加载到内存中。

⼀.静态加载通过new关键字来创建Test的实例对象。

⼆.动态加载1.通过Class.forName()来加载类,然后调⽤类的newInstance()⽅法实例化对象。

2.通过类加载器的loadClass()⽅法来加载类,然后调⽤类的newInstance()⽅法实例化对象。

这⾥有⼏个需要⽐较的地⽅:1.通过new关键字实例化类的对象和通过Class.forName()加载类是当前类加载器,即this.getClass.getClassLoader,只能在当前类路径或者导⼊的类路径下寻找类。

⽽⽤指定的classLoader来加载类可以从当前路径外寻找类,这⾥的classLoader甚⾄可以⽤户⾃定义。

2.我们知道类加载机制的三个过程主要是加载-->连接-->初始化。

Class.forName()实际调⽤的是Class.forName(className,true,this.getClass.getClassLoader),第⼆个参数表⽰加载完后是否⽴即初始化,第三个参数即前⽂提到的表⽰是当前类加载器。

classLoader.loadClass()实际调⽤的是classLoader.loadClass(className,false),第⼆个参数表⽰加载完成后是否连接,即⽤此⽅法加载类,加载完成后不会去初始化,⽽⽤Class.forName()加载类加载完成后可以被初始化。

所以有些类如果加载完成后需要⽴即被初始化则必须使⽤Class.forName()。

例如在加载数据库驱动时,⼀般⽤Class.forName("com.mysql.jdbc.Driver")。

这是因为该驱动有⼀个在静态代码块中注册驱动的过程,所以需要被初始化。

OracleWeblogic11g基础知识

OracleWeblogic11g基础知识
WebLogic Server 11g 旨在提供高性能、高可用性和可伸 缩性,以满足企业不断增长的业务需求。
主要特点
支持多种编程语 言和框架
WebLogic Server 11g 支持 Java EE 和 SOA 标准,以及多种流行的 编程语言和框架,如 Java、JSP、Servlets、 EJB、JMS、JAX-WS 等。
集成开发环境 (IDE)
高可用性和可伸 缩性
WebLogic Server 11g 提供了一个集成的开发 环境(IDE),支持从设 计到部署的全过程开发, 包括代码编辑、调试、 测试和部署等。
WebLogic Server 11g 支持高可用性和可伸缩 性,通过集群和负载均 衡技术,提供对关键业 务应用的保护,确保应 用程序的可靠性和性能 。
指导用户如何配置审计和日志功能,以便于监控和安全分析。
安全策略配置
指导用户如何配置安全策略,包括 IP 限制、URL 过滤等。
安全漏洞与防护
1 2
常见安全漏洞
介绍 WebLogic Server 11g 中常见的安全漏洞, 如跨站脚本攻击(XSS)、SQL 注入等。
安全补丁
及时发布安全补丁,修复已知的安全漏洞,提高 系统的安全性。
ABCD
VisualVM:用于监控 Java应用程序的内存、线 程和CPU使用情况。
AWR报告:Oracle自动 工作负载仓库报告,提供 数据库性能的详细分析和 诊断。
性能优化案例
案例一
某银行核心业务系统在高峰期出现性 能瓶颈,通过调整JVM参数和 WebLogic参数,成功提高了系统响 应速度和吞吐量。
3
安全加固
通过配置安全策略、限制访问权限等措施,加固 系统的安全性,防止潜在的安全威胁。

jvm 打印类加载 参数

jvm 打印类加载 参数

jvm 打印类加载参数JVM(Java虚拟机)是Java程序的运行环境,它扮演着将Java字节码转换为机器码并执行的关键角色。

在Java应用程序启动时,JVM会负责加载类并执行相应的操作。

本文将深入探讨JVM的类加载过程,并分析其中的参数。

一、类加载概述在Java中,类是代码的基本组织单元,它被封装在Java源文件中,并经过编译为字节码文件(.class)。

类加载是将字节码文件加载到JVM中并转换为可执行代码的过程。

JVM的类加载机制具有懒加载的特点,即在需要使用某个类时才会加载它。

二、类加载过程1.加载(Loading):将字节码文件加载到JVM中,它可以通过文件系统、网络等方式获取字节码文件。

加载后的类会被存放在方法区(Method Area)中,并被分配一个唯一的类加载器实例。

2.链接(Linking):链接分为三个阶段,包括验证(Verification)、准备(Preparation)和解析(Resolution)。

- 验证:确保字节码文件符合JVM规范,不包含安全漏洞。

- 准备:为类的静态变量分配内存,并设置默认初值。

- 解析:将符号引用转换为直接引用,以便JVM能够快速访问到类、方法和字段。

3.初始化(Initialization):执行类的初始化代码,包括静态变量赋值和静态块的执行。

初始化是类加载过程中的最后一步,只有当类被使用时才会触发。

三、类加载参数1.-verbose:class该参数用于打印类加载的详细信息,包括类的加载、链接和初始化过程。

通过查看该输出信息,可以了解到类加载器的工作情况,以及类加载的顺序和时间等。

2.-Xbootclasspath/a:path该参数用于指定引导类加载器搜索类的路径。

在Java应用程序启动时,引导类加载器会先搜索这个路径下的类,如果找到了对应的类,则直接加载,不再使用默认的搜索路径。

这个参数可以用来加载自定义的类或者覆盖JDK中的类。

3.-Xms<size>和-Xmx<size>这两个参数用于指定JVM的初始堆大小和最大堆大小。

Weblogic详解

Weblogic详解

Weblogic详解⼀、简介WebLogic是美国公司出品的⼀个application server,确切的说是⼀个基于JAVAEE的中间件,WebLogic是⽤于开发、集成、部署和管理⼤型分布式Web应⽤、⽹络应⽤和应⽤的应⽤服务器。

将Java的动态功能和Enterprise标准的安全性引⼊⼤型⽹络应⽤的开发、集成、部署和管理之中。

WebLogic是美商的主要产品之⼀,系并购BEA得来。

是商业市场上主要的Java(J2EE)应⽤服务器软件(application server)之⼀,是世界上第⼀个成功商业化的J2EE应⽤服务器, 已推出到12c(12.1.3) 版。

⽽此产品也延伸出WebLogic Portal,WebLogic Integration等企业⽤的中间件(但当下Oracle主要以Fusion Middleware融合中间件来取代这些WebLogic Server之外的企业包),以及OEPE(Oracle Enterprise Pack for Eclipse)开发⼯具。

(来⾃百度百科)⼆、优点WebLogic Server具有开发和部署关键任务电⼦商务Web应⽤系统所需的多种特⾊和优势。

标准对业内多种标准的全⾯⽀持,包括EJB、JSP、Servlet、JMS、JDBC、XML(标准通⽤标记语⾔的⼦集)和WML,使Web应⽤系统的实施更为简单,并且保护了投资,同时也使基于标准的解决⽅案的开发更加简便。

可扩展性WebLogic Server以其⾼扩展的架构体系闻名于业内,包括客户机连接的共享、资源pooling以及动态⽹页和EJB组件群集。

快速开发凭借对EJB和JSP的⽀持,以及WebLogic Server 的Servlet组件架构体系,可加速投放市场速度。

这些开放性标准与WebGain Studio 配合时,可简化开发,并可发挥已有的技能,迅速部署应⽤系统。

三、和其他服务器区别tomcat (免费)Tomcat只能算Web Container,是官⽅指定的JSP&Servlet容器。

Weblogic中间件运维经验汇总

Weblogic中间件运维经验汇总

Weblogic中间件运维经验汇总目录关于Weblogic参数调优的运维经验 (2)Weblogic性能调优的处理方法 (5)关于输电项目Weblogic安装的运维经验 (8)Weblogic回收数据库连接数配置的方法 (14)在Apache和Weblogic中分别部署静态页面的方法 (17)Weblogic Server性能调优经验 (20)WeblogicJVM堆参数设置方法 (24)关于Weblogic参数调优的运维经验报送单位:北京公司审核人:类型:业务应用关键字:GC垃圾回收1、引言为了提高维护人员运维水平,以集中与分享日常运行维护经验为目的,现进行典型经验的编制。

2、现象描述部分应用服务器出现宕机现象,在F5上查看时已经掉出集群状态。

3、处理过程停止宕机应用服务器上的Weblogic进程。

/home/weblogic/bea/user_projects/domains/pms/bin/setDomainEn v.sh文件中的启动内存大小并添加垃圾回收机制,修改后如下:MEM_ARGS="-Xms5248m -Xmx5248m -Xmn1536m-XX:SurvivorRatio=6-XX:+UseParNewGC-XX:+UseConcMarkSweepGC-XX:CMSFullGCsBeforeCompaction=20-XX:+UseFastAccessorMethods-XX:+AggressiveOpts"3、修改完成后重启Weblogic服务。

4、原因分析在收到报警信息后,对后台日志进行查看,报错信息如下:Exception in thread "CBM_正常处理任务线程" ng.OutOfMemoryError: Java heap spaceatoracle.jdbc.driver.OracleStatement.prepareAccessors(OracleStatement.ja va:868)atoracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatem ent.java:1045)atoracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPre paredStatement.java:839)atoracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatem ent.java:1132)atoracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePrepa redStatement.java:3316)atoracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3361)经过对报错日志分析,状态检修的CBM处理进程内存溢出报错,导致服务器宕机。

关于在Eclipse中启动Weblogic和通过命令窗口直接启动Weblogic时加载jar包的区别(胡永可20090722)

关于在Eclipse中启动Weblogic和通过命令窗口直接启动Weblogic时加载jar包的区别(胡永可20090722)

关于在Eclipse中启动W eblogic和通过命令窗口直接启动W eblogic时加载jar包的区别说明在Eclipse中启动Weblogic:指通过在Eclipse中配置好Weblogic服务器后,直接通过Eclipse启动Weblogic服务器。

命令窗口直接启动Weblogic:指通过Weblogic安装目录下的startWebLogic.cmd命令启动Weblogic服务器。

加载Jar包的区别在Eclipse中启动W eblogic加载的Jar包为通过Eclipse添加的Jar包。

添加Jar包过程如下:1、点击“部署配置”选项下的“Configure Server”按钮2、进入服务器配置页面3、选择Application Servers项下的Weblogic,选择Weblogic 8.X,选择“Path”项,如下图所示:4、在Prepend to classpath 项中通过“Add JAR/ZIP”添加要增加的Jar包。

通过命令窗口直接启动Weblogic需额外加载的Jar包需在startWebLogic.cmd中CLASSPA TH中引入,或在Common.cmd 中的CLASSPA TH中引入。

startWebLogic.cmd中引入的Jar包的作用范围为“域”的范围;在Common.cmd中引入的Jar包的作用范围为WebLogic服务器范围,使用与所有“域”。

注:为避免冲突,一般在域范围中引入。

推荐的处理方法:在域下建一个专门供域使用的lib文件夹,将要添加的jar包放到lib中,在StartWebLogic.cmd中加入引入的描述,如下图所示:包时路径写成“./lib/db2jcc.jar:./lib/db2jcc_license_cu.jar”教训总结:在startWebLogic.cmd中引入jar包后,通过Ecllipse启动Weblogic时是不起作用的。

切记!。

java类加载过程(步骤)详解

java类加载过程(步骤)详解

java类加载过程(步骤)详解
Java类加载过程主要可以分为三个步骤:加载、连接、初始化。

加载:是Java将字节码数据从不同的数据源读取到JVM中,映射为JVM认可的数据结构。

连接:是把原始的类定义信息平滑地转⼊JVM运⾏的过程中。

这⼀阶段可以细分为验证、准备、解析三步。

初始化:是执⾏类初始化的代码逻辑,包括静态字段赋值的动作,以及执⾏类定义中的静态初始化块内的逻辑。

验证:
1.格式检查 --> 魔数验证、版本检查、长度检查
2.语义检查 --> 是否继承final、是否有⽗类、是否实现抽象⽅法
3.直接验证 --> 跳转指令是否只想正确的位置,操作数类型是否合理
4.符号引⽤验证 --> 符号引⽤的直接引⽤是否存在
准备:
为类中的所有静态变量分配内存空间,并为其设置⼀个初始值(由于还没有产⽣对象,实例变量不在此操作范围内)被final修饰的静态变量,会直接赋予原值;类字段的字段属性表中存在ConstantValue属性,则在准备阶段,其值就是ConstantValue的值
解析:
将常量池中的符号引⽤转为直接引⽤(得到类或者字段、⽅法在内存中的指针或者偏移量,以便直接调⽤该⽅法),这个可以在初始化之后再执⾏。

可以认为是⼀些静态绑定的会被解析,动态绑定则只会在运⾏是进⾏解析;静态绑定包括⼀些final⽅法(不可以重写),static⽅法(只会属于当前类),构造器(不会被重写)。

weblogic的使用

weblogic的使用

weblogic的使用
WebLogic是一种常用的Java应用服务器,它能够提供高度可扩展的企业级应用程序运行环境。

使用WebLogic可以简化应用程序开发、部署和管理过程,提高应用程序的可靠性和性能。

以下是WebLogic 的使用方法:
1. 安装WebLogic服务器:在官方网站下载WebLogic服务器安装包,按照安装向导完成安装过程。

2. 创建WebLogic域:WebLogic域是WebLogic服务器的逻辑管理单元,通过创建域可以管理应用程序、配置服务器等。

使用配置向导创建域。

3. 部署应用程序:将应用程序的WAR或EAR文件部署到WebLogic 服务器中,可以使用WebLogic控制台或命令行工具进行部署。

4. 配置服务器:通过WebLogic控制台或命令行工具可以配置WebLogic服务器,如配置JDBC数据源、安全设置、JMS等。

5. 启动和停止服务器:可以使用WebLogic控制台或命令行工具启动和停止WebLogic服务器。

6. 监控服务器:通过WebLogic控制台可以实时监控WebLogic 服务器的运行状态、应用程序状态、日志等信息。

7. 优化服务器性能:WebLogic服务器提供了多种性能优化选项,如配置缓存、调整线程池大小等。

8. 备份和恢复服务器:通过备份WebLogic域和应用程序,可以实现服务器数据的备份和恢复。

WebLogic的使用需要一定的Java和Web应用程序开发基础,但是通过学习官方文档和示例,可以快速掌握WebLogic的使用方法。

Weblogic应用程序部署步骤

Weblogic应用程序部署步骤

Weblogic应用程序部署步骤预览说明:预览图片所展示的格式为文档的源格式展示,下载源文件没有水印,内容可编辑和复制WebLogic应用程序部署步骤1、进入weblogic主界面——点击左侧“域结构”下的“部署”2、在“部署”界面,找到右侧界面中的“部署”模块,点击“安装”(安装你所需要部署的应用程序)——进入“安装应用程序界面”,显示当前的路径,如果你所需要的应用文件在显示的路径下面找不到,可以点击“上载文件”,选择你所需要的部署文件3、点击“上载文件”——找到右侧界面“将部署上载到管理”,有两个选择项:“部署档案”和“上载部署计划(此项是可选的)”。

说明:“部署档案”,是从你当前浏览的计算机上选择你所需要的应用程序或模块,找到文件后,将此部署上载到管理服务器。

“上载部署计划(可选)”,是一种配置,可对包含在部署档案中的描述符进行补充。

部署在没有部署计划的情况下可以运行, 但你也可以立即上载一个部署计划。

此部署计划档案是一个打包为 .jar 文件的配置信息目录。

4、点击“部署档案”旁的“选择文件”(选择相应的应用程序,为*.war文件),确定——点击“下一步”——进入“找到要安装的部署并准备部署”(提示:以成功将文件上载到服务器上)——点击“下一步”5、找到右侧“选择定位样式”窗格,有两个选项,“将此部署安装为应用程序”和“将此部署安装为库”。

根据实际情况进行选择。

说明:“将此部署安装为应用程序”,是此应用程序及其组件将被定位到同一位置。

这是最常见的方法。

“将此部署安装为库”,应用程序库是可供其他部署共享的部署,在运行其引用应用程序的所有目标上,库都应该是可用的。

6、点击“下一步”,进入“选择部署目标”,选择要对其部署此应用程序的服务器和/或集群。

选择“服务器”,如“AdminServer”等。

7、点击“下一步”,之后的设置都是可选的,也可以部署之后进行设置。

可供设置的选项有,“一般信息”,“安全”,“源可访问性”。

Weblogic使用手册大全详解(中文)

Weblogic使用手册大全详解(中文)

1 WEBLOGIC服务器管理概述10域、管理服务器与受管服务器10启动管理控制台12运行时对象与配置对象12日志消息的集中访问14W EB L OGIC管理服务器与W EB L OGIC受管服务器15启动时的错误消息15启动W EB L OGIC管理服务器15WebLogic服务器启动时的口令使用16从Start菜单启动WebLogic管理服务器16启动与终止Windows服务形式的WebLogic服务器16从命令行启动WebLogic管理服务器17用脚本启动管理服务器20在受管服务器运行时重启管理服务器 20在同台机器上重启管理服务器21在其它机器上重启管理服务器21将W EB L OGIC受管服务器加入到域22启动W EB L OGIC受管服务器22通过脚本启动W EB L OGIC受管服务器 24从老版本W EB L OGIC服务器升级 25从管理控制台终止W EB L OGIC服务器 25从命令行停止服务器25暂停和恢复受管服务器26将W EB L OGIC服务器设置为W INDOWS服务26删除W INDOWS服务形式的W EB L OGIC服务器27更改安装成Windows服务的服务器口令27注册启动与终止类282 节点管理器 29节点管理器概述29配置与启动节点管理器30启动节点管理器31启动管理服务器323 配置WEBLOGIC服务器与集群35服务器与集群配置概述35管理服务器的角色35启动管理控制台37动态配置的工作原理38集群配置规划38- 1 -服务器配置任务列表39集群配置列表41新建一个域42概述43监控服务器44终止或暂停服务器45性能45集群数据46服务器安全46JMS 47JTA 47监控JDBC连接池 47管理控制台的M ONITORING页面一览表484 用日志消息管理WEBLOGIC服务器51日志子系统概述51本地服务器的日志文件53启动日志53客户端日志54日志文件的格式54消息属性54消息目录55消息的严重级别55消息调试56浏览日志文件56查看日志56创建域日志过滤器575 分发应用58分发格式58用管理控制台分发应用58步骤1:配置与分发应用59步骤2:分发应用组件 59分发顺序61自动分发62启用或禁用自动部署62动态分发64启用与禁用自动分发64自动分发展开目录格式的应用64卸载或重新分发被自动分发的应用656 配置WEBLOGIC服务器的WEB组件66- 2 -概述66HTTP参数66配置监听端口67W EB应用68Web应用与集群68指定缺省的Web应用68配置虚拟主机70虚拟主机与缺省Web应用70设置虚拟主机71W EB L OGIC服务器如何解析HTTP请求72设置HTTP访问日志73日志回旋(Log Rotation)73使用管理控制台设置HTTP访问日志 73普通日志格式74使用扩展日志格式75防止“POST拒绝服务”攻击80设置W EB L OGIC服务器的HTTP隧道 81配置HTTP隧道连接81建立客户端与WebLogic服务器之间的连接82用本地I/O提供静态文件服务(只适用于W INDOWS)827 代理对另一个HTTP服务器的请求 84概述84设置从服务器的代理84代理S ERVLET的分发描述符示例858 代理对WEBLOGIC集群的请求87概述87设置H TTP C LUSTER S ERVLET 87H TTP C LUSTER S ERVLET的分发描述符示例889 91配置W EB应用的安全性91设置对Web应用的授权91多Web应用、Cookies与身份验证92限制对Web应用资源的访问92在servlet中使用用户和角色94配置W EB应用的外部资源96在W EB应用中引用EJB S97配置会话管理98HTTP会话属性98- 3 -会话超时98配置会话Cookies 99使用长效cookies 99配置持久化会话100通用属性100使用基于内存的、单服务器的、非复制的持久存储 101使用基于文件的持久存储101使用基于数据库的持久存储 102使用URL重写103URL重写的编码指南104URL重写与无线访问协议(WAP) 104使用字符集与POST数据10410 配置APACHE-WEBLOGIC服务器插件106概述106平台支持107安装库107配置HTTPD.CONF文件109通过URL代理109通过MIME文件类型代理110A PACHE-W EB L OGIC S ERVER插件的参数110使用SSL协议112与SSL-A PACHE配置有关的问题 113H TTPD.CONF文件示例114配置文件示例115使用WebLogic集群的例子115不使用WebLogic集群的例子115配置虚拟主机的例子116分发A PACHE-W EB L OGIC S ERVER插件11611 配置MICROSOFT-IIS插件117概述117连接池以及保持活动状态117安装库118更新IIS设置使请求转给W EB L OGIC118创建IIS P ROXY.INI文件119文件扩展名方式的请求代理 122路径方式的请求代理123.ini文件示例123使用SSL 124将SERVLETS请求转交给W EB L OGIC服务器处理125- 4 -安装测试12612 配置NETSCAPE插件127概述127连接池和保持激活127插件的配置128步骤1:复制库128步骤2:设置obj.conf文件128步骤3:更改MIME.types文件132步骤4:分发与测试NSAPI插件 132参数132使用SSL协议135有关W EB L OGIC服务器集群失败转移的注意事项1360BJ.CONF文件示例(不使用W EB L OGIC集群的情况)136OBJ.CONF文件(使用W EB L OGIC集群的情况) 13813 安全管理141安全配置概述141改变系统口令143指定一个安全域143配置缓存域144配置LDAP安全域147配置Windows NT安全域151配置UNIX安全域 153配置RDBMS安全域154安装一个定制安全域155测试代用安全域与定制安全域156迁移安全域157定义用户157定义用户组159定义虚拟机的用户组159定义ACL 160配置SSL协议161获得私钥与数字证书162保存私钥与数字签名164定义可靠的证书管理机构165定义SSL协议的配置字段165配置双向验证167C ONFIGURING RMI OVER IIOP OVER SSL(TBD)168口令的保护168安装审计提供者170- 5 -安装连接过滤器170设置J AVA安全管理器171配置安全上下文传播17314 管理事务176事务管理概述176配置事务177事务的监控与日志记录178将服务器迁移到另一台机器中17815 管理JDBC连接180用管理控制台管理JDBC 180JDBC配置指南180JDBC配置概述181配置JDBC驱动程序182连接池187设置连接池187管理连接池188多池188创建多池188管理多池188数据源189创建数据源189数据源管理18916 管理JMS 191配置JMS 191配置连接工厂192配置模板193配置收信方主键193配置备份库194配置JMS服务器195配置收信方195配置会话池196配置连接使用者197监控JMS 197恢复失败的W EB L OGIC服务器198重启或替换WebLogic服务器198编程考虑19917 管理JNDI 200- 6 -将对象装载到JNDI树200查看JNDI树20018 管理WEBLOGIC J2EE连接器构架201W EB L OGIC J2EE连接器构架概述201安装资源适配器202配置与部署资源适配器202配置与部署资源适配器202查看已部署的资源适配器203卸载已部署的资源适配器203删除一个资源适配器204查看元素与属性205监控连接池与参数205编辑资源适配器分发描述符 20519 管理WEBLOGIC服务器许可证208安装W EB L OGIC许可证208更新许可证208A 使用WEBLOGIC JAVA工具210A PPLET A RCHIVER210语法211C ONVERSION211D ER2PEM211例子212DBPING212语法212D EPLOY212参数212Actions(从下表中选一个) 213其它参数213选项213例子213GET P ROPERTY 215语法215例子215LOG T O Z IP216语法216例子217M ULTICAST T EST217语法218例子218- 7 -MYIP219语法219例子219P EM2DER 219语法219例子220S CHEMA220语法220例子220SHOW L ICENSES221语法221SYSTEM221语法221例子221T3DBPING222语法222VERBOSE T O Z IP222语法223UNIX上的例子223NT上的例子223VERSION223语法223例子223WRITE L IENSE224语法224例子224B WEBLOGIC服务器的命令行接口参考226命令行接口简介226Before You Begin 226使用W EB L OGIC服务器命令227语法227参数227W EB L OGIC服务器管理命令参考228CONNECT 229HELP 229LICENSES 230LIST 230LOCK 231PING 231SERVERLOG 232SHUTDOWN 233THR EAD_DUMP 233- 8 -unlock 234VERSION 234M BEAN管理命令参考235CREATE命令 235DELETE命令 236GET命令237INVOKE命令 238SET命令239配置及管理连接池的命令240命令的名字240WEB服务器插件的参数241概述241W EB SERVER插件的一般参数241W EB SERVER插件的SSL参数245- 9 -1WebLogic服务器管理概述本章将介绍WebLogic服务器的管理工具,内容如下:✓域、管理服务器以及受管理的服务器✓启动管理控制台✓运行时对象与配置对象✓对日志消息的集中访问BEA WebLogic Server™包含了许多互相关联的资源。

WebLogic

WebLogic

WEBLOGIC教程1 weblogic基本概念1.1 域(Domains)域是管理的单元或边界;作为一个单元来管理的,并相互关联的一组Weblogic 服务器资源被称为域;域由单一的管理服务器来管理。

一个域包含一个或多个WebLogic Server 实例,这些实例可以是群集实例、非群集实例,或者是群集与非群集实例的组合。

一个域可以包含多个群集。

域还包含部署在域中的应用程序组件、此域中的这些应用程序组件和服务器实例所需的资源和服务。

应用程序和服务器实例使用的资源和服务示例包括计算机定义、可选网络通道、连接器和启动类,一个域包含一个或多个WebLogic Server 实例,这些实例可以是群集实例、非群集实例,或者是群集与非群集实例的组合。

一个域可以包含多个群集。

域还包含部署在域中的应用程序组件、此域中的这些应用程序组件和服务器实例所需的资源和服务。

应用程序和服务器实例使用的资源和服务示例包括计算机定义、可选网络通道、连接器和启动类1.2 机器(Machines)可以对应到服务器所在的物理硬件;可以是Unix或non-Unix类型;可以用来远程管理和监控;Machine 是指运行WebLogic Server实例的物理机器,通常与部属在其上的Managed Server 相关连。

Machine用于Node Manager(一个运行在物理服务器上的进程,可以远程重启Admin 和Managed Server)重启失败的Managed Server,以及为集群的Managed Servers选择合适的Session存放位置(Session避免存放在同一台Machine上)。

1.3 服务器(Servers)服务器是执行在单一Java虚拟机(JVM)中weblogic.Server类的实例。

服务器:最多和一个WLS机器关联;占用一定数量的RAM ;是多线程的。

1.4 管理服务器(Administration server)对整个域的集中控制XML配置存储库的保存者日志信息的集中保存管理服务器是控制整个域配置的中心操作节点,管理服务器维护着整个域Domain 的配置并将配置分配到每个被管理服务器Managed Server 中,每个域中都必须有一个Administration Server。

JAVA类加载过程详解

JAVA类加载过程详解

JAVA类加载过程详解Java类加载是指将Java源文件编译成字节码文件,并将字节码文件加载到JVM中执行的过程。

Java的类加载机制具有动态性和延迟性,能够在程序运行过程中动态加载和卸载类,并且只有在首次使用时才会将类加载到内存中。

Java类加载过程主要包括以下几个步骤:1. 加载(Loading):将类的字节码文件加载到JVM中的方法区中,并形成一个Class对象。

加载类的过程是通过类加载器完成的,Java提供了三种类加载器:启动类加载器(Bootstrap ClassLoader)、扩展类加载器(Extension ClassLoader)和应用类加载器(Application ClassLoader),它们之间形成了父子关系。

启动类加载器负责加载JVM自身需要的类,扩展类加载器负责加载JRE扩展目录中的类,应用类加载器负责加载用户自定义类。

类加载器之间通过委托机制来完成类的加载,即先委托父加载器进行加载,如果父加载器无法完成加载,再由子加载器自己去加载。

2. 链接(Linking):将类的符号引用解析为直接引用,并进行校验。

符号引用是指在编译阶段通过类或接口的全限定名来引用其他类或接口,直接引用是指直接指向内存中已经加载的类的指针。

链接过程主要包括三个阶段:验证(Verification)、准备(Preparation)和解析(Resolution)。

验证:对字节码文件进行验证,确保字节码文件的正确性,比如检查魔数是否正确、类的版本是否合法、字段是否存在等。

准备:为静态字段分配内存,并初始化为默认值。

静态字段和实例字段存放在不同的内存区域,准备阶段只分配内存,不会进行初始化。

解析:将类的符号引用解析为直接引用,解析过程主要是根据类的全限定名查找类的字节码文件,并将字节码文件加载到内存中。

3. 初始化(Initialization):对类的静态字段进行初始化,并执行静态代码块。

此时,类的字节码文件已经加载到内存中,并创建了对应的Class对象,但还未创建类的实例。

WebLogic简介

WebLogic简介
• BEA WebLogic Server:用于开发、集成、部署和管理大型分布式Web应
用、网络应用和数据库应 用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中
• Domain:域是个逻辑概念,用来组织管理一系列的应用服务器实例,也就
• 8.点击“完成“,配置完毕。
In Unix
• • • • 1、切换到weblogic的安装目录下: #cd /export/home/bea/weblogic81/common/bin 2、 执行./config.sh命令 #./config.sh
输入数字1,回车
In Unix

3、选择要创建的域,输入数字2回车
In Windows
• 6.配置服务器启动模式、选择JDK,点击“下一步”。 开发或测试环境建 议选择Development Mode、Sun SDK,生产环境选择Production Mode、 JRockit SDK。
In Windows
• 7.创建weblogic配置,点击“创建”。
In Windows
In Unix
In Unix
• 4、选择Express Mode,输入数字1,回车
In Unix
• 5、创建weblogic管理用户和密码
In Unix
In Unix
In Unix
• 6、选择要创建域Domain的模式,选择Production Mode模式
In Unix
• 7、选择JDK
In Windows
• 2.选择“新建WebLogic配置”,单击“下一步”。
In Windows
• 3.选择“Basic WebLogic Server Domain”,单击“下一步”。

weblogic运维时经常遇到的问题和常用的配置

weblogic运维时经常遇到的问题和常用的配置

weblogic运维时经常遇到的问题和常⽤的配置希望这篇能把weblogic运维时经常遇到的问题、常⽤的配置汇总到⼀起。

1、配置jvm参数:⼀般在domain启动过程中会看到以下启动的⽇志信息,如下图所⽰:图中红⾊⽅框部分为启动weblogic domain的命令。

其中包括了jvm参数以及classpath信息。

【注意】java -client是由于之前建⽴的domain是开发模式的。

⽣产模式的话,这⾥执⾏的是java -server。

⾄于-client与-server的区别,⼤家去google下吧,这⾥不介绍了。

那如何修改这个配置呢?找到setDomainEnv.cmd⽂件(linux下⾯就是setDomainEnv.sh了),位置为:weblogic11\user_projects\domains\example\bin\setDomainEnv.cmd修改⽂件中的MEM_ARGS部分,相关参数配置如下:Java代码1. call "%WL_HOME%\common\bin\commEnv.cmd"2.3. set WLS_HOME=%WL_HOME%\server4.5. if "%JAVA_VENDOR%"=="Sun" (6. set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512m7. set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m8. ) else (9. set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512m10. set WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m11. )12.13. set MEM_ARGS_64BIT=%WLS_MEM_ARGS_64BIT%14.15. set MEM_ARGS_32BIT=%WLS_MEM_ARGS_32BIT%16.17. if "%JAVA_USE_64BIT%"=="true" (18. set MEM_ARGS=%MEM_ARGS_64BIT%19. ) else (20. set MEM_ARGS=%MEM_ARGS_32BIT%21. )22.23. set MEM_PERM_SIZE_64BIT=-XX:PermSize=128m24.25. set MEM_PERM_SIZE_32BIT=-XX:PermSize=48m26.27. if "%JAVA_USE_64BIT%"=="true" (28. set MEM_PERM_SIZE=%MEM_PERM_SIZE_64BIT%29. ) else (30. set MEM_PERM_SIZE=%MEM_PERM_SIZE_32BIT%31. )32.33. set MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=256m34.35. set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m36.37. if "%JAVA_USE_64BIT%"=="true" (38. set MEM_MAX_PERM_SIZE=%MEM_MAX_PERM_SIZE_64BIT%39. ) else (40. set MEM_MAX_PERM_SIZE=%MEM_MAX_PERM_SIZE_32BIT%41. )42. if "%JAVA_VENDOR%"=="Sun" (43. if "%PRODUCTION_MODE%"=="" (44. set MEM_DEV_ARGS=-XX:CompileThreshold=8000 %MEM_PERM_SIZE%45. )46. )47.48. @REM Had to have a separate test here BECAUSE of immediate variable expansion on windows49.50. if "%JAVA_VENDOR%"=="Sun" (51. set MEM_ARGS=%MEM_ARGS% %MEM_DEV_ARGS% %MEM_MAX_PERM_SIZE%52. )53.54. if "%JAVA_VENDOR%"=="HP" (55. set MEM_ARGS=%MEM_ARGS% %MEM_MAX_PERM_SIZE%56. )57.58. if "%JAVA_VENDOR%"=="Apple" (59. set MEM_ARGS=%MEM_ARGS% %MEM_MAX_PERM_SIZE%60. )61.62. @REM IF USER_MEM_ARGS the environment variable is set, use it to override ALL MEM_ARGS values63.64. if NOT "%USER_MEM_ARGS%"=="" (65. set MEM_ARGS=%USER_MEM_ARGS%66. )主要就是修改-Xms、-Xmx、-XX:PermSize、-XX:MaxPermSize的参数(视具体硬件、JVM负载情况进⾏修改)。

WebLogic 简介及安装与配置指南

WebLogic 简介及安装与配置指南

WebLogic 简介及安装与配置指南- ---------------------------------------------------------------------------------一、BEA Weblogic简介:BEA WebLogic PlatformTM 7.0是BEA公司一套基于J2EE功能强大的电子商务套件,提供了许多功能强大的中间件以方便编程人员编写的JSP、SERVLET等电子商务应用,可以为企业提供一个完整的商务应用解决方案。

BEA WebLogic PlatformTM 7.0通过一个统一的、简便的和可扩展的构建体系,让企业能够提高生产力和降低成本。

BEA WebLogic Platform 7.0包含BEA产品中所特有的应用基础结构技术,其中包括BEA WebLogic ServerTM、BEA WebLogic PortalTM和BEA WebLogic IntegrationTM。

这些技术与BEA WebLogic WorkshopTM结合起来,为应用开发、部署和管理提供了单一的、统一的、易用的基础结构平台。

BEA WebLogic Platform 7.0 提供:? 统一性融开发、门户和集成框架入一体的集成服务器为全面满足企业的应用需求,提供了单一的解决方案。

这个平台减少了产品学习、集成、支持和维护的工作量,从而可以降低企业成本,满足业务需求,并充分发挥已有基础结构资产的效益? 简便性通过简化应用开发、部署和管理,提高了生产效率。

其集成的开发框架让开发人员(不仅仅是J2EE专家)快速开发和部署企业级Web Service应用。

简便的部署和管理将降低维护的要求,从而降低应用维护成本,并让企业专注于业务目标的实现,而不是技术的管理。

? 可扩展性开放的可扩展性使BEA WebLogic Platform 7.0成为最好的选择,并让企业充分发挥已有和将来投资的效益。

类加载的概念

类加载的概念

类加载的概念类加载是指将类的字节码数据从磁盘加载到内存中,并转化为方法区中的类模板的过程。

类加载是Java虚拟机进行的一个重要的执行环境准备阶段,也是Java 程序运行的基础之一。

在Java中,类加载器负责把.class文件加载进内存,以供后续程序调用。

类加载是Java运行时环境的基础,它决定了程序的运行状态和行为。

类加载的过程一般包括加载、连接和初始化三个阶段。

首先,类加载的第一个阶段是加载,在这个阶段,虚拟机通过类加载器查找并加载.class文件。

类加载器是Java虚拟机的一部分,它的主要任务是根据类名或者类的全限定名找到对应的.class文件,并将其加载到内存中。

在Java中,类加载器主要分为三种:启动类加载器、扩展类加载器和应用程序类加载器。

启动类加载器是Java虚拟机的一部分,用于加载核心类库,如ng包等。

扩展类加载器用于加载扩展库,如JDK的扩展类库。

应用程序类加载器用于加载用户自定义的类,即程序中自己编写的类。

在加载阶段,类加载器首先会检查该类是否已经加载过,如果没有加载过,则通过IO流从硬盘读取.class文件,然后将其转化为二进制数据流,最后存放在方法区中。

其次,类加载的第二个阶段是连接,包括验证、准备和解析三个步骤。

验证阶段主要是对.class文件进行验证,包括文件格式的验证、元数据的验证、字节码的验证和符号引用的验证等。

验证通过后,虚拟机会对类中的静态变量进行空间分配,并赋予默认初始值,这个过程叫做准备阶段。

在解析阶段,虚拟机将类中的符号引用转化为直接引用,即将常量池中的符号引用替换为直接引用。

连接阶段的主要任务是为了确保加载进内存的类是正确、可用的。

只有通过了连接阶段的验证、准备和解析后,类才能被正常执行。

最后,类加载的第三个阶段是初始化,即在这个阶段,虚拟机会对类进行初始化操作。

类的初始化主要是对类变量(静态变量)的赋值和执行静态代码块。

此时,虚拟机会按照程序的顺序去执行类的静态初始化语句,比如静态变量的初始化和静态代码块的执行。

weblogic.utils.classloaders原理

weblogic.utils.classloaders原理

weblogic.utils.classloaders原理一、概述weblogic.utils.classloaders是WebLogic服务器中一个重要的类加载器机制,它用于管理WebLogic服务器中应用的类加载过程。

类加载器是Java语言中用于将class文件加载为Java类的一种机制,而WebLogic服务器中的类加载器机制可以实现应用的动态加载和部署。

本文将详细介绍weblogic.utils.classloaders的原理、实现方式以及在WebLogic服务器中的应用。

二、原理在Java语言中,类加载器分为三种:启动类加载器(Bootstrap ClassLoader)、扩展类加载器(Extension ClassLoader)和应用程序类加载器(Application ClassLoader)。

其中,应用程序类加载器又分为多个子类加载器,用于从不同的路径和来源加载类。

weblogic.utils.classloaders在WebLogic服务器中实现了自定义的类加载器机制,它继承了Application ClassLoader,并实现了多个重要的方法,如findClass、loadClass等。

这些方法用于在WebLogic服务器中查找和加载类文件。

当WebLogic服务器启动时,它会根据配置文件中的信息初始化类加载器,并创建多个不同的类加载器实例,这些实例分别负责加载不同的类文件。

这些类加载器通过URLClassLoader、JNDI等多种方式从不同的路径和来源加载类文件,确保了WebLogic服务器中应用的动态性和可扩展性。

三、实现方式1. 继承Application ClassLoader:weblogic.utils.classloaders继承了Application ClassLoader,继承了父类的属性和方法,并实现了自己的类加载逻辑。

2. 实现findClass方法:findClass方法用于在WebLogic服务器中查找指定的类文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

WebLogic类加载过程王明杰20061012 19:28-21:59英文水平有限,翻译的肯定有不对的地方,欢迎指正。

希望能够各位同事在使用weblogic的过程中带来帮助。

小注:2006-10-12 下午,在weblogic中部署一个启动类,部署了近2个小时,weblogic总是提示“找不到类的异常”。

心情很是郁闷。

“大事问老婆,小事问goole”,一个字“搜”。

终于找到了WebLogic的官方文档,摘录下来,进行了翻译,终于对WebLogic的类的加载过程有了比较系统的了解。

希望该文档能够帮助和我有同样疑惑的人走出困境,共同进步!!!V ersion 0.1msn:wangmingjie_2002@官方原版(19:30开始)20061012开始WebLogic Server Application ClassloadingThe following sections provide an overview of Java classloaders, followed by details about WebLogic Server J2EE application classloading.下面的部分概况的介绍了java的类装载器,接着详细的介绍了WebLogicJ2EE应用服务器(WebLogic Server J2EE application )的类装载过程。

▪Java Classloader Overview java类转载器综述▪WebLogic Server Application Classloader Overview WebLogic 应用服务器类装载器介绍。

▪Resolving Class References Between Modules and ApplicationsJava Classloader OverviewClassloaders are a fundamental module of the Java language. A classloader is a part of the Java virtual machine (JVM) that loads classes into memory;a classloader is responsible for finding and loading class files at run time. Every successful Java programmer needs to understand classloaders and their behavior. This section provides an overview of Java classloaders.类装载器是java语言的一个基本模块,类装载器是java虚拟机的一部分,把相应的类装载到内存中,类装载器负责在运行期间找到类并载入类。

每个成功的java程序员都需要理解java类装载器及其行为。

本部分综述了java类装载器。

Java Classloader Hierarchy java类装载器的层次Classloaders contain a hierarchy with parent classloaders and child classloaders. The relationship between parent and child classloaders is analogous to the object relationship of super classes and subclasses. The bootstrap classloader is the root of the Java classloader hierarchy. The Java virtual machine (JVM) creates the bootstrap classloader, which loads the Java development kit (JDK) internal classes and java.* packages included in the JVM. (For example, the bootstrap classloader loads ng.String.)类装载器有层次,包含了父装载器和子装载器。

父装载器和子装载器直接的关系和java中的父类和子类的关系是相似的。

启动类装载器是根类装载器,它将jdk 的内部类和包含在java.*包中的类装载到java虚拟机。

(例如:启动类装载器载入ng.String类。

)The extensions classloader is a child of the bootstrap classloader. The extensions classloader loads any JAR files placed in the extensions directory of the JDK. This is a convenient means to extending the JDK without adding entries to the classpath. However, anything in the extensions directory must be self-contained and can only refer to classes in the extensions directory or JDK classes.(C:\j2sdk1.4.2_08\jre\lib\ext)扩这的类装载器是启动类装载器的子类装载器。

扩展类装载器会自动加载放在jdk扩展文件夹中的jar包。

这很方便,意味着扩展JDK不需要向classpath中增加信息。

然而扩展文件夹中的任何包都必须独立,只能参照扩展文件夹中的类或者JDK的类。

(最后这句翻译的不好。

)The system classpath classloader extends the JDK extensions classloader. The system classpath classloader loads the classes from the classpath of the JVM. Application-specific classloaders (including WebLogic Server classloaders) are children of the system classpath classloader.系统classpath类装载器继承了JDK扩展类装载器。

系统类装载器从JVM指定的应用类装载器(系统装载器的子类装载器)的classpth来加载类。

Note: What BEA refers to as a "system classpath classloader" is often referred to as the "application classloader" in contexts outside of WebLogic Server. When discussing classloaders in WebLogic Server, BEA uses the term "system" to differentiate from classloaders related to J2EE applications (which BEA refers to as "application classloaders").注意:在WebLogic应用服务器之外,BEA中说的“系统classpth类装载器”也称为“应用类装载器”。

在weblogic中讨论类装载器的时候,BEA使用的术语“系统”和J2EE应用服务器的类装载器(BEA称之为“应用类装载器”)是有区别的。

Loading a ClassClassloaders use a delegation model when loading a class. The classloader implementation first checks its cache to see if the requested class has already been loaded. This class verification improves performance in that its cached memory copy is used instead of repeated loading of a class from disk. If the class is not found in its cache, the current classloader asks its parent for the class. Only if the parent cannot load the class does the classloader attempt to load the class. If a class exists in both the parent and child classloaders, the parent version is loaded. This delegation model is followed to avoid multiple copies of the same form being loaded. Multiple copies of the same class can lead to a ClassCastException.类装载器使用代理模式来装载一个类。

子类装载器时候从它的缓存中检查被请求的类是否已经装载。

类被缓存在内存中而不是重复的从硬盘上读取,这样可以提高类的校验效率。

如果被请求的类不在它的缓存中,那么当前的类装载器就请求它的父类来装载这个类。

当父类装载器无法找到请求的类,那么子类装载器才试图去装载这个类。

如果一个类既在父类装载器中又在子类装载器中,那么父类装载器中的类会被加载。

代理模式可以防止同样的类被多次装载。

多次装载相同的类会产生ClassCastException异常。

Classloaders ask their parent classloader to load a class before attempting to load the class themselves. Classloaders in WebLogic Server that are associated with Web applications can be configured to check locally first before asking their parent for the class. This allows Web applications to use their own versions of third-party classes, which might also be used as part of the WebLogic Server product. Theprefer-web-inf-classes Element section discusses this in more detail.类装载器在自己装载请求类之前,先请求他们的父类装载器来装载此类。

相关文档
最新文档