java牛客刷题2020年9月20日

  1. 在为传统面向对象语言的程序做单元测试的时候,经常用到mock对象。Mock对象通过反射数。请问反射最大程度破坏了面向对象的以下哪个特性?

    正确答案: A 你的答案: B (错误)

    封装
    多态
    继承
    抽象
    解释:
    A.封装
    反射破坏代码的封装性,破坏原有的访问修饰符访问限制 
    mock对象:也成为伪对象,在测试中的利用mock对象来代替真实对象,方便测试的进行。
    java的封装性:指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,通过该类提供的方法实现对内部信息的操作访问。
    反射机制:在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性
    
  2. 以下哪项陈述是正确的?

    正确答案: E 你的答案: D (错误)

    垃圾回收线程的优先级很高,以保证不再 使用的内存将被及时回收
    垃圾收集允许程序开发者明确指定释放 哪一个对象
    垃圾回收机制保证了JAVA程序不会出现 内存溢出
    进入”Dead”状态的线程将被垃圾回收器回收
    以上都不对
    解释:
    A: 垃圾回收在jvm中优先级相当相当低。
    B:垃圾收集器(GC)程序开发者只能推荐JVM进行回收,但何时回收,回收哪些,程序员不能控制。
    C:垃圾回收机制只是回收不再使用的JVM内存,如果程序有严重BUG,照样内存溢出。
    D:进入DEAD的线程,它还可以恢复,GC不会回收
    
  3. 哪个类可用于处理 Unicode?

    正确答案: A 你的答案: C (错误)

    InputStreamReader
    BufferedReader
    Writer
    PipedInputStream
    解释:
    A、 InputStreanReader的构造函数:
    InputStreamReader(InputStream in)
              创建一个使用默认字符集的 InputStreamReader。
    InputStreamReader(InputStream in, Charset cs)
              创建使用给定字符集的 InputStreamReader。
    InputStreamReader(InputStream in, CharsetDecoder dec)
              创建使用给定字符集解码器的 InputStreamReader。
    InputStreamReader(InputStream in, String charsetName)
              创建使用指定字符集的 InputStreamReader。
    B、BufferedReader的构造函数:
    BufferedReader(Reader in)
              创建一个使用默认大小输入缓冲区的缓冲字符输入流。
    BufferedReader(Reader in, int sz)
              创建一个使用指定大小输入缓冲区的缓冲字符输入流。
    C、Writer的构造函数:
    protected	Writer()
              创建一个新的字符流 writer,其关键部分将同步 writer 自身。
    protected	Writer(Object lock)
              创建一个新的字符流 writer,其关键部分将同步给定的对象。
    
    D、PipedInputStream的构造函数:
    PipedInputStream()
              创建尚未连接的PipedInputStream。
    PipedInputStream(int pipeSize)
              创建一个尚未连接的PipedInputStream,并对管道缓冲区使用指定的管道大小。
    PipedInputStream(PipedOutputStream src)
              创建PipedInputStream,使其连接到管道输出流src。
    PipedInputStream(PipedOutputStream src, int pipeSize)
              创建一个PipedInputStream,使其连接到管道输出流src,并对管道缓冲区使用指定的管道大小。
    
  4. 在各自最优条件下,对N个数进行排序,哪个算法复杂度最低的是? ()

    正确答案: A 你的答案: B (错误)

    插入排序
    快速排序
    堆排序
    归并排序
    解释:
    
    
 posted on 2020-09-20 08:47  ben跑的换行符  阅读(264)  评论(0编辑  收藏  举报