sun.boot.class.path:系统预加载的必须的一些jar,java.class.path,就是我们配置的系统变量中的classPath.采用的的是,委托模型:就是类装载器载入类是,首先请求其parent 使用起搜索路径帮忙载入,如果parent 找不到,那么才由自己依照自己的搜索路径来搜索类。其这样设计的目的是维护了动态性和安全性。
public class Property{
public static void main(String args[]){
String path = System.getProperty("sun.boot.class.path");
System.out.println("path:"+path+"\n");
String appPath = System.getProperty("java.class.path");
System.out.println("appPath:"+appPath+"\n");
String extdir = System.getProperty("java.ext.dirs");
System.out.println("extdir:"+extdir+"\n");
}
}
结果:
path:/opt/jdk1.6.0_21/jre/lib/resources.jar:/opt/jdk1.6.0_21/jre/lib/rt.jar:/opt/jdk1.6.0_21/jre/lib/sunrsasign.jar:/opt/jdk1.6.0_21/jre/lib/jsse.jar:/opt/jdk1.6.0_21/jre/lib/jce.jar:/opt/jdk1.6.0_21/jre/lib/charsets.jar:/opt/jdk1.6.0_21/jre/classes
appPath:.:/opt/jdk1.6.0_21/lib:/opt/jdk1.6.0_21/jre/lib:
extdir:/opt/jdk1.6.0_21/jre/lib/ext:/usr/java/packages/lib/ext
分享到:
相关推荐
系统类加载器,通常被称为应用类加载器,由sun.misc.Launcher$AppClassLoader实现,负责加载应用程序的主类以及应用类路径(classpath)指定的所有类。开发者编写的大部分Java代码都由系统类加载器加载。 类加载器...
2. **类加载器及类加载器的委托机制**:JVM中有三种内置的类加载器,分别是启动类加载器、扩展类加载器和应用类加载器。此外,还可以自定义类加载器。类加载器之间遵循委托机制,即下级类加载器先请求上级类加载器...
例如,当我们尝试加载 `java.lang.Object` 类时,首先会由启动类加载器加载,如果它找不到,会继续交给扩展类加载器,接着是系统类加载器,最后才会由用户自定义的类加载器尝试加载。 1.3 类加载双亲委派示例 为了...
- **扩展类加载器**:负责加载扩展目录下的类库,例如`<JAVA_RUNTIME_HOME>/lib/ext`或由`java.ext.dirs`系统变量指定的路径。 - **应用程序类加载器**:也称为系统类加载器,它根据`CLASSPATH`环境变量加载应用类...
从上述代码中可以看出,系统的类加载器是`AppClassLoader`,它的父加载器是`ExtClassLoader`,而`ExtClassLoader`的父加载器是启动类加载器,后者无法被Java程序直接引用。此外,我们还可以看到,`Object`类是由启动...
理解类加载器的工作原理对于进行JVM优化、插件系统开发以及理解类的生命周期至关重要。类加载器的机制保证了Java的类加载过程是有序且安全的,同时也支持了Java的动态加载和模块化特性。在自定义类加载器时,需要...
3. 应用程序类加载器:也称为系统类加载器,加载用户类路径(classpath)上的类。 4. 用户自定义类加载器:开发者可以通过继承java.lang.ClassLoader来创建自己的类加载器,实现特定的加载逻辑,例如从网络、数据库...
类加载器不仅涉及到程序的正常执行,还与Java的动态加载、模块化系统以及安全策略紧密相关。 首先,我们来了解一下JVM启动时的初始类加载器层次结构。这个层次结构通常由三个主要的类加载器组成: 1. **bootstrap ...
最后是系统类加载器(也称为应用程序类加载器),负责加载用户类路径(classpath)中的类。 ### 类加载器的工作机制 类加载器遵循“双亲委托模型”进行工作。当一个类加载器接收到加载类的请求时,它首先会委托其...
Java的类加载器是Java虚拟机(JVM)的核心...总之,Java的类加载器是理解和优化JVM行为的关键部分,对于开发复杂系统和实现动态功能具有深远影响。通过掌握类加载机制,开发者可以更好地控制和定制应用程序的运行环境。
- **应用程序类加载器(Application ClassLoader)**:也称为系统类加载器,负责加载用户类路径(ClassPath)中的类。 - **自定义类加载器(User-defined ClassLoader)**:用户可以根据需求编写自己的类加载器,...
1. Bootstrap ClassLoader:这是最基础的类加载器,由JVM本身实现,负责加载JRE的`<JAVA_HOME>/lib`目录下的核心类库,或者被`-Xbootclasspath`参数指定的路径中的类。 2. Extension ClassLoader:扩展类加载器,...
在Java编程语言中,类加载器(ClassLoader)是运行时环境的核心组成部分,它负责将类的字节码从各种来源加载到JVM(Java虚拟机)中,使得程序能够执行。自定义类加载器允许开发者根据特定需求扩展或改变类的加载行为...
这类工具通常会提供更方便的命令行参数,以便于指定类路径、加载特定的类加载器,或者处理特定的类加载需求。 总结来说,Java应用程序类加载器是Java程序执行的关键部分,它负责在运行时找到并加载类,而它的灵活性...
在Java中,类加载器是JVM的一部分,它的任务是将.class文件从磁盘加载到内存,并使这些类在运行时可用。类加载器遵循双亲委派模型,这意味着当一个类加载器尝试加载类时,它首先会将请求委托给其父类加载器,直到...
1. **Bootstrap ClassLoader**:这是最基础的类加载器,由JVM自身实现,通常用于加载`<JAVA_HOME>\lib`目录下的核心类库,或者被`-Xbootclasspath`参数指定的路径中的类。 2. **Extension ClassLoader**:扩展类...
《JAVA-JVM-01类加载机制》 Java虚拟机(JVM)是Java程序运行的基础,其中类加载机制是其核心组成部分。...自定义类加载器则提供了扩展JVM类加载功能的可能,使得开发者能够根据需求加载非标准路径或网络上的类。
3. Application ClassLoader:应用类加载器,也称为系统类加载器,负责加载用户类路径(classpath)上的类。 二、类加载过程 类的加载过程包括三个主要步骤:加载、连接和初始化。 1. 加载:读取.class文件并生成...
3. **应用程序类加载器(Application ClassLoader)**:也称为系统类加载器,负责加载用户应用程序的类路径(ClassPath)中指定的类,可以通过 `ClassLoader#getSystemClassLoader()` 获取。 4. **自定义类加载器...
1. **启动类加载器(Bootstrap ClassLoader)**:这是最基础的类加载器,由本地代码实现,负责加载JDK的`<JAVA_HOME>\lib`目录下的核心类库,以及由`-Xbootclasspath`参数指定的类库。 2. **扩展类加载器...