`
noahgenius
  • 浏览: 137979 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

java类的动态载入模型(二)

    博客分类:
  • java
阅读更多

JVM在运行时身成三个classloader:Bootstrap ClassLoader、Extension ClassLoader和AppClassLoader。这些classloader是用来载入本地已知的类库。

Bootstrap

这是用C/C++写死在JVM里了,JVM启动时建立的第一个classloader,负责载入核心类库(jre/lib/*.jar)。

Extension ClassLoader

由Bootstrap生成该类,parent定为null(Bootstrap不是java写的,当然只能指定null),负责载入jre/lib/ext中的类。

AppClassLoader

由Bootstrap生成该类,parent定为Extension ClassLoader,负责载入classpath(环境变量)中指定的类库。

其他

在其他一些情况下,比如事先没有加入环境变量的类库,或者从其他一些地方获取class比如网络,利用上面的classloader就不能寻找到指定类。这时候就需要扩展classloader,给定class文件的准确位置,这样java应用程序才能找到class文件。

分享到:
评论

相关推荐

    worldwind java 3d模型载入源代码

    worldwind java 3d模型载入源代码

    在Java_3D中载入外部3D模型文件.pdf

    在Java_3D中载入外部3D模型文件.pdf

    在Java_3D中载入外部3D模型文件.doc

    在Java_3D中载入外部3D模型文件

    Java核心技术II(第8版)

    10.4.3 动态类加载 10.4.4 具有多重接口的远程引用 10.4.5 远程对象与equals、hashCode和clone方法 10.5 远程对象激活 10.6 Web Services与JAX-WS 10.6.1 使用JAX-WS 10.6.2 Web服务的客户端 10.6.3 Amazon的E-...

    ComicMaker-Java:阅读,创作,漫画版

    功能说明: 创作新漫画添加板,盒子,模型,气泡文件载入文件注册导出为PDF 印象添加个人模型漫画上传插件列表: 申请书的英文应用程序的其他语言角色模型对象模型风景模型应用程序图形主题(提取格式) (几种语言...

    面试必问之jvm与性能优化

    Java类的加载是动态的,它并不会一次性将所有类全部加载后再运行,而是保证程序运行的基础类(像是基类)完全加载到jvm中,至于其他类,则在需要的时候才加载。这当然就是为了节省内存开销。 Java的类加载器有三个,...

    Java高并发系列之Java内存模型, 八种基本操作以及安全同步规则

    java内存模型逻辑抽象图 java 内存模型 lock(锁定):作用于主内存的变量,把一个变量标记为一条线程独占状态 unlock(解锁):作用于主内存的变量,把一个处于锁定状态的变量释放出来,释放后的变量才可以被其他线程...

    Vulkan-Tutorial-Java:Alexander Overvoorde的Vulkan教程已移植到Java

    载入模型 生成Mipmap 多重采样 介绍 编写这些教程是为了使C ++教程易于遵循。 但是,我进行了一些更改以适合Java和LWJGL样式。 该存储库采用与原始存储库相同的结构。 每个章节都有自己的Java文件,以使它们彼此...

    java xml 增删改查

    它还是许多其它与XML相关的标准的基础,因为它正式获得W3C推荐(与基于非标准的Java模型相对),所以在某些类型的项目中可能也需要它(如在 JavaScript中使用DOM)。 3:SAX表现较好,这要依赖于它特定的解析方式...

    Musou系列游戏MOD工具v0.1

    本程序需要java运行时,使用前请先安装最新版的JRE(http://www.java.com/zh_CN/download/index.jsp). 3D模型修改需要3DS MAX或Blender. 插件说明: 0.MusouModTool.jar -- Musou资源文件转换工具,点击Open,可选择...

    jboss-modules.jar

    换句话说,不同于Java传统的使用单个类加载器载入classpath中的所有JAR文件,每一个库(library,可以理解为完成某一个功能的一系列jar的组合)成为一个module,该module仅链接其依赖的其他module,而不再依赖其它任何...

    apache-commons源码及jar文件

    Commons-launcher 消除了需要批处理或者Shell脚本来载入Java 类。.原始的 Java 类来自于Jakarta Tomcat 4.0 项目 Logging Commons-Logging 是一个各种 logging API实现的包裹类. Math Math 是一个轻量的,自包含...

    WebSphere快速入门

    10.IBM VisualAge for Java V2.0 Enterprise Edition (如果有的话,第6步里不要安装Java Pro) 81 11.我的电脑。 81 第2部分 WebSphere Studio 实验的设置和确认 81 设置IBM WebSphere Studio 实验 81 确认IBM ...

    基于树莓派的自动驾驶小车,利用树莓派和Tensorflow实现小车在赛道的自动驾驶项目源码+使用文档(高分项目).zip

    在树莓派小车上使用zth_drive和训练好的模型,载入模型,即可实现在原先跑道的自动驾驶。(树莓派上执行) 注意:只需要使用上述提到的代码即可,别的都是一些初始版本或者正在增加的一些新模块。

    基于树莓派的自动驾驶小车,利用树莓派和Tensorflow实现小车在赛道的自动驾驶

    基于树莓派的自动驾驶小车,利用树莓派和Tensorflow实现小车在赛道的自动驾驶;...(电脑上执行),在树莓派小车上使用zth_drive和训练好的模型,载入模型,即可实现在原先跑道的自动驾驶。(树莓派上执行)

    99乘法表java源码-learn-lua:学习lua

    99乘法表java源码 ...能方便地利用表和动态元机制实现基于原型(prototype-based)的面向对象模型; 从5.1版开始提供了完善的模块机制,从而更好地支持开发大型的应用程序; Lua 基础数据类型 函数type

    Python核心编程第二版(ok)

    Python核心编程第二版(ok) 第1部分 Python核心  第1章 欢迎来到Python世界   1.1 什么是Python   1.2 起源   1.3 特点   1.3.1 高级   1.3.2 面向对象   1.3.3 可升级   1.3.4 可扩展   ...

    Python核心编程第二版

     3.5.2 动态类型   3.5.3 内存分配   3.5.4 引用计数   3.5.5 垃圾收集   3.6 第一个Python程序   3.7 相关模块和开发工具   3.8 练习   第4章 Python对象   4.1 Python 对象   4.2 ...

    基于PHP和PDO的ORM框架

    简洁易用的查询功能,强大灵活的模型用法;支持预载入关联查询和延迟关联查询;支持多数据库及动态切换;支持MongoDb;支持分布式及事务;支持断点重连;支持JSON查询;支持数据库日志;支持PSR-16缓存及PSR-3日志...

    FreeMarker模板引擎-其他

    插件式模板载入器:可以从任何源载入模板,如本地文件、数据库等等 你可以按你所需生成文本:保存到本地文件;作为Email发送;从Web应用程序发送它返回给Web浏览器 2、强大的模板语言 所有常用的指令:include、if/...

Global site tag (gtag.js) - Google Analytics