java错题mark_4

2017-07-08 07:35:36来源:CSDN作者:qq_35039122人点击

链接:https://www.nowcoder.com/questionTerminal/9d852d481c2e41dbb2e88206c72d158e
来源:牛客网

字节流继承于InputStream OutputStream,字符流继承于InputStreamReader OutputStreamWriter

链接:
https://www.nowcoder.com/questionTerminal/1585b178f50b4681a82cd9cee46d6d1e?toCommentId=402435

来源:牛客网

字节流:InputStream|-- FileInputStream (基本文件流)|-- BufferedInputStream|-- DataInputStream|-- ObjectInputStream      字符流Reader |--InputStreamReader (byte->char 桥梁)  |-- OutputStreamWriter (char->byte 桥梁) |-- BufferedWriter  |-- PrintWriter (常用)

链接:https://www.nowcoder.com/questionTerminal/99bfa10e4c1e429e98856bca6d80586e
来源:牛客网

下面有关 java 类加载器,说法正确的是?()

引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的
扩展类加载器(extensions class loader):它用来加载 Java 的扩展库。
系统类加载器(system class loader):它根据 Java 应用的类路径(CLASSPATH)来加载 Java 类
tomcat 为每个 App 创建一个 Loader,里面保存着此 WebApp 的 ClassLoader。需要加载 WebApp 下的类时,就取出 ClassLoader 来使用

正确答案:A B C D

链接:https://www.nowcoder.com/questionTerminal/99bfa10e4c1e429e98856bca6d80586e
来源:牛客网

1)Bootstrap ClassLoader

负责加载$JAVA_HOME中jre/lib/rt.jar里所有的class,由C++实现,不是ClassLoader子类

2)Extension ClassLoader

负责加载java平台中扩展功能的一些jar包,包括$JAVA_HOME中jre/lib/*.jar或-Djava.ext.dirs指定目录下的jar包

3)App ClassLoader

负责记载classpath中指定的jar包及目录中class

4)Custom ClassLoader

属于应用程序根据自身需要自定义的ClassLoader,如tomcat、jboss都会根据j2ee规范自行实现ClassLoader

加载过程中会先检查类是否被已加载,检查顺序是自底向上,从Custom ClassLoader到BootStrap ClassLoader逐层检查,只要某个classloader已加载就视为已加载此类,保证此类只所有ClassLoader加载一次。而加载的顺序是自顶向下,也就是由上层来逐层尝试加载此类。

微信扫一扫

第七城市微信公众平台