首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

2.双亲委派机制详细解析及原理

一、什么是双亲委派机制 我们先来看一个案例: 打印引导类加载器, 扩展类加载器, 应用程序类加载器加载的目录 package com.lxl.jvm; import sun.misc.Launcher.../idea_rt.jar 通过观察,我们发现 引导类加载器,确实只加载了java home下的/jre/lib目录下的类 扩展类加载器加载了java扩展目录里面的类 但是, 应用程序类加载器, 加载的类包含了...1.启动类加载器加载目标类 引导类加载器中也没有这个类, 返回null, 这里的返回空包含了两个步骤,一个是查找,没找到,二是没找到后去/lib/jar目录下加载这个类,也没有加载到。...()里面, 我们看到将路径中的.替换为/,并在后面增加了.class....是将com.lxl.jvm.Math替换为com/lxl/jvm/Math.class,这就是类路径 然后去resource库中查找是否有这个路径.

74541

Linux目录结构

X386 — 功能同X11R6,X11 发行版5 的系统文件 boot — 引导加载器所需文件,系统所需图片保存于此 lib —?...、/lib、/sbin应该和根目录放置在一个分区中 /bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。...建议单独分区,并设置较大的磁盘空间,方便用户存放数据 /lib:/usr/lib:/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为.../opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。...:应用程序存放目录,/usr/bin存放应用程序,/usr/share存放共享数据,/usr/lib存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。

11.1K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux 目录结构

    Linux 标准目录结构 / root --- 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。...X386 --- 功能同X11R6,X11 发行版5 的系统文件 boot --- 引导加载器所需文件,系统所需图片保存于此 lib --- 根文件系统目录下程序和核心模块的公共库 modules.../dev、/lib、/sbin应该和根目录放置在一个分区中 /bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。...建议单独分区,并设置较大的磁盘空间,方便用户存放数据 /lib:/usr/lib:/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为...:应用程序存放目录,/usr/bin存放应用程序,/usr/share存放共享数据,/usr/lib存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。

    4.9K20

    小白博客 linux目录结构

    X386 --- 功能同X11R6,X11 发行版5 的系统文件 boot --- 引导加载器所需文件,系统所需图片保存于此 lib --- 根文件系统目录下程序和核心模块的 公共库...、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中 /bin:/usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。...建议单独分区,并设置较大的磁盘空间,方便用户存放数据 /lib:/usr/lib:/usr/local/lib: 系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助.../opt: 给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。...内 /usr: 应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。

    91060

    centos的文件和目录

    Windows系统可以拥有多个盘符,如C盘,D盘,E盘 Linux没有盘符这个概念,有类似的分区(一个硬盘分多个分区) Linux所有文件都在’根’目录下 Linux主要目录速查表 /bin:二进制命令所在的目录.../boot:系统引导程序所需要的文件目录,引导系统开机 /dev:设备软件目录,磁盘,光驱 /etc:系统配置,启动程序 /home:普通用户的家,目录默认数据存放目录 /lib:启动系统和运行命令所需的共享库文件和内核模块存放.../mnt:临时挂载存储设备的挂载点,u盘插入光驱无法使用,需要挂载然后使用 /opt:额外的软件包 /proc:操作系统运行时,进程信息和内核信息存放在这里 /root:Linux超级用户root的家目录.../sbin:和管理系统相关的命令,【超级管理员用】 /tmp:临时文件目录,这个目录被当作回收站使用 /usr:用户或系统软件应用程序目录 /var:存放系统日志的目录

    61020

    Linux操作系统完整目录结构概览

    九、用户程序和共享库目录/usr系统和应用程序的存放地/usr 目录是 Linux 系统中用于存放通用文件和用户应用程序的区域,其中包含了众多应用程序、库文件及文档等。...在/usr/bin下,存放着系统大多数的用户可执行命令和工具;/usr/lib则包含了应用程序运行所需的库文件。...这些文件对于系统启动至关重要,缺少它们将导致系统无法正常引导。十四、系统库文件目录/lib运行时必需的共享库/lib目录存放着系统运行必备的共享库文件,各程序可通过此目录来调用所需的库文件。...例如,如果你在Linux系统中运营一个网站,那么网页文件可能会存放在/srv/www目录下;而FTP服务器的数据可能会放在/srv/ftp目录中。...这个目录的设置旨在将服务数据与其他系统文件和应用程序隔离开,以便于进行管理和维护,对于服务器管理员来说,这是一个虽然不常用但极其关键的目录。

    19721

    linux目录配置(实例说明)

    Linux kernel 常用的文件名为 vmlinuz 。若使用grub引导装载程序,则还会用到 /boot/grub这个目录。 /dev目录 ?...放置系统开机时会用到的函数库,以及在/bin或/sbin下面的命令会调用的函数库。注意:/lib/modules目录比较重 要, 存放内核相关的驱动程序。...放置暂时挂载某些额外设备的文件目录 /opt 置第三方软件文件的目录,第三方软件指非原本的distribution提供的、自行安装的额外软件。比如:KDE桌面管理系统。 /sbin ?.../usr/include——C/C++等程序语言的头文件与包含文件 /usr/lib——包含各应用软件的函数库、目标文件以及不被一般用户惯用的执行文件或脚本 /usr/local——系统管理员在本机自行安装自己下载的软件.../var/cache——应用程序本身运行时产生的一些暂存文件 /var/lib——程序正常执行过程中需使用到的数据文件(可变的) /var/lock——锁定文件,某些资源一次只能被一个应用程序占用,

    1.3K10

    重学SpringBoot3-SpringBoot可执行JAR的原因

    传统的 JAR 文件通常只包含应用程序的类和资源文件,而所有的依赖库则需要以某种方式(如放在一个共享的类路径中)单独提供。...相比之下,Spring Boot 的可执行 JAR 包含了应用程序及其所有依赖的库,还包括一个嵌入式的 Servlet 容器(如 Tomcat、Jetty 或 Undertow),以及一段特殊的启动引导代码...BOOT-INF/classes/:包含了应用程序的编译后的类文件。 BOOT-INF/lib/:包含了应用所有依赖的第三方库。 org/:包含了 Spring Boot 的启动器类。...启动器类的作用包括: 设置类加载器:启动器会创建一个自定义的类加载器来加载 BOOT-INF/classes/ 和 BOOT-INF/lib/ 中的类和库。...通过将应用程序和其所有依赖打包到一个独立的JAR文件中,并利用启动器动态加载这些依赖,Spring Boot 应用可以轻松地在任何提供了 Java 运行时环境的系统上运行。

    18110

    Linux根目录——详情介绍

    当计算机启动时,BIOS会首先读取硬盘上的引导扇区,然后将控制权交给引导加载程序,引导加载程序再读取boot目录中的文件来启动操作系统。.../lib以及/lib64目录 在Linux系统中,/lib目录主要用于存放系统所需的共享库文件。共享库是一些被多个程序共享使用的可执行代码和数据的集合,它们包含了一些操作系统核心功能的实现。.../lib目录通常包含了以下几种类型的共享库文件: 动态链接库(Dynamic Linking Libraries):这些库文件在程序执行时被动态加载到内存中,以提供程序所需的函数和服务。...内核模块可以在运行时加载到内核中,并提供额外的驱动程序或功能支持。这些库文件通常以.ko为后缀,如drm.ko、usbcore.ko等。...此外,/lib目录下可能还包含其他一些系统所需的重要文件和目录,用于支持系统的正常运行。总之,/lib目录在Linux系统中起着存放共享库文件和其他系统所需文件的重要作用。

    3.6K20

    JVM:第一章:类加载机制深度解析

    引导类加载器:负责加载支撑JVM运行的位于JRE的lib目录下的核心类库,比如rt.jar、charsets.jar等 扩展类加载器:负责加载支撑JVM运行的位于JRE的lib目录下的ext扩展目录中的...System.out.println(); System.out.println("JRE的lib目录下的核心类库,bootstrapLoader加载以下文件:");...目录下的ext扩展目录中的JAR类包,extClassloader加载以下文件:"); String[] extClassloaderStr = System.getProperty("...目录下的核心类库,bootstrapLoader加载以下文件: file:/D:/Environment/JDK/lib/resources.jar file:/D:/Environment/JDK/lib.../D:/Environment/JDK/classes JRE的lib目录下的ext扩展目录中的JAR类包,extClassloader加载以下文件: D:\Environment\JDK\lib\ext

    76230

    Tomcat - 模拟Tomcat的webappClassLoader加载自己war包应用内不同版本类实现相互共存与隔离

    我们知道Tomcat可以部署多个应用,不同的应用程序可能会依赖同一个第三方类库的不同版本,不能要求同一个类库在同一个服务器只有一份,因此要保证每个应用程序的类库都是独立的,保证相互隔离 ....部署在同一个web容器中相同的类库相同的版本可以共享, 比如jdk的核心jar包,否则,如果服务器有n个应用程序,那么要有n份相同的类库加载进虚拟机。...web容器 自己依赖的类库 (tomcat lib目录下),不能与应用程序的类库混淆。基于安全考虑,应该让容器的类库和程序的类库隔离开来。 ?...同时模拟第二个应用, 在D盘创建 artisan1/com/gof/facadePattern 目录,将Boss类的复制类Boss1.class丢入该目录 基于以上前置条件,得出如下结论 我们通过上面的示例模拟出了同一个...该类加载器会加载位于 WEB-INF/lib下的jar文件中的class 和 WEB-INF/classes下的class文件。 4.

    1.1K20

    Linux各目录及每个目录的详细介绍(转载)

    下开发和编译应用程序所需要的头文件   /usr/lib 常用的动态链接库和软件包的配置文件   /usr/man 帮助文档   /usr/src 源代码,linux内核的源代码就放在/usr/src/...linux里   /usr/local/bin 本地增加的命令   /usr/local/lib 本地增加的库 /opt 额外安装的可选应用程序包所放置的位置。.../boot 存放用于系统引导时使用的各种文件 /lib 存放跟文件系统中的程序运行所需要的共享库及内核模块。.../boot目录 / b o o t目录存放引导加载器(bootstrap loader)使用的文件,如l i lo,核心映像也经常放在这里,而不是放在根目录中。...影子口令文件将/ e t c / p a s s wd文件中的加密口令移动到/ e t c / s h a d o w中,而后者只对超级用户( r o o t)可读。

    1.2K20

    SpringCloud入门之应用程序上下文服务(Spring Cloud Context)详解

    引导应用程序上下文 一个Spring Cloud应用程序通过创建一个“引导”上下文来进行操作,这个上下文是主应用程序的父上下文。开箱即用,负责从外部源加载配置属性,还解密本地外部配置文件中的属性。...引导过程通过将初始化器注入主SpringApplication实例(即正常的Spring Boot启动顺序,无论是作为独立应用程序运行还是部署在应用程序服务器中)结束。...自定义引导属性源 引导过程添加的外部配置的默认属性源是Config Server,但您可以通过将PropertySourceLocator类型的bean添加到引导上下文(通过spring.factories...您可以使用此方法从其他服务器或数据库中插入其他属性。...有关详细信息,请参阅以下链接: Java 6 JCE Java 7 JCE Java 8 JCE 将文件解压缩到JDK / jre / lib / security文件夹(无论您使用的是哪个版本的

    17700

    Linux操作系统基础(五):Linux的目录结构

    /, 所有文件都在它下面 二、常见目录介绍(记住重点) 目录 作用 /bin 二进制命令所在的目录(普通命令 => 普通用户lanson和超级管理员root) /boot 系统引导程序所需要的文件目录...,相当于Windows中的C盘 /dev 设备软件目录,磁盘,光驱 => /dev/sr0 /etc 系统配置,启动程序 /home 普通用户的家,目录默认数据存放目录 /lib 共享库文件和内核模块存放目录...,软件安装、运行依赖库文件.a、.so文件 /mnt 临时挂载储存设备的挂载点,插入u盘、移动硬盘 => 先挂载 => /mnt中访问 /opt 额外的应用软件包, 安装qq、游戏、wps办公软件 /proc...操作系统运行时,进程信息和内核信息存放在这里 /root Linux超级权限用户root的家目录 /sbin 和管理系统相关的命令,【超级管理员用】,s = super超级 /tmp 临时文件目录,这个目录被当作回收站使用.../usr 用户或系统软件应用程序目录,类似Windows中的Program files ① 普及概念:用户的家目录 普通用户:lanson,普通用户的家 => /home,如lanson家目录 =>

    91110

    linux文件类型

    /boot:Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB 或 LILO系统引导管理器也位于这个目录。.../home:如果建立一个用户,用户名是”xx”,那么在/home目录下就有一个对应的/home/xx路径,用来存放用户的主目录。 /lib:lib是库(library)英文缩写。...这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享 库。因此,千万不要轻易对这个目录进行什么操作,一旦发生问题,系统就不能工作了。...用户的很多应用程序和文件都存放在这个目录下。...在这个目录下,可以找到那些 不适合放在/bin或/etc目录下的额外的工具 /usr/local:这里主要存放那些手动安装的软件,即不是通过“新立得”或apt-get安装的软件。

    3.5K20

    从未如此了解过Linux

    /etc/fstab /etc/init.d /etc/X11 /etc/sysconfig /etc/xinetd.d /home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下...~ 表示当前用户的家目录 ~edu 表示用户 edu 的家目录 /lib、/usr/lib、/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助...opt:给主机额外安装软件所摆放的目录 /proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的文件有:/proc/cpuinfo、/proc.../srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内 /usr:应用程序存放目录 /usr/bin:存放应用程序 /usr/share:存放共享数据.../usr/lib:存放不能直接运行的,却是许多程序运行所必需的一些函数库文件 /usr/local:存放软件升级包 /usr/share/doc:系统说明文件存放目录 /usr/share/man:程序说明文件存放目录

    67220
    领券