一、选择题
1、给定如下所示的java代码,则运行时,会产生()类型的异常。
String s = null;
s.equals(“abc”);
A) ArithmeticException
B) NullPointerExecption
C) IOException
D) ClassNotFoundException
答案:B
//如果String s = “”; s.equals(“abc”);是不会报错的,如果String s = null;
s.equals(“abc”);会抛出一个NullPointerException
2、给定如下java程序的代码片段,下划线处,加入( )语句,可以使这段代码编译通过
public void method1() throws IOException{
}
public void method2()________{
method1() };
(选择二项)
A) throws IOException
B) throw IOException
C) throws Exception
D) throws RuntimeException
答案:AC
3、下面异常处理语句结构一定不正确的是( )
A) try{} catch(……){} finally{}
B) try{} catch(……){}
C) try{} finally{}
D)catch(……){} finally{}
答案:D
4、创建一个TCP服务程序的顺序是()
A 关闭socket
B 创建一个服务器socket
C关闭I/O流
D 在服务线程中,从socket中获得I/O流
E 对I/O流进行读写操作,完成与客户的交互
G从服务器socket接受客户连接请求
答案:BGDECA
5、下面都属于线程安全的类是( )
A.ArrayList
B.Vector
C.HashMap
D.Hashtable
答案:BD
Vector是个老的动态数组,是线程同步(安全)且效率低,现在已经不适合使用。
ArrayList实现的是动态数组,它的功能范畴同Vector但不同步(不安全),它只是array的实现方式,允许随机的读取元素,特点是元素增删慢,查找快。
LinkList实现的是链表结构,它允许随机访问,由这个类定义的链表能通栈和队列一样被使用。提供最佳顺序存取,适合插入和移除元素,特点是元素增删快,查找慢。
HashMap不是线程安全的,不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而hashtable不允许
HashTable是线程安全的
HashMap是Hashtable的轻量级实现
6.线程通过( )方法可以休眠一段时间,然后恢复运行。
A.run
B.setPrority
C.yield
D.sleep
答案:D
7、在java中,下列选项可以存储无序,不重复的数据是 ( )
A ArrayList
B LinkedList
C HashMap
D Set
答案:D
8、编译运行以下java代码,输出结果正确的是 ( )
public class Test{
LinkedList list = new LinkedList();
list.add(“aaa”);
list.removeFrist();
list.removeLast();
System.out.println(list.size());
}
A) 1
B) 0
C) 运行异常
D) 编译异常
答案:C
removeFrist()把第一个元素去掉,list中已经没有元素了,removeLast()就会报错
Exception in thread “main” java.util.NoSuchElementException
at java.util.LinkedList.removeLast(Unknown Source)
at Test20170424.Test.main(Test.java:10)
9、请选择正确答案
import java.util.*;
public class TestListSet{
public static void main(String args[]){
List list = new ArrayList();
list.add(“Hello”);
list.add(“Learn”);
list.add(“Hello”);
list.add(“Welcome”);
Set set =