jvm classLoader architecture :

a、Bootstrap ClassLoader/启动类加载器 主要负责jdk_home/lib目录下的核心         api 或 -Xbootclasspath 选项指定的jar包装入工作.

B、Extension ClassLoader/扩展类加载器 主要负责jdk_home/lib/ext目录下的jar包或 -Djava.ext.dirs 指定目录下的jar包装入工作

C、System ClassLoader/系统类加载器 主要负责java -classpath/-Djava.class.path所指的目录下的类与jar包装入工作.

B、 User Custom ClassLoader/用户自定义类加载器(java.lang.ClassLoader的子类) 在程序运行期间,         通过java.lang.ClassLoader的子类动态加载class文件, 体现java动态实时类装入特性.

bootstrap classloader -引导(也称为原始)类加载器,它负责加载Java的核心类。 extension classloader -扩展类加载器,它负责加载JRE的扩展目录(JAVA_HOME/jre/lib/ext或者由java.ext.dirs系统属性指定的)中JAR的类包。 system classloader -系统(也称为应用)类加载器,它负责在JVM被启动时,加载来自在命令java中的-classpath或者java.class.path系统属性
或者 CLASSPATH*作系统属性所指定的JAR类包和类路径。
时间: 2024-10-26 05:25:17

jvm classLoader architecture :的相关文章

JVM - classLoader

此文参考:  http://www.cnblogs.com/liu-5525/p/5614425.html 1. classLoader 如何加载 class ClassLoader 负责将 .class 文件(可能在disk上,可能在网络上) 加载到 RAM 里面, 并为之生成对应的 [java.lang.Class] object. 当 JVM 启动的时候 会形成由三个 ClassLoader 组成的 初始类加载器 层次结构: bootstrap classloader --> extens

JVM ClassLoader加载过程

1)三个类加载器: bootstrap classloader - 引导(也称为原始)类加载器,它负责加载Java的核心类. extension classloader - 扩展类加载器,它负责加载JRE的扩展目录中JAR的类包. system classloader - 系统(也称为应用)类加载器,加载应用程序的类. bootstrap classloader不是一个真正的ClassLoader实例 2)获取引导类加载器加载了哪些类: URL[] urls=sun.misc.Launcher.

深入浅出 JVM ClassLoader

# 前言 在 JVM 综述里面,我们说,JVM 做了三件事情,Java 程序的内存管理, Java Class 二进制字节流的加载(ClassLoader),Java 程序的执行(执行引擎).我们也说,我们大部分情况下只关注前2个.在前面的文章中,我们已经分析了内存关系相关的,包括运行时数据区,GC 相关.今天我们要讲的就是类加载器. 在 JVM 综述 里,我们已经大致分析了一些概念.而今天的文章将详细的阐述类加载器. 首先,我们要了解类加载器,当然,了解的目的是为了更好的开发,通过对类加载器的

java classLoader体系结构使用详解

原创整理不易,转载请注明出处:java classLoader体系结构使用详解 代码下载地址:http://www.zuidaima.com/share/1774052029516800.htm jvm classLoader architecture: Bootstrap ClassLoader/启动类加载器 主要负责jdk_home/lib目录下的核心 api 或 -Xbootclasspath 选项指定的jar包装入工作. Extension ClassLoader/扩展类加载器  主要负

2015网易校招Java开发工程师(技术架构)在线笔试题

1.  程序和进程的本质区别是? A.在外存和内存存储 B.非顺序和顺序执行机器指令 C.独占使用和分时使用计算机资源 D.静态和动态特征 参考答案分析: 进程与应用程序的区别: 进程(Process)是最初定义在Unix等多用户.多任务操作系统环境下用于表示应用程序在内存环境中基本执行单元的概念.以Unix操作系统 为例,进程是Unix操作系统环境中的基本成分.是系统资源分配的基本单位.Unix操作系统中完成的几乎所有用户管理和资源分配等工作都是通过操作系统 对应用程序进程的控制来实现的. 

2015年网易校招Java开发工程师(技术架构)在线笔试题

1.  程序和进程的本质区别是? A.在外存和内存存储 B.非顺序和顺序执行机器指令 C.独占使用和分时使用计算机资源 D.静态和动态特征 参考答案分析: 进程与应用程序的区别: 进程(Process)是最初定义在Unix等多用户.多任务操作系统环境下用于表示应用程序在内存环境中基本执行单元的概念.以Unix操作系统为例,进程是Unix操作系统环境中的基本成分.是系统资源分配的基本单位.Unix操作系统中完成的几乎所有用户管理和资源分配等工作都是通过操作系统对应用程序进程的控制来实现的.   

Java基础笔试练习(十二)

1.(C#.JAVA)扩展方法能访问被扩展对象的public成员 A.能 B.不能 答案: A 解析: 翻译一下,子类方法是否能够访问父类中的public成员. 2.如果子类要调用父类的构造函数,则通过super()调用来实现. A.正确 B.错误 答案: A 解析: super关键字在子类内部使用,代表父类对象. 访问父类的属性 super.属性名 访问父类的方法 super.方法名() 子类构造方法需要调用父类的构造方法时,在子类的构造方法体里最前面的位置:super() 3.下列关于Jav

别翻了,这篇文章绝对让你深刻理解java类的加载以及ClassLoader源码分析【JVM篇二】

目录 1.什么是类的加载(类初始化) 2.类的生命周期 3.接口的加载过程 4.解开开篇的面试题 5.理解首次主动使用 6.类加载器 7.关于命名空间 8.JVM类加载机制 9.双亲委派模型 10.ClassLoader源码分析 11.自定义类加载器 12.加载类的三种方式 13.总结 14.特别注意 @ 前言 你是否真的理解java的类加载机制?点进文章的盆友不如先来做一道非常常见的面试题,如果你能做出来,可能你早已掌握并理解了java的类加载机制,若结果出乎你的意料,那就很有必要来了解了解j

深入理解ClassLoader(五)—类的卸载

原文地址:http://yhjhappy234.blog.163.com/blog/static/316328322011101413730764/?suggestedreading&wumii 我们知道,当一个类被加载.连接和初始化之后,他的生命周期就开始了,当该类的class对象不再被引用之后,该类的生命周期也就结束了,之后,该类会被类加载器卸载! 我们来看以下代码: package com.yhj.jvm.classloader.uninstall;< xmlnamespace pre