`
hyl198611
  • 浏览: 225676 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 类加载

阅读更多

一切都是由Bootstrap Loader开始:
类加载器的阶层体系
Java程序在编译之后会产生许多的执行单位(.class),
当我们执行主类时(public static void main(String arg[])方法的类),
才由虚拟机一一载入所有需要的执行单位,变成一个逻辑上为一体的Java应用程序。

下面将细部讨论这整个流程。
当我们在命令行输入java xxx.class时,java.exe根据我们之前所提过的逻辑找到JRE,
接着找到在JRE之中的jvm.dll(真正的Java虚拟机),最后载入这个动态连结函数库,

启动Java虚拟机。
虚拟机一启动,会先做一些初始化的动作,比方说抓取系统参数等。一旦初始化动作完成之后,
就会产生第一个类加载器,即所谓的Bootstrap Loader,Bootstrap Loader是由C++编写的。
这个Loader所做的初始化工作中,除了也做一些基本的初始化动作之外,
最重要的就是载入定义在sun.msic命名空间底下的Launcher.java之中的ExtClassLoader
(因此是inner class,所以编译之后会变成Launcher$ExtClassLoader.class),并设定其parent为null,
代表其父类加载器为Bootstrap Loader。

然后Bootstrap Loader再要求载入定义在sun.misc命名空间下的Launcher.java之中的AppClassLoader
(因此是inner class,所以编译之后会变成Launcher$AppClassLoader.class),并设定其parent为之前产生的
ExtClassLoader实例。这里需要注意的是:Launcher$ExtClassLoader.class与Launcher$AppClassLoader.class都
是由Bootstrap Loader所载入,所以parent和由那个类加载器载入没有关系。

分享到:
评论

相关推荐

    java类加载器学习三、类加载器的委托模式

    java类加载器学习三、类加载器的委托模式

    java类加载器

    ClassLoader 三种类加载方式 Boostrap Extenxsion 以及Application ClassLoad分别适用的场景

    深入研究Java类加载机制 深入研究Java类加载机制

    深入研究Java类加载机制 深入研究Java类加载机制 深入研究Java类加载机制 深入研究Java类加载机制

    java 类加载器 加密

    java 类加密 使用类加载器解密加载类 反射执行main

    java类加载机制.xmind

    该文件是JVM中关于类加载机制的知识整理的思维导图,包括类加载机制概述、类加载的生命周期、加载时机、加载过程、类加载、类的初始化和实例化等几个大方面进行了讲解,其中类加载中还对JVM三种预定义类加载器进行了...

    Java类加载器.pdf

    Java类加载器.pdf

    Java类加载内幕详细讲解

     类加载是java语言提供的最强大的机制之一,但所有的编程人员都应该了解其工作机制,明白如何做才能让其满足我们的需要。这能有效节省我们的编码时间,从不断调试ClassNotFoundException的工作中解脱出来。

    自定义Java类加载器

    看完一个Java加载原理教程后,写了这个自己的类加载器,作个笔记,以便以且使用

    java类加载器实例

    类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java ...

    JAVA类加载机制与动态代理

    类加载机制与动态代理吗,讲得很好对得资源分。

    java类加载原理分析

    java类加载原理分析,引导类加载器,扩展类加载器,系统类加载器(也叫应用类加载器)

    Java类加载机制与反射-PPT

    Java的类加载机制:加载,连接,初始化。JAVA类加载器: Bootstrap ClassLoader : 根类加载器, Extension ClassLoader: 扩展类加载器, System ClassLoader : 系统类加载器, Java反射

    自定义Java类加载器demo

    自定义Java类加载器demo,自定义了一个classLoader,重写了loadClass 和findClass,注意 loadClass打破了双亲委派机制,所有的类都要在自定义的class文件中找到,而findClass遵循了双亲委派机制

    使用Java类加载和类路径实现一个简单的在线购物网站.txt

    这段代码实现了一个简单的购物车类ShoppingCart,其中使用了Java的类加载和类路径机制。在类的构造方法中,首先通过类加载器将购物车类加载到JVM中,然后创建了一个Map对象来存储购物车中的商品及其数量。接着实现了...

    java 类加载器 class loader

    java 类加载器 class loaderjava 类加载器 class loaderjava 类加载器 class loaderjava 类加载器 class loaderjava 类加载器 class loaderjava 类加载器 class loaderjava 类加载器 class loader

    深入探讨 Java 类加载器.wps

    深入探讨 Java 类加载器.wps深入探讨 Java 类加载器.wps深入探讨 Java 类加载器.wps

    java类加载机制

    java 类加载机制,课程笔记。

    Java类加载原理解析

    Java类加载原理解析,深度解剖了java中的类的执行内部机制!

    深入探讨 Java 类加载器

    类加载器(class ...本文首先详细介绍了 Java 类加载器的基本概念,包括代理模式、加载类的具体过程和线程上下文类加载器等,接着介绍如何开发自己的类加载器,最后介绍了类加载器在 Web 容器和 OSGi™ 中的应用。

Global site tag (gtag.js) - Google Analytics