ClassLoader加载】的更多相关文章

图解classloader加载class的流程及自定义ClassLoader 博客分类: JVM JavaJVM虚拟机EXTSUN /** *  转载请注明作者longdick    http://longdick.iteye.com * */ java应用环境中不同的class分别由不同的ClassLoader负责加载.一个jvm中默认的classloader有Bootstrap ClassLoader.Extension ClassLoader.App ClassLoader,分别各司其职:…
/** *  转载请注明作者longdick    http://longdick.iteye.com * */ java应用环境中不同的class分别由不同的ClassLoader负责加载. 一个jvm中默认的classloader有Bootstrap ClassLoader.Extension ClassLoader.App ClassLoader,分别各司其职: Bootstrap ClassLoader  负责加载java基础类,主要是 %JRE_HOME/lib/ 目录下的rt.jar…
虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是Java虚拟机的类加载机制. 1)三个类加载器: bootstrap classloader - 引导(也称为原始)类加载器,它负责加载Java的核心类. extension classloader - 扩展类加载器,它负责加载JRE的扩展目录中JAR的类包. system classloader - 系统(也称为应用)类加载器,加载应用程序的类. bootstr…
要深入了解ClassLoader,首先就要知道ClassLoader是用来干什么的,顾名思义,它就是用来加载Class文件到JVM,以供程序使用 的.我们知道,java程序可以动态加载类定义,而这个动态加载的机制就是通过ClassLoader来实现的,所以可想而知ClassLoader的重 要性如何. 看到这里,可能有的朋友会想到一个问题,那就是既然ClassLoader是用来加载类到JVM中的,那么ClassLoader又是如何被加载呢?难道它不是java的类? 没有错,在这里确实有一个Cla…
先来个例子: /** * 测试classloader加载路径在哪里<p> * main3 */ public static void main3(String[] args) { Properties props = new Properties(); //在src中的dyan/sendhttp包路径下 // InputStream is = TestSendHttp.class.getClassLoader().getResourceAsStream("dyan/sendhttp/…
针对 Java ClassLoader加载机制理解, 做了个如何自定制简单的ClassLoader,并成功加载指定的类. 不废话,直接上代码. package com.chq.study.cl; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOExcept…
今天看到了一篇介绍Java ClassLoader加载机器的文章, 才发觉一直来自己的肤浅, 好好地给补了一课, 不得不存档! 原文地址: http://www.blogjava.net/lhulcn618/archive/2006/05/25/48230.html 当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构: bootstrap classloader                |       extension classloader       …
很多时候我们都需要在程序中加载各种文件,比如在加载配置文件,加载properties文件,或者只是加载一个文本文件,然后输出其中的内容,我在初学java的时候,就对加载文件非常头疼,今天又遇见了加载文件的问题,索性就一下子搞清楚,然后就有了这篇博客,希望能帮到对加载文件有疑惑的人吧. 本文的实验环境是在idea下,但是同样适用于使用eclipse的读者. 一.什么是类路径这篇文章主要是将怎么操作,所以概念性的东西,就不多赘述了,这里有一篇讲解类路径非常好的文章分享一下:管理 Java 类路径 (…
java应用环境中不同的class分别由不同的ClassLoader负责加载.一个jvm中默认的classloader有Bootstrap ClassLoader.Extension ClassLoader.App ClassLoader,分别各司其职: Bootstrap ClassLoader      负责加载java基础类,主要是 %JRE_HOME/lib/ 目录下的rt.jar.resources.jar.charsets.jar和class等 Extension ClassLoad…
我们往常进行文件的加载的时候 用到的都是  FileInputStream进行 文件的加载比如下面一个例子 : InputStream in=FileInputStream("1.properties"); Properties p=new Properties() ; p.load(int)  ;//加载输入流 获得键值对 p.getProperties(...) ;//// 我们通常都是这样来加载配置文件 .我们知道 我们在使用 第三方提供的类的时候 第三方都是以 jar包的形式提…