• JVM学习总结(一)


    JVM--Java虚拟机

    1.类加载器

      JVM虚拟机的类加载器有三个

        bootstrapClassLoader 引导类加载器 是有C语言编写,在JVM虚拟机启动时 加载到内存中负责加载rt.jar夹包内的类--jre内置夹包

        ExtClassLoader 扩展类加载器  Java语言编写,由引导类加载器加载,父加载器为引导类加载器,负责加载ext包内的所有jar包,--负责Java扩展功能组件接口

        ApplicantClassLoader 程序类加载器,  Java语言编写,由引导类加载器加载,父加载器为扩展类加载器,负责加载程序类,---加载运行程序

        自定义类加载器:及用户自定义的类加载器,继承ClassLoader类,

      如何加载?

        Java类加载器使用了双亲委托模式--一个需要加载的类首先由ApplicantClassLoader 类加载器加载,但是这个加载器不会直接加载,而是交给父类加载器ExtClassLoader 加载器加载,

        而这个加载器也不会立即加载,还会交给其父加载器bootstrapClassLoader 加载,当此加载器不能加载时由子类加载器加载,以此类推,具有递归的特性。

    Tomcat服务器的类加载器

      1.tomcat服务器的类加载器和JVM的刚好相反,它是先有子类加载,如果加载不了交给父类加载器加载,以此类推,具有递归的特性。与代理模式类似

      2.tomcat服务器会为每个应用程序创建一套单独的类加载器,每个程序之间不可以访问。

    OSGI模式

      这个模式在IDE工具插件中使用广泛。我们在Eclipse编辑器中安装各种插件,每个插件都有自己独立的类加载器,但是各插件之间可以访问其它插件公开的类。

  • 相关阅读:
    软件加载前显示加载中画面
    datatable用法
    arcsde安装
    dev gridcontrol (一)绑定值
    dev常用
    lookupedit用法(combox功能)
    关于NetBox2.8端口问题
    asp.net中,登录互斥的相关代码(不包含中途退出的处理)
    我老婆其人其事(一)
    判断文件是否为UTF8编码(以前收集的)
  • 原文地址:https://www.cnblogs.com/zbrave/p/6390864.html
Copyright © 2020-2023  润新知