黑马程序员技术交流社区

标题: 类加载器 [打印本页]

作者: 张邦庆    时间: 2011-10-31 20:42
标题: 类加载器
当类加载器附带着把配置文件加载到内存里时,就不需要输入流了,InputStream的读取与类加载器在这个问题上有什么区别吗?
作者: 肖居上    时间: 2011-10-31 20:59
类加载器是专门用来加载类的,Java 源程序在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件)。类加载器负责读取 Java 字节代码,并转换成 java.lang.Class 类的一个实例。而InputStream只是个输入流,不会把Java 字节代码换成 java.lang.Class 类的一个实例,没这个功能,你说的类加载器附带着把配置文件加载到内存里,这句话不懂,类加载器还加载配置文件吗?
作者: 孙运强    时间: 2011-10-31 22:12
跟配置文件的路径有关,classloaded加载文件可移植性好!
作者: 田忠    时间: 2011-10-31 22:32
过来学习
作者: 赵玉成    时间: 2011-10-31 23:02
对,楼主你想问什么啊?不知道你想问什么?{:soso_e127:}
作者: 孙运强    时间: 2011-10-31 23:08
楼主说的是:类加载器加载配置文件和InputStream加载配置文件有什么区别吗?
跟配置文件的路径有关,classloaded加载文件可移植性好!是相对路径。
作者: 王德云    时间: 2011-11-1 02:02
Java 中的类加载器大致可以分成两类,一类是系统提供的,另外一类是用户自定义的类加载器.类加载器的作用不但可以加载java的一些类库,还可以加载java应用所需的资源,如图像文件和配置文件.经常用到的最熟悉的还用他来加载数据库驱动,例如:Class.forName(),还有张老师视频里提到的getContextClassLoader()和setContextClassLoader.(ClassLoader cl)用来获取和设置线程的上下文类加载器.而InputStream是一个IO流,他只能读取一些文件,并不能去实现加载。
作者: 白倩    时间: 2011-11-1 06:14
学习了!
作者: 杨玉揆    时间: 2011-11-1 08:13
学习了  
作者: fso918    时间: 2011-11-1 18:55
底层一样的吧
java里把所有的IO操作都当做流来处理,类加载器加载资源文件也是IO操作,也就是说基于流的。其底层操作就是调用系统本地资源(就是本地系统从硬盘上读取数据的方法),读取文件内容,将读取到的内容读取到内存中(比如一个byte或 一个byte数组)。本质上java  IO流就一种,就是字节流,而字符流 就是把 读取到的 字节内容 包装了一下(如 查特定码表,特殊条件下换行等)。就相当于 字节流把数据读取到一个字节数组中,然后字符流类里的方法 就把这个字节数组处理了一下 ,变成另外一个字符数组,然后将处理后的字符数组当做方法的 结果返回。Decoration模式。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2