《Java核心API》考试题
一、理论测试题:(共出50题,共100分)
1.下列哪项不是Java核心API中的接口? C [单元十、十一、十二、十三]
A.Collenction
B.Set
C.Collections
D.Map
A.流是指一连串流动的字符,是以先进后出方式发送信息的通道
B.字节流占8位
C.字符流占16位
D.用DataInputStream 读二进制文件
3.下列哪项不属于Java语言的关键字? B [单元一、二]
A.package
B.File
C.import
D.implements
A.dis.readByte() 读取出来的数据是Byte类型
B. dis.readInt(); 读取出来的是整数
C. dis.close (); 关闭数据输入流
D.以上说法都不正确
5.下面哪项说法是正确的? C [单元六]
A.String是原始基本数据类型
B.HashMap不允许存放空值、空键
C.List接口允许重复
D.Set接口允许重复
6.下列哪项不属于集合框架优点的是: D [单元九]
A. 提供有用的数据结构和算法,从而减少编程工作
B. 提高了程序速度和质量,因为它提供了高性能的数据结构和算法
C.允许不同 API 之间的互操作,API之间可以来回传递集合
D.能够在计算机程序中用类似的实体模拟现实世界中的实体
7. ____________对象是长度可变的对象引用数组,类似于动态数组[单元十一] ArrayList
8._________的好处在于它具有访问、检索和删除数据的方法 [单元十三] LinkedList
9. _______接口由键值对组成 [单元十三] Map
10.同步的关键字是_______________________ [单元十八、十九]synchronized
11.瞬时的关键字_________________________[单元七、八]transient
12.线程休眠用_______________方法[单元十七]sleep
13.实现线程有______________种方式? [单元十六] 两
14.启动线程用___________方法?[单元九、十、十一] start
15.线程等待用________________方法[单元十五] wait
16. 唤醒所有睡觉线程用____________方法[单元十七] notifyall
17. ____________就是具有一个或多个类型参数的类; [单元七] 泛型类
18. TreeMap排序是_________________ [单元十三] 有序
19.String的长度是__________________[单元六]length()方法
20.实现____________________需要实现Serializable接口 [单元八] 序列化
21.实现线程需要继承____________________类 [单元十五] Thread
22.实现线程需要实现____________________接口[单元十六]Runnable
23. FileOutputStream用于_______[单元三] 写文本文件
24.FileInputStream用于 ____________ [单元三] 读文本文件
25.BufferedReader用于___________? [单元四] 读文本文件
26. BufferedWriter用于______________________ [单元四] 写文本文件
27.DataInputStream 用于__________________________ [单元五]读二进制文件
28. 为了保证程序类型的安全,减少程序出错的机率,避免带来的麻烦引入了__________[单元七、八] 泛型
29. 下列代码运行不可能出现的结果是:
public static void main(String args[]){
Random random = new Random();
int ran = random.nextInt(3);
System.out.println("产生的结果为: "+ran);
} B [单元六]
A.产生的结果为: 0
B.产生的结果为: 3
C.产生的结果为: 1
D.产生的结果为: 2
30.给出下面的代码运行结果: C [单元十二]
public static void main(String args[]) {
Set ts = new TreeSet();
ts.add("a");
ts.add("c");
ts.add("b");
Iterator it = ts.iterator();
while(it.hasNext()){
System.out.print(it.next());
}
}
31.下列哪个方法不是线程类的: C [单元五]
A. run()
B. start()
C. close()
D.以上说法都不对
32.说出Vector类的特性 [单元十四]
答:它具有类似数组的数据结构,而且是动态的、可以存放一定
数量的元素、容量可以递增
33. Thread创建线程步骤[单元十五]
答:(1)创建一个新的线程类,继承Thread类并覆盖Thread类的run()方法;
(2)创建一个线程类的对象,创建方法与一般对象的创建相同,使用关键字new完成。
(3)启动新线程对象,调用start()方法。
(4)线程自己调用run()方法。
34.简述Runnable创建线程步骤[单元十六]
答:(1)创建一个实现Runnable接口的类,并且在这个类中重写run方法。
(2)使用关键字new一个ThreadType的实例;
(3)通过Runnable的实例创建一个线程对象,在创建线程对象时,调用的构造函数是new Thread(ThreadType),它用ThreadType中实现的run()方法作为新线程对象的run()方法。
(4)通过调用ThreadType对象的start()方法启动线程运行。
35.Java工程师的工作内容包括哪些? ABCDE [单元十九]
A.参与系统架构的设计;
B.负责子系统或独立项目的开发管理工作;
C. 负责部分软件模块的设计与开发;
D. 负责部分模块及系统整体的单元测试工作;
E. 负责部分文档等资料的编写。
36.面向对象编程、面向对象分析、面向对象设计分别缩写为? [单元一]
答:OOP、OOA、OOD
37.Java程序员的职业发展? (说出一个方向即可) [单元二十]
答: 1、程序员》核心程序员》架构师》技术总监
2、程序员》开发组长》项目经理》开发部门经理
3、程序员》技术支持》售前/售后
4、程序员》测试工程师》高级测试工程师/质量部门经理
答:
39.简述为什么引入泛型? [单元七]
答:从使用中可以看到,存放的数据取出来用时,必须强制转化为它的实际类型;
这样不能保证程序类型的安全,增加了程序出错的机率,而且带来了麻烦;
因此java中引入了“泛型”的概念。
40.什么样的代码能称为优秀代码? [单元二十]
答:定义清晰、复杂度符合标准、整洁
41.列出Java中常用接口(三个即可)?[单元九]
list、map、set等
42.列出Java中常用包(三个即可)?[单元二]
lang、io、util等
43.列出Java中常用类(三个即可)?[单元六]
File、 String、ArrayList、HashMap、HashSet、Thread等
44. 暂停当前正在执行的线程对象,并执行其他线程需要调用的方法是?[单元十七]
yield()
方法
45.ArrayList底层使用什么实现,默认容器大小和增量分别是多少?[单元六]
底层使用Object数组实现,默认容量10,增量1.5
46.HashMap和HashTable的区别是?[单元六]
HashTable线程安全,键值不可为null;hashMap线程不安全,键值可为null。
47.HashSet底层是如何实现?[单元六]
使用hashMap实现,hashMap键作为HashSet中每个元素的值,hashMap中的值为一个Object常量。
48.进程和线程的区别是什么?[单元十七]
进程是执行着的应用程序,而线程是进程内部的一个执行序列。一个进程可以有多个线程。
49. 什么是死锁(deadlock)?[单元十七]
两个进程都在等待对方执行完毕才能继续往下执行的时候就发生了死锁。结果就是两个进程都陷入了无限的等待中。
50. 如果对象的引用被置为null,垃圾收集器是否会立即释放对象占用的内存?[单元十七]
不会,在下一个垃圾回收周期中,这个对象将是可被回收的。
三.技能测试题:(共100分,必考题10分;非必考题出3题,每生抽1题,作答时间为80分钟,每题90分)
Java源代码(*.java)-----à编译(Javac)-----àJava字节码文件---à运行(java)---àJVM--à(Windows\Linux\Unix)
参与系统架构的设计;
负责子系统或独立项目的开发管理工作;
负责部分软件模块的设计与开发;
负责部分模块及系统整体的单元测试工作;
负责部分文档等资料的编写。
3.应用Java语言基本语法自行编写代码实现继承线程并启动(要求考生以自己姓名全拼创建工程,应用倒挂的域名建立包,通过继承父类实现子线程启动)
4.应用Java语言基本语法自行编写代码实现接口并启动线程(要求考生以自己姓名全拼创建工程,应用倒挂的域名建立包,通过实现接口进而对线程进行启动)
5.应用Java语言基本语法自己定义ArrayList类实现添加删除等功能 (要求考生以自己姓名全拼创建工程,应用倒挂的域名建立包,通过自定义动态数组并对数组中元素进行增删等操作)