3.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<String>取代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模型中国同一层次的功能,必须共同遵守的规则,叫做**协议**。
原文地址:https://www.cnblogs.com/l999q/p/12431186.html