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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张邦庆 黑马帝   /  2011-10-31 20:42  /  2780 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

当类加载器附带着把配置文件加载到内存里时,就不需要输入流了,InputStream的读取与类加载器在这个问题上有什么区别吗?

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

9 个回复

正序浏览
fso918 黑马帝 2011-11-1 18:55:08
10#
底层一样的吧
java里把所有的IO操作都当做流来处理,类加载器加载资源文件也是IO操作,也就是说基于流的。其底层操作就是调用系统本地资源(就是本地系统从硬盘上读取数据的方法),读取文件内容,将读取到的内容读取到内存中(比如一个byte或 一个byte数组)。本质上java  IO流就一种,就是字节流,而字符流 就是把 读取到的 字节内容 包装了一下(如 查特定码表,特殊条件下换行等)。就相当于 字节流把数据读取到一个字节数组中,然后字符流类里的方法 就把这个字节数组处理了一下 ,变成另外一个字符数组,然后将处理后的字符数组当做方法的 结果返回。Decoration模式。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
杨玉揆 黑马帝 2011-11-1 08:13:09
9#
学习了  
回复 使用道具 举报
白倩 黑马帝 2011-11-1 06:14:47
8#
学习了!
回复 使用道具 举报
Java 中的类加载器大致可以分成两类,一类是系统提供的,另外一类是用户自定义的类加载器.类加载器的作用不但可以加载java的一些类库,还可以加载java应用所需的资源,如图像文件和配置文件.经常用到的最熟悉的还用他来加载数据库驱动,例如:Class.forName(),还有张老师视频里提到的getContextClassLoader()和setContextClassLoader.(ClassLoader cl)用来获取和设置线程的上下文类加载器.而InputStream是一个IO流,他只能读取一些文件,并不能去实现加载。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
楼主说的是:类加载器加载配置文件和InputStream加载配置文件有什么区别吗?
跟配置文件的路径有关,classloaded加载文件可移植性好!是相对路径。
回复 使用道具 举报
对,楼主你想问什么啊?不知道你想问什么?{:soso_e127:}
回复 使用道具 举报
过来学习

评分

参与人数 1技术分 +1 收起 理由
admin + 1 参与有奖,楼主把问题可以再说得更明白点.

查看全部评分

回复 使用道具 举报
跟配置文件的路径有关,classloaded加载文件可移植性好!

评分

参与人数 1技术分 +1 收起 理由
admin + 1 答非所问

查看全部评分

回复 使用道具 举报
类加载器是专门用来加载类的,Java 源程序在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件)。类加载器负责读取 Java 字节代码,并转换成 java.lang.Class 类的一个实例。而InputStream只是个输入流,不会把Java 字节代码换成 java.lang.Class 类的一个实例,没这个功能,你说的类加载器附带着把配置文件加载到内存里,这句话不懂,类加载器还加载配置文件吗?

评分

参与人数 1技术分 +1 收起 理由
admin + 1 参与有奖

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马