2.6测试复盘

  • 哈夫曼树、平衡二叉树都是数据的逻辑结构(√)

  • T(n)=O(f(n))中,函数O()的正确含义为()
    A. T(n)为f(n)的函数
    B. T(n)为n的函数
    C. 存在足够大的正整数M,使得T(n)≤M×f(n)

    答案:C

  • 类中声明的变量有默认初始值;
    方法中声明的变量没有默认初始值,必须在定义时初始化,否则在访问该变量时会出错。

  • java中下面哪个能创建并启动线程()

      public class MyRunnable implements Runnable          { 
           public void run()             { 
               //some code here 
           } 
       }

    A. new Runnable(MyRunnable).start()
    B. new Thread(MyRunnable).run()
    C. new Thread(new MyRunnable()).start()
    D. new MyRunnable().start()

    解析:实例化线程:
    1、如果是扩展java.lang.Thread类的线程,则直接new即可。
    2、如果是实现了java.lang.Runnable接口的类,则用Thread的构造方法
    启动线程: 在线程的Thread对象上调用start()方法

    答案:C

  • list是一个ArrayList的对象,哪个选项的代码填到//todo delete处,可以在Iterator遍历的过程中正确并安全的删除一个list中保存的对象?()
    cpp Iterator it = list.iterator(); int index = 0; while (it.hasNext()) { Object obj = it.next(); if (needDelete(obj)) //needDelete返回boolean,决定是否要删除 { //todo delete } index ++; }
    A. it.remove();
    B. list.remove(obj);
    C. list.remove(index);
    D. list.remove(obj,index);

    解析:Iterator 支持从原集合中安全地删除对象,只需在 Iterator 上调用 remove() 即可。这样做的好处是可以避免 ConcurrentModifiedException ,当打开 Iterator 迭代集合时,同时又在对集合进行修改。
    答案:A

  • flush()函数强制将缓冲区中的字符流、字节流等输出,目的是如果输出流输出到缓冲区完成后,缓冲区并没有填满,那么缓冲区将会一直等待被填满。所以在关闭输出流之前要调用flush()。

  • 在开发中使用泛型取代非泛型的数据类型(比如用ArrayList取代ArrayList),程序的运行时性能会变得更好。(×)

    解析:泛型仅仅是java的语法糖,它不会影响java虚拟机生成的汇编代码,在编译阶段,虚拟机就会把泛型的类型擦除,还原成没有泛型的代码,顶多编译速度稍微慢一些,执行速度是完全没有什么区别的.

  • 下列哪个说法是正确的()
    A. ConcurrentHashMap使用synchronized关键字保证线程安全
    B. HashMap实现了Collction接口
    C. Array.asList方法返回java.util.ArrayList对象
    D.SimpleDateFormat是线程不安全的

    解析:A选项中,ConcurrentHashMap 使用segment来分段和管理锁,segment继承自ReentrantLock,因此ConcurrentHashMap使用ReentrantLock来保证线程安全。
    答案:D

  • 树的先序对应二叉树的先序
    树的后序对应二叉树的中序

  • 设F是一个森林,B是由F变换得到的二叉树。若F中有n个非终端结点,则B中右指针域为空的结点有(n+1)个

  • 下列数据结构具有记忆功能的是?
    A. 队列
    B. 循环队列
    C. 栈
    D. 顺序表

    解析:栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用
    答案:C

  • 在因特网电子邮件系统中,电子邮件应用程序发送邮件通常使用SMTP协议,而接收邮件通常使用POP3协议

  • 在网络分各个节点上,为了顺利实现OSI模型中国同一层次的功能,必须共同遵守的规则,叫做协议

上一篇:多线程 thread/ runnable


下一篇:java进程,线程,守护线程,线程同步,死锁,生产者消费者模型,创建线程池4种方法