Day9刷题总结

选择题

  1. 一个以”.java”为后缀的源文件(C)
    A.只能包含一个类,类名必须与文件名相同
    B.只能包含与文件名相同的类以及其中的内部类
    C.只能有一个与文件名相同的类,可以包含其他类
    D.可以包含任意类
  2. java中,用(A )关键字定义常量?
    A.final
    B.#define
    C.float
    D.const
  3. 以下关于集合类 ArrayList 、 LinkedList 、 HashMap 描述错误的是:©
    A.HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
    B.ArrayList和LinkedList均实现了List接口
    C.添加和删除元素时,ArrayList的表现更佳
    D.ArrayList的访问速度比LinkedList快
    解析:
    1>Hashtable不允许 null 值(key 和 value 都不可以),HashMap允许 null 值(key和value都可以)。 ArrayList和LinkedList均实现了List接口
    2>ArrayList基于数组实现,随机访问更快
    3>LinkedList基于链表实现,添加和删除更快
  4. 以下说法错误的是(C)
    A.数组是一个对象
    B.数组不是一种原生类
    C.数组的大小可以任意改变
    D.在Java中,数组存储在堆中连续内存空间里
  5. 对于abstract声明的类,下面说法正确的是(E)
    A.可以实例化
    B.不可以被继承
    C.子类为abstract
    D.只能被继承
    E.可以被抽象类继承
    解析:
    A,抽象类不能实例化,因为有抽象方法未实现
    B,可以被继承。派生类可以实现抽象方法
    C,子类可以是抽象的,也可以非抽象的
    D,只能被继承说法太肯定,不正确
    E,可以被抽象类继承,也可以被非抽象类继承
  6. 下列不属于算法结构的是(C)
    A.输入数据
    B.处理数据
    C.存储数据
    D.输出结果
    解析:
    算法包括0个或多个输入,1个或多个输出,中间有穷个处理过程。
    存储结构不属于算法结构
  7. 下列关于计算机系统和Java编程语言的说法,正确的是(C)
    A.计算机是由硬件、操作系统和软件组成,操作系统是缺一不可的组成部分。
    B.Java语言编写的程序源代码可以不需要编译直接在硬件上运行。
    C.在程序中书写注释不会影响程序的执行,可以在必要的地方多写一些注释。
    D.Java的集成开发环境(IDE),如Eclipse,是开发Java语言必需的软件工具。
  8. 下面程序的输出结果是?(D)
package algorithms.com.guan.javajicu; 
public class TestDemo { 
    public static String output =""; 
    public static void foo(int i){ 
       try{ 
           if(i == 1){ 
              throw new Exception(); 
           } 
       }catch(Exception e){ 
           output += "2"; 
           return ; 
       }finally{ 
           output += "3"; 
       } 
       output += "4"; 
    } 
    
    public static void main(String[] args) { 
       foo(0); 
       foo(1); 
       System.out.println(output);
    } 
}

A.出错
B.342
C.34234
D.3423
解析:
void函数可以return空值,所以代码没错
第一次try没执行,所以没有异常抛出,程序继续,finally必须执行,try外部代码执行,output=“34”
第二次try执行,抛出异常,程序中断,执行catch,最后执行finally,程序结束,所以output=3423“

  1. 下列关于Java并发的说法中正确的是(B)
    A.CopyOnWriteArrayList适用于写多读少的并发场景
    B.ReadWriteLock适用于读多写少的并发场景
    C.ConcurrentHashMap的写操作不需要加锁,读操作需要加锁
    D. 只要在定义int类型的成员变量i的时候加上volatile关键字,那么多线程并发执行i++这样的操作的时候就是线程安全的了
    解析:
    A,CopyOnWriteArrayList适用于写少读多的并发场景
    B,ReadWriteLock即为读写锁,他要求写与写之间互斥,读与写之间互斥,
    读与读之间可以并发执行。在读多写少的情况下可以提高效率
    C,ConcurrentHashMap是同步的HashMap,读写都加锁
    D,volatile只保证多线程操作的可见性,不保证原子性
  2. ServletConfig接口默认是哪里实现的?(B)
    A. Servlet
    B.GenericServlet
    C.HttpServlet
    D. 用户自定义servlet
    解析
    Day9刷题总结