Java类加载器

原创 2004年09月10日 16:01:00

Java类加载器:

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

引导类加载器――加载系统核心类,没有任何ClassLoader对象与核心类加载器对应,例如:

String.class.getClassLoader()返回null

 

扩展类加载器――加载在lib-ext下的类。它是用java来实现的。存在class.forname()的缺陷

系统类加载器――从当前目录加载或者在clsspath环境变量中指定的位置搜索zip/jar,或者由-classpath指定的jar

 

类加载器的父子关系:每个类加载器都有一个父加载器(除引导。。),根据规定类加载器先让父加载器加载,在父加载器失败时再由自己加载。当然你可以在自定义的类加载器中修改这一默认行为。

 

显式加载 隐式加载  通过类加载器加载,默认加载器是与调用者的加载器相同,可以通过loader.loadClass()用新的加载器加载。

 

class.forname()的缺陷:在lib/ext目录下的类如果使用了class.forName()将会遇到麻烦,因为此时这个调用不会调用系统类加载器。

 

ClassLoader.getSystemClassLoader可以获得系统类加载器

Thread.cureentThread().getContxtClassLoader()多线程环境下。。。

 

自定义类加载器:

覆盖findClass(String classname)方法:在其中加载字节码,调用defineClass(…..)来定义类。

 

字节码校验器:防止对(编译之后的)字节码进行的非法修改

 

@ 符号 在java中是什么语法 代表什么

java中@是什么     J2SE 提供的最后一个批注是 @SuppressWarnings。该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。     一点背景:...
  • skyboy11yk
  • skyboy11yk
  • 2013年10月12日 16:49
  • 38666

关于java中<T>问题

关于java中问题 Jdk5.0新特性Generic Types (泛型) 原文 来源: 中国IT实验室 作者: 未知 责编: 宝良 1. 介绍 2.定义简单Java泛型 其实Java...
  • zhengqiqiqinqin
  • zhengqiqiqinqin
  • 2013年05月31日 19:22
  • 35800

Java中布尔类型操作&=,|=与^=的使用

今天在对同事的代码进行code review的时候,见到一个比较好玩的写法。“flag &= false;”,乍一看,还感觉他写错了,但是程序可以正常运行,赶紧去百度,看一下这个写法到底是怎么一回事,...
  • ziwen00
  • ziwen00
  • 2014年10月31日 16:35
  • 17964

java中==与equel的区别

值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。     ==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
  • hellokatewj
  • hellokatewj
  • 2014年03月26日 17:43
  • 2817

java this 3种常见用法 详解

this 关键字 1.区分成员变量和局部变量 2.代表当前对象 3.构造器之间调用
  • u012176204
  • u012176204
  • 2017年01月17日 09:41
  • 3059

【数据结构】之二叉树的java实现

二叉树的定义: 二叉树是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树的形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。...
  • wuwenxiang91322
  • wuwenxiang91322
  • 2013年10月02日 09:28
  • 80255

Java可以做什么及可以给我们带来什么?

一般来说,Java是一个功能强大的软件平台。一套完整的Java平台将会给你带来如下特性: 开发工具箱:...
  • stewen_001
  • stewen_001
  • 2014年03月12日 16:06
  • 2886

Java 进度条控件的使用

利用JProcessBar类可以实现一个进度条,它本身不过是一个矩形控件,通过填充它的部分或全部来指示一个任务的执行情况,可以放置到一个新的线程中运行。 示例如下:...
  • kehyuanyu
  • kehyuanyu
  • 2014年05月19日 17:44
  • 8656

最小堆和最大堆的JAVA实现

/** * 文件名:BinaryHeap.java * 时间:2014年11月3日下午7:15:34 * 作者:修维康 */ package chapter6; import java.ut...
  • xiuweikang
  • xiuweikang
  • 2014年11月04日 16:37
  • 4426

java事务处理全解析

最近学习java事务,看到一位前辈的系列博客不错,转载过来作为记录 转载地址:http://www.davenkin.me/post/2013-02-16/40048284001    (一)Ja...
  • huilangeliuxin
  • huilangeliuxin
  • 2015年02月03日 10:26
  • 55275
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java类加载器
举报原因:
原因补充:

(最多只允许输入30个字)