在每次生成一个类加载器时(共三个commons,server,shared),会先去MBeanServerFactory.findMBeanServer(null)查一下BeanServer,
findMBeanServer(null)是怎么进行的呢?
首先是权限检查,这里不作解释,下次专门写一个权限检查的
之后对方法参数进行判断,如果是空则返回一个新实例化的new ArrayList<MBeanServer>(mBeanServerList)
如果不为空,则对这个list进行遍历,找到名子相同的mbeanserver,放入list中进行返回
这里MBeanServerFactory利用静态私有属性初始化了mBeanServerList
在MBeanServerFactory中全是静态方法,这里需要注意一下
继续,如果list的size大于0,则取出第一个beanserver,将类加载器注册进去
如果list的size等于0,则调用一个getPlatformMBeanServer()方法返回一个本平台的beanserver
细看一下getPlatformMBeanServer()
之前同样是权限检查
首先这样的属性定义private static MBeanServer platformMBeanServer;
由于没有进行初始化操作,默认platformMBeanServer为null,这也就是getPlatformMBeanServer()先进行null值判断的原因
程序调用sun.management.ManagementFactory.createPlatformMBeanServer();生成一个platformMBeanServer对象
细看一下sun自己实现的sun.management.ManagementFactory.createPlatformMBeanServer();方法
<待续>
分享到:
相关推荐
4. **多线程上下文类加载器**:允许每个Web应用拥有独立的类加载器,提高了安全性和隔离性。 5. **JAR扫描**:自动扫描JAR文件中的资源,简化了应用配置。 **Tomcat 8** Tomcat 8是在2013年发布的,主要增加了对...
《深入剖析Tomcat7源码》 ...通过对Tomcat7源码的深入学习,开发者不仅可以了解其工作原理,还能针对具体需求进行定制化开发,提高应用的稳定性和效率。下载并研究Tomcat7源码,对于提升Java Web开发技能大有裨益。
这个版本7.0.42是Tomcat 7的一个稳定版本,提供了对Java Servlet 3.0和JavaServer Pages (JSP) 2.2规范的支持。下面将详细介绍Tomcat 7及其源码的相关知识点。 1. **Tomcat结构与组件**: - **Catalina**:核心...
- **Context配置**:定义了一个特定的Web应用程序,包括其根路径、文档基础和类加载器设置。 - **Connector配置**:定义了Tomcat如何监听和响应网络请求,包括端口、协议和线程池配置。 - **Realm配置**:用于用户...
综上所述,Tomcat 7和8都是Java Web开发中的重要工具,它们的差异主要体现在对Java EE规范的支持程度、性能优化以及新特性的引入。选择哪个版本取决于项目需求和对最新技术的支持。如果项目需要Java EE 7规范的支持...
在Tomcat7中,Servlet容器负责加载、初始化、执行和管理Servlet实例。 **JSP** 是Java平台上的动态网页技术,它允许开发人员将静态HTML与动态Java代码结合在一起。JSP文件会被Tomcat7编译成Servlet,然后按照...
- Tomcat使用自定义的类加载器,包括Catalina类加载器、Shared类加载器和Web应用类加载器,实现不同级别的隔离和加载策略。 5. **连接器(Connector)和容器(Container)**: - 连接器负责接收和发送HTTP请求,...
- Tomcat使用自定义的类加载器,如`CommonClassLoader`、`CatalinaClassLoader`等,它们按照特定的层次结构加载类。 5. **初始化容器** - `Catalina`类是Tomcat的主要组件,负责管理所有Web应用。在启动过程中,...
4. 对JMX(Java Management Extensions)进行了改进,便于监控和管理服务器状态。 5. 加强了对Java Cryptography Extension (JCE)的支持,提供更高级别的加密选项。 每个版本的Tomcat都有其适用场景,比如旧项目...
JMX是一种Java平台提供的标准管理框架,它允许开发者暴露和管理应用程序的管理特性,包括内存使用、线程状态、类加载器信息以及各种性能指标。 描述中提到的“获取JMX详细参数”,意味着这个工具能够帮助用户获取...
这个版本的Tomcat是Tomcat 7系列的一部分,它提供了对Java EE 6 Web Profile的实现,包括对JSF 2.0、JPA 2.0和EJB 3.1等技术的支持。以下是对Linux上部署和管理Tomcat 7的一些关键知识点的详细解释: 1. **安装和...
7. **连接器(Connector)**:Tomcat支持多种协议,如HTTP/1.1、AJP等。`Coyote`组件负责处理这些协议,其中` CoyoteConnector`是核心部分。 8. **JSP和 Jasper**:Tomcat内置了JSP引擎Jasper,负责编译JSP页面为...
1. **多线程上下文类加载器**:这使得类加载更加灵活,有助于避免类加载冲突。 2. **NIO.2支持**:除了原有的BIO(阻塞I/O)和NIO(非阻塞I/O),Tomcat 7增加了对Java NIO.2 API的支持,提供了更好的性能和可扩展性...
【描述】:“Tomcat7性能优化调优Tomcat7性能优化调优Tomcat7性能优化调优”重复强调了对Tomcat7版本的性能调整,这可能涉及到内存管理、线程池设置、连接器配置、JVM参数优化等多个方面。性能调优的目标是提高...
3. 监控与管理:利用JMX(Java Management Extensions)对Tomcat进行远程监控和管理,例如监控内存使用、线程状态等。 4. 集群支持:通过配置集群相关的XML文件,可以让多个Tomcat实例形成集群,实现session复制和...
这些问题可能包括端口被占用、配置文件错误、类加载器相关问题等。通过对这些问题的分析,我们可以更加深入地理解Tomcat的工作机制,以及其在不同环境下可能遇到的问题和解决方案。 3. 架构探讨:Tomcat拥有清晰的...
这个压缩包包含了Tomcat在Linux环境下的三个主要版本——7、8和9,为用户提供了多种选择,可以根据项目需求选择合适的版本进行部署。 【描述】提到的"合集"意味着这个压缩包提供了全面的Tomcat版本,用户可以根据...
通过阅读和分析源码,可以加深对Tomcat运行原理的理解,这对于解决实际问题和进行性能调优非常有帮助。 总之,《Tomcat深入剖析》结合源码分析,是一本全面且深入的Tomcat学习资源,无论是初学者还是经验丰富的...
本资源包含Tomcat7、8、9的解压版本,无需进行繁琐的安装步骤,只需解压即可使用,非常适合开发者快速搭建和测试环境。 Tomcat 7是Tomcat的第七个主要版本,它支持Java Servlet 3.0和JavaServer Pages (JSP) 2.2...
Apache Tomcat 7是一款广泛应用的开源Java Servlet容器,主要用于部署和运行Java EE的Web应用程序。作为轻量级应用服务器,Tomcat7以其高效、稳定和易于管理的特点深受开发者喜爱。以下将详细介绍Tomcat7在64位操作...