1 a 线程调用了一个阻塞式IO方法,在方法返回之前,该线程处于阻塞状态;在方法返回之后,由阻塞状态变为就绪(准备)状态,所以选A
2 HashSet中元素没有顺序,不允许重复;ArrayList中的元素可以重复,按照输入顺序排序;TreeSet中元素按照大小升序排列,不允许重复。所以选A
3在序列化时,如果一个可序列化类有多个父类(包括直接和间接父类),则该类的所有父类要么是可序列化的,要么有无参数的构造方法,否则在反序列化时抛出异常,所以选B
4访问LinkedList集合中的某个指定值,必须从第一个位置开始,所以Linkedlist不是一种直接访问的结构。所以选C
5问题解析:
ArrayList和LinkedList都是List接口的实现类,List接口是有序、可以重复的集合接口。
HashMap是Map接口的实现类。Map接口是键-值映射的集合接口。
Set是存储无序、不重复的集合接口。
正确答案是:D。
6问题解析:
在序列化时,对象的类名、属性都会被序列化,而方法、static属性、transient属性不会被序列化,所以选A
7在集合对象list通过add方法加入一个对象,通过removeFirst方法移除了第一个对象,这时集合对象list中没有对象,这时执行removeLast方法将出现异常。
正确答案是:D。
8创建多线程有两种方式,继承Thread类或者实现Runnable接口,此题中采用的是第一种方式。线程体定义在run()中,此处是一个for循环,而启动线程则是通过start()。所以选A
9问题解析:
InputStream是字节输入流、Reader是字符输入流,所以InputStream类和Reader类的子类都属于输入流。
正确答案是:A。
10问题解析:
ArrayList实质上是一种长度可以动态变化的数组,而数组的长度是固定不变的,所以选B
11问题解析:
使用关键字enum来定义枚举,访问修饰符不能是private,枚举常量之间是以逗号隔开。
正确答案是:C。
12问题解析:
“BufferedReader br =new BufferedReader(fr);”是将节点流fr封装为处理流br的正确语句格式;BufferedBuffer类提供了readLine方法可以读取一行字符,返回值类型为String,而read()的返回值是int而不是String,所以选C
13问题解析:
在Java中,通常使用ObjectOutputStream和ObjectInputStream来进行序列化操作和反序列化操作,而不是通过Reader和Writer类,所以选A
14问题解析:
String类是final类型,因而不可以被修改,也不可以被继承;假如需要判断两个String对象值是否相等时,应使用equals()进行判断;String s =new String("abc")创建了两个String类型的对象:一个在堆中,一个在字符串常量池中。所以选BD
15问题解析:
Number类是Byte, Double, Float, Integer, Long, Short等包装类的父类;System类、Runtime类、Void类都是Object的子类;
所以选A。
16问题解析:
三个Java基本注解分别为@SupperessWarnings、@Deprecated、@Override,所以选A
17问题解析:
Schema和DTD相比,Schema所支持的数据类型多,遵循XML规范,支持名称空间机制,具有良好的扩展性和灵活性,用于替代DTD。所以选AC
18问题解析:
根据枚举的语法,如果要使用枚举类的某个实例,可使用EnumClass.variable的形式,如Season.fall,所以选C
19问题解析:
调用append方法后,将sbf的值追加为“蝴蝶飞呀飞”,调用reverse方法后,将将sbf的值反转为“飞呀飞蝶蝴”。
正确答案是:D。
20问题解析:
在Annotation中@Override的作用是允许一个子类必须覆盖父类的方法,所以选A
21问题解析:
可以通过三种方式获取Class对象:调用某个类的class属性获得Class对象,调用某个对象的getClass()方法获得Class对象,可以使用Class类的forName静态方法得到Class对象,所以选BCD
22问题解析:
先将当前日期时间的天数加5天,