A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马不黑 中级黑马   /  2014-1-11 16:16  /  1370 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黑马不黑 于 2014-1-12 09:18 编辑

在JAVA API里的类加载器除了常用到的BootStrap、ExtClassLoader、AppClassLoader,还有哪些是会用到的啊?一个程序开始运行main()函数跟类加载器加载有什么关系?

2 个回复

正序浏览
本帖最后由 张志明 于 2014-1-11 21:30 编辑

类加载器用来加载 Java 类到 Java 虚拟机中。Java 源程序在经过 Java 编译器编译之后就被转换成 .class 文件。类加载器负责读取 Java 字节代码,并转换成 java.lang.Class 类的一个实例。
引导类加载器(bootstrap class loader):它用来加载 Java 的核心库
扩展类加载器(extensions class loader):它用来加载 Java 的扩展库。

系统类加载器(system class loader):它根据 Java 应用的类路径(CLASSPATH)来加载 Java 类。一般来说,Java 应用的类都是由它来完成加载的。可以通过 ClassLoader.getSystemClassLoader() 来获取它。

除了系统提供的类加载器以外,开发人员可以通过继承 java.lang.ClassLoader 类的方式实现自己的类加载器,以满足一些特殊的需求。

我的笔记你看看。。回答问题会得技术分吗????       努力进黑马~!!
回复 使用道具 举报
在web开发中,tomcat中就自带了web方面的类加载器,类加载器有哪些,主要是需求,在javaAPI中,BootStrapClassLoader、ExtClassLoader、AppClassLoader就已经满足我们所需了,第一个负责加载核心类库和后面两个类加载器,ExtClassLoader负责加载扩展类如工具类,App类加载则负责我们编写的位于CLASSPATH下的class文件。
一个程序开始运行始于main方法,因为它是程序的入口,如同一栋建筑的大门,但是进去后,你可能会用到某几个房间,而类加载器则是相当于钥匙,将房间代表的class文件加载到你需要的程序中。
另外,类加载器的双亲委托机制也是需要注意的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马