• jvm的双亲委派机制 一


    先上一段代码:

    main方法:

    package com.sailmalan.malan.controller;
    
    /**
     * 功能描述 原子操作 atomic类 java.util.concurrent.atomic
     *
     * @author yaoqihui
     * @version 2021/7/3
     * @see [相关类/方法]
     * @since [malan-rabbitmq]
     */
    public class Test {
    
        public static void main(String[] args) {
            java.lang.String str=new java.lang.String();
            System.out.println("双亲委派机制代码演示===");
        }
    }

     

    其中我们在定义一个String类,如下:在项目下建立包:java.lang:

    然后看看执行main方法,看看输出是否在控制台顺序输出:我是自定义String类,双亲委派机制代码演示===

    结果并不是我们想象的结果!!!为啥?明明我们在main方法已经引入:java.lang包,意思是已经制定引入的自定义String类,为啥???

    这就是双亲委派机制!!!下面详细讲解(涉及到引导类的问题):我们先看一个图:

    图解析为:系统类加载器(jvm的默认加载器),系统加载器开始加载java.lang.String类,开始委托了上一个  扩展类加载器,扩展类加载器再向上委托 引导类加载器,即这些加载器有多少个父类加载器,就以此递归直到最顶层的加载器,jvm只有三个加载器,所以这里最顶层的加载器是 引导类加载器。

    图一:

    图二:

    看到最后的图二,恍然大悟!!!原来引导类加载器(Bootstrap ClassLoader)强制加载 java 开头的类

  • 相关阅读:
    js生成点阵字体
    随笔
    html5 textarea 的 placeholder 换行的几种方式
    有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?
    javascript 水仙花数
    避免url传值字符串sjstr过长,使用from表单【隐藏域】post提交
    图表转换
    highcharts 显示点值的效果
    导出报表
    JQuery ----文档处理
  • 原文地址:https://www.cnblogs.com/qq1141100952com/p/14992867.html
Copyright © 2020-2023  润新知