java200道选择判断题

发布时间:2019-12-23 10:05:00   来源:文档文库   
字号:

1.下面哪个流类属于面向字符的输入流()选择一项)

A. BufferedWriter

B. FileInputStream

C. ObjectInputStream

D. InputStreamReader

答案:D

分析:A:字符输出的缓冲流。B:字节输入流 C:对象输入流

2.要从文件”file.dat”文件中读出第10个字节到变量c中,下列哪个正确()(选择一项)

A.

FileInputStream in=new FileInputStream("file.dat");

in.skip(9);

int c=in.read();

B.

FileInputStream in=new FileInputStream("file.dat");

in.skip(10);

int c=in.read();

C.

FileInputStream in=new FileInputStream("file.dat");

int c=in.read();

D.

RandomAccessFile in=new RandomAccessFile("file.dat");

in.skip(7);

int c=in.readByte();

答案:A

分析: skip(long n)该方法中的n指的是要跳过的字节数

3.新建一个流对象,下面那个选项的代码是错误的?()

A. new BufferedWriter(new FileWriter(a.txt));

B. new BufferedReader (new FileInputStream(a.dat));

C. new GZIPOutputStream(new FileOutputStream(a.zip));

D. new ObjectInputStream(new FileInputStream(a.dat));

答案:B

分析:BufferedReader类的参数只能是Reader类型的,不能是InputStream类型。

4.下面哪个流是面向字符的输入流()

A. BufferedWriter

B. FileInputStream

C. ObjectInputStream

D. InputStreamReader

答案:D

分析:以InputStream(输入流)/OutputStream(输出流)为后缀的是字节流;

Reader(输入流)/Writer(输出流)为后缀的是字符流。

5.Java类库中,将信息写入内存的类是()

A. Java.io.FileOutputStream

B. java.ByteOutputStream

C. java.io.BufferedOutputStream

D. java,.io.DataOutputStream

答案:B

分析: ACD都是io到文件

6.下面哪个流类属于面向字符的输入流()

A. BufferedWriter

B. FileInputStream

C. ObjectInputStream

D. InputStreamReader

答案:D

解析:A是缓冲流,B是字节流,C对象

7.List类的底层数据结构是(  )

A、数组结构

B、链表结构

C、哈希表结构

D、红黑树结构

答案:A

分析:List底层是数组实现的。A符合

8.LinkedList类的特点是(  )

A、查询快

B、增删快 

C、元素不重复

D、元素自然排序

答案:B

解析:LinkedList底层是是链表实现的所以解析快

9.Vector类的特点是(  )

A、线程同步

B、线程不同步

C、增删快

D、底层是链表结构

答案:A

分析:Vector是线程安全,所以线程是同步的

10.关于迭代器说法错误的是()

A、迭代器是取出集合元素的方式

B、迭代器的hasNext()方法返回值是布尔类型

CList集合有特有迭代器

Dnext()方法将返回集合中的上一个元素.

答案:A

分析:next()方法取出元素结合

11.实现下列哪个接口,可以启用比较功能(     )

ARunnable接口

BIterator接口

CSerializable接口

DComparator接口

答案:D

分析:只有Comparator可以做比较

12.下面代码运行的结果是(     )

List al = newList();

al.add(true);

al.add(123);

al.add(abc);

System.out.println(al);

A、编译失败 

B[true,123]

C[true,123,abc];

D[abc];

答案:A

分析:newList没有分开

13.ListVector的区别说法正确的是(     )

AList是线程安全的,Vector是线程不安全

BList是线程不安全的,Vector是线程安全的

CList底层是数组结构,Vector底层是链表结构

DList底层是链表结构,Vector底层是数组结构

答案:B

分析:List是数组实现的,线程不安全

14.对于HashMap集合说法正确的是(      )

A、底层是数组结构

B、底层是链表结构

C、可以存储null值和null

D、不可以存储null值和null

答案:C

C:HashMap的键值可以同时为空

15.下面类或者接口中,不属于集合体系的是(      )

Ajava.util.Collections

Bjava.util.Map

Cjava.util.Vector

Djava.util.Hashtable

答案:C

分析:Map不属于集合体系

16、如果在排序过程中,每次均将一个待排序的记录按关键字大小 加入到前面已经有序的中的适当位置,则该排序方法称为(

A、插入排序

B、归并排序

C、冒泡排序

D、堆排序

答案:C

分析:冒泡是两两比较,C符合答案

17.以下能以键_值对的方式存储对象的接口是(      )

Ajava.util.Collection

Bjava.util.Map

Cjava.util.HashMap        

Djava.util.Set

答案:C

分析:HashMap的接口是map

18.Java中,(   )类可用于创建链表数据结构的对象。

ALinkedList

BList

CCollection

DHashMap

答案:A

分析:LinkedList底层是链表实现的

19.将集合转成数组的方法是(     )

AasList()     

BtoChar()

Cto()

Dcopy()

答案:C

分析:to是把集合转换成数组

20.使用TreeSet的无参构造创建集合对象存储元素时,该元素必须 (     )

A、实现Comparable接口   

B、有main方法

C、有getset方法

D、实现Serializable接口

答案:A

分析:实现Comparable接口重写CompareTo方法

21.JAVA中,LinkedList类和List类同属于集合框架类,下列(  )选项中的方法是LinkedList类有而List类没有的。 

A add(Object o) 

B add(int indexObject o) 

C remove(Object o) 

D removeLast()

答案:D

分析:removeLastList没有该方法

22.JAVAList类实现了可变大小的数组,便于遍历元素和随机访问元素,已知获得了List类的对象bookTypeList,则下列语句中能够实现判断列表中是否存在字符串“小说”的是(  )。 

A bookTypeList.add("小说"); 

B bookTypeList.get("小说");

C bookTypeList.contains("小说"); 

D bookTypeList.remove("小说"); 

答案:C

分析:contains方法判断是否包含某个元素

23.下面关于Collection Collections的区别正确的是()

ACollections是集合顶层接口         

BCollection是针对Collections集合操作的工具类   

CListSetMap都继承自Collection接口     

DCollections是针对Collection集合操作的工具类

答案:D

分析:map不是集合类。

24.关于泛型的说法错误的是(      )

A、泛型是JDK1.5出现的新特性 

B、泛型是一种安全机制                    

C、使用泛型避免了强制类型转换

D、使用泛型必须进行强制类型转换

答案:D

分析:泛型不必强制转换

25.下列哪种不是List集合的遍历方式 ()

AIterator迭代器实现 

B、增强for循环实现

Cget()size()方法结合实现  

Dget()length()方法结合实现

答案:D

分析:length是字符串中的方法

26.关于HashMap集合说法正确的是()

AHashMap集合是单列集合

BHashMap集合不允许存储重复键

CHashMap集合不允许存储重复值

DHashMap集合线程是安全的

答案:B

分析:H根据HashMap的特点可知。

27.import java.io.File;

public class TestFile{

public static void main(String args[]){

File file = new File(chp13/corejava.txt);

}

}请选择一个正确答案( 

Atxt 文件在系统中被创建

B、在windows 系统上运行出错,因为路径分隔符不正确

Ctxt 文件在系统中没有被创建

D、如果txt 文件已存在,则抛出一个异常

答案:C

解析:没有调用创建方法

28.关于JAVA泛型叙述不正确的是()

A、泛类参数只能是类类型不能是基本数据类型

B、泛型是java中的语法糖,只存在于编译期

CList 在运行时等价于List

D、运行时泛型避免了类型转换错误

答案:C

分析:泛型类型保持一致

29. “先进后出”指的是下面哪种数据结构

A:队列

B:栈

C:单链表

D:循环队列

答案:B

分析:队列是先进先出

30. 下列哪个是判断集合是否为空(   A

AisEmpty()

Bclear()

Clength()

Dsize()

答案:clear()是清空。Size是求长度。Length不是集合方法

31.哪种Key-Value存储对象,既能保证线程的同步,又具有高效的并发性能()。

AHashMap

BHashtable

CVector

DConcurrentHashMap

答案:D

分析:ConcurrentHashMap线程是安全的

32.List l =new List(20) 扩充了几次( )。

A0

B1

C2

D3

答案:A

分析:没有扩充

33.下面都属于线程安全的类是( )

AList

BVector

CHashMap

DLinkedList

答案:B

分析:a.c.d线程都是不安全的

34. 下面哪个流属于面向字符的输出流()

ABufferedWriter

BFileInputStream

CObjectInputStream

DInputStreamReader

答案:A

分析:A是字符流

35. 输入流将数据从文件、标准输入或其他外部输入设备中加载到内存,在 java 中其对应于抽象类()及其子类。

Ajava.io.InputStream

Bjava.io.OutputStream

Cjava.os.InputStream

Djava.os.OutputStream

答案:A

分析:A是输入流

36. 有如下需求:存储元素,保证元素在集合里没有重复,并且能够按照自然顺序进行访问,下列选项哪个接口能够满足该功能?

Ajava.util.Map

Bjava.util.Set

Cjava.util.List

Djava.util.SortedSet

答案:D

分析:map,set,list不能进行自然排序

37. 以下java程序代码,执行后的结果是()

java.util.HashMap map=new java.util.HashMap();

map.put("name",null);     

map.put("name","Jack");

System.out.println(map.size());

A0

Bnull

C1

D2

答案:C

分析:map键不能重复

38. 关于java.Util.HashSet说法正确的是()

A:集合中的元素有序

B:集合被保证为不可变

C:集合中的元素保证唯一性

D:通过唯一的键访问集合中的元素

答案:C

分析:set的特点可知。

39. 欲构造List类的一个实例,此类继承了List接口,下列______是正确的?

AListmyList=new object();

BList myList=new List();

CList myList=new List();

DList myList=new List();

答案:B

分析:List实现了list接口

40. 下列不是继承Collection接口的是()

AList

BSet

CMap

DQueue

答案:C

分析:a,c,d都实现了Collection接口

41. java.io包的File类是()

A:字符流类

B:字节流类

C:对象流类

D:不属于上面三者

答案:D

分析:fiel是操作文件类

42.下列关于注解说法错误的是( )。

A、注解使用@Interface定义。

B、默认情况下,注解可以修饰的元素包括类、方法、成员变量等。

C、使代码更加干净易读。

DJava 注解和注释一模一样。

答案:D

分析:根据题意知D

43. Util.List描述正确的是()

A、集合被保证为不可变

B、集合中的元素可按索引访问

C、集合中的元素保证唯一性

D、通过唯一的键访问集合中的元素

答案:B

分析:list有下标可以根据索引访问

44. 获得Class类的方法不包括:

A 使用Class类的forName()静态方法获得与字符串对应的Class对象,参数字符串必须是类或接口的全限定名

B 调用Object类的getClass()方法来得到Class对象

C 使用“类型名.class”获取该类型对应的Class对象

D 使用“类型名.getClass()”获取该类型对应的Class对象

答案:C

分析:根据提议得C

45. 关于反射方法public T newInstance()说法准确的是:

A:创建此 Class 对象所表示的类的一个新实例。

B:返回此 Class 对象表示的类声明的所有构造方法。

C:返回此 Class 对象表示的类声明的公共构造方法。

D:创建此 Class 对象所表示的类的一个新的属性。

答案:A

分析:根据提议得A

46. 编写线程类,要继承的父类是

AObject

BRunnable

CThread

DSerializable

EException

答案:C

分析:Runnable是接口

47.以下哪个最准确描述synchronized关键字?

A 允许两线程并行运行,而且互相通信; 

B. 保证在某时刻只有一个线程可访问方法或对象; 

C. 保证允许两个或更多处理同时开始和结束; 

D. 保证两个或更多线程同时开始和结束。

答案:B

分析:synchronized保证线程安全

48.下列哪一个类实现了线程组?()

Ajava.lang.Objict                       

Bjava.1ang.ThreadGroup  

CJava.1ang.Thread                       

Djava.1ang.Runnable

答案:B

分析:根据题意得B

49.下面程序的运行结果()(选择一项)

public static void main(String[] args) {

Thread t=new Thread(){

public void run(){

pong();

}

};

t.run();

System.out.println("ping");

}

static void pong(){

System.out.println("pong");

}

A. pingpong

B. pongping

C. pingpongpongping都有可能

D. 都不输出

答案:B

分析:启动线程需要调用start()方法,而t.run()方法,则是使用对象名.分析:启动线程需要调用start()方法,而t.run()方法,则是使用对象名.

50.下列哪个方法可用于创建一个可运行的类()

A. public class X implements Runnable{public void run() {……}}

B. public class X extends Thread{public void run() {……}}

C. public class X extends Thread{public int run() {……}}

D. public class X implements Runnable{protected void run() {……}}

答案:AB

分析: 继承Thread和实现Runable接口

51.Java多线程中,请用下面哪种方式不会使线程进入阻塞状态()

A. sleep()

B. Suspend()

C. wait()

D. yield()

答案:D

分析:yield会是线程进入就绪状态

52.关于sleep()wait(),以下描述错误的一项是()

A. sleep是线程类(Thread)的方法,waitObject类的方法

B. Sleep不释放对象锁,wait放弃对象锁

C. Sleep暂停线程、但监控状态任然保持,结束后会自动恢复

D. Wait后进入等待锁定池,只针对此对象发出notify方法后获取对象锁进入运行状态。

答案:D

分析:针对此对象的notify方法后获取对象锁并进入就绪状态,而不是运行状态。另外针对此对象的notifyAll方法后也可能获取对象锁并进入就绪状态,而不是运行状态

53.以下锁机机制中,不能保证线程安全的是()

A. Lock

B. Synchronized

C. Volatile

答案:C

分析:a,b加锁保证线程安全

54.下面所述步骤中,是创建进程做必须的步骤是()

A. 由调度程序为进程分配CPU

B. 建立一个进程控制块

C. 为线程分配内存

D. 为进程分配文件描述符

答案:B

分析:创建进程必须建立一个进程块

55.无锁化编程有哪些常见方法?()

A. 针对计数器,可以使用原子加

B. 只有一个生产者和一个消费者,那么就可以做到免锁访问环形缓冲区(Ring Buffer

C. RCURead-Copy-Update),新旧副本切换机制,对于旧副本可以采用延迟释放的做法

D. CASCompare-and-Swap),如无锁栈,无锁队列等待

答案:D

分析:A 这方法虽然不太好,但是常见

B ProducerConsumerQueue就是这个,到处都是

C linux kernel里面大量使用

D 本质上其实就是乐观锁,操作起来很困难。。单生产者多消费者或者多生产者单消费者的情况下比较常见,也不容易遇到ABA问题。

56:编写线程要继承的父类是:

A:Object B:Runnable C:Serializable D:Thread

答案:D

分析:Runnable 是实现了线程接口

57:编写线程要继承的接口是:

A:Object B:Runnable C:Serializable D:Thread

答案:B

分析:Thread是类

58:什么方法终止一个线程的运行:

A:sleep B:wait C:stop D:join

答案:C

分析:终止一个线程使用stop方法

59.Java语言中提供了一个▁线程,自动回收动态分配的内存。D

A.异步

B.消费者

C.守护

D.垃圾收集

分析:垃圾回收以后会自动分配内存

60.Java语言避免了大多数的▁错误。C

A.数组下标越界

B.算术溢出

C.内存泄露

D.非法的方法参数

分析:根据java语言特点知C

61.有三种原因可以导致线程不能运行,它们是▁。A

A.等待

B.启动

C.创建

D.挂起及由于I/O操作而阻塞

分析:根据分析得C

62.当▁方法终止时,能使线程进入死亡状态。A

Arun

BsetPrority

CYield

DSleep

分析:

BsetPrority//更改线程优先级

Cyield//暂停当前线程的执行  执行其他线程

Dsleep//线程休眠

63 下面那个集合是以键值对方式来存储数据的(A)

A: Map B:List C:LinkedList D:HashSet

64.用▁方法可以改变线程的优先级。B

Arun

BsetPrority

Cyield

DSleep

分析:setPrority设置线程优先级

65.线程通过▁▁方法可以使具有相同优先级线程获得处理器。C

Arun

BsetPrority

Cyield

DSleep

分析:根据题意得C

66.线程通过▁▁方法可以休眠一段时间,然后恢复运行。D

Arun

BsetPrority

Cyield

DSleep

分析:Sleep睡眠

67.方法resume( )负责重新开始▁▁线程的执行。D

A.被stop( )方法停止

B.被sleep( )方法停止

C.被wait( )方法停止

D.被suspend( )方法停止

分析:根据题意得D

68.▁▁方法可以用来暂时停止当前线程的运行。A

Astop( )

Bsleep( )

Cwait( )

Dsuspend( )

分析:stop停止线程

69. 请问下列哪些类是定义在java.io包中的抽象类() A

A. InputStream

B. FileOutputStream

C. PrintStream

D. FileWriter

分析:b,c,d都不是抽象类

70.Java 语言中提供了一个▁线程,自动回收动态分配的内存。 D

A 异步 

B 消费者 

C 守护 

D 垃圾收集 

分析:Java 语言中提供了一个垃圾收集线程,自动回收动态分配的内存

71.当▁方法终止时,能使线程进入死亡状态。

A run 

B setPrority 

C yield 

D sleep 

分析:.run方法终止时,能使线程进入死亡状态

72.用▁▁方法可以改变线程的优先级。 B

A run 

B setPrority 

C yield 

D sleep 

分析:用setPrority 方法可以改变线程的优先级

73.线程通过▁▁方法可以使具有相同优先级线程获得处理器。 C

A run

B setPrority 

C yield 

D sleep 

分析:.线程通过yield 方法可以使具有相同优先级线程获得处理器

74.线程通过▁▁方法可以休眠一段时间,然后恢复运行。

A run 

B setPrority 

C yield 

D sleep 

分析:线程通过sleep 方法可以休眠一段时间,然后恢复运行

75.▁▁方法使对象等待队列的第一个线程进入就绪状态。

A run 

B notify 

C yield 

D sleep 

分析:notify 方法使对象等待队列的第一个线程进入就绪状态

76.方法 resume( )负责重新开始▁▁线程的执行。

A stop( )方法停止 

B sleep( )方法停止 

C wait( )方法停止 

D suspend( )方法停止 

分析:被suppend()终止的线程被resume冲洗开始

77.▁▁方法可以用来暂时停止当前线程的运行。 B

A stop( ) 

B sleep( ) 

C run( ) 

D start() 

分析:sleep线程休眠

78List list=new List(20);中的list扩充几次()

A. 0

B. 1

C. 2

D. 3

答案:A

分析:已经指定了长度, 所以不扩容

79.ListSetMap哪个继承自Collection接口,一下说法正确的是()

A. List Map

B. Set Map

C. List Set

D. List Map Set

答案:C

分析:Map接口继承了java.lang.Object,但没有实现任何接口.

80.以下结构中,哪个具有同步功能()

A. HashMap

B. ConcurrentHashMap

C. WeakHashMap

D. TreeMap

答案:B

分析:

ACD都线程不安全,B线程安全,具有同步功能

81.以下结构中,插入性能最高的是()

A. List

B. Linkedlist

C. tor

D. Collection

答案:B

分析:Linkedlist链表实现

数组插入、删除效率差,排除A

tor不是java里面的数据结构,是一种网络路由技术;因此排除C

Collection 是集合的接口,不是某种数据结构;因此排除D

82.以下结构中,哪个最适合当作stack使用()

A. LinkedHashMap

B. LinkedHashSet

C. LinkedList

D.List

C

分析:

Stack是先进后出的线性结构;所以链表比较合适;不需要散列表的数据结构

83.下列叙述中正确的是()

A. 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

B. 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

C. 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

D. 在循环队列中元素的个数是由队头指针和队尾指针共同决定的

答案:D

分析:循环队列中元素的个数是由队首指针和队尾指针共同决定的,元素的动态变化也是通过队首指针和队尾指针来反映的,当队首等于队尾时,队列为空。

84. 方法resume( )负责重新开始哪个线程的执行?(

A. stop( )方法停止的线程

B. sleep( )方法停止的线程

C. wait( )方法停止

D. suspend( )方法停止

答案: [D;]

分析: suspend( )停止的线程可以通过resume( )负责重新开始

85. 下面哪个不能直接导致一个线程停止执行?(

A. 调用 yield() 方法

B. 在一个对象上调用 wait() 方法

C. 在一个对象上调用 notify () 方法

D. 在一个对象上调用 Interrupt() 方法

答案: [C;]

分析: notify () 通知

86. 请看下面未完成的代码

public class Foo implements Runnable {

public void run (Thread t) {

System.out.println("Running.");

}

public static void main (String[] args) {

new Thread(new Foo()).start();

}

}

结果是?(

A. 运行时抛出一个异常

B. 程序能够运行,但是没有任何输出

C. 没有实现 Runnable 接口中的方法导致编译错误

D. 程序运行后输出“Running

答案: [C;]

分析:没有实现 Runnable 接口中的方法导致编译错误

87. Java 系统提供了一个自动回收动态分配的内存的线程,它就是(

A. 异步线程

B. 消费者线程

C. 垃圾收集线程

D. 守护线程

答案: [C;]

分析:系统提供了垃圾收集线程

88. 有以下程序段:

class MyThread extends Thread {

public static void main(String args[]) {

MyThread t = new MyThread();

MyThread s = new MyThread();

t.start();

System.out.print("one.");

s.start();

System.out.print("two.");

}

public void run() {

System.out.print("Thread");

}

}

则下面正确的选项是(

A. 编译失败

B. 程序运行结果为:

one.Threadtwo.Thread

C. 程序运行结果是:

one.two.ThreaThread

D. 程序运行结果不确定

答案: [D;]

分析:程序运行结果不确定

89. 线程通过( )方法可以休眠一段时间,然后恢复运行。

A. run

B. setPrority

C. yield

D. sleep

答案: [D]

分析:sleep休眠

90. RandomAccessFile类的哪个方法可用于从指定流上读取整数?(

A. readInt

B. readLine

C. seek

D. close

答案: [A;]

分析:readInt 读整

91.

设系统中已经存在ASCII码文件“file.txt”,给定下面程序

import java.io.*;

public class Try2 {

public static void main (String[]args) throws Exception {

try {

File f = new File("file.txt");

FileOutputStream out = new FileOutputStream(f, true);

}

catch (IOException e) {}

}

}

则结果是(

A. 不能通过编译

B. 程序可以通过编译,运行后文件“file.txt”没有任何改变

C. 程序可以通过编译,运行后文件“file.txt”的长度变为0

D. 由于文件 f 没有关闭,所以运行程序时会有一个异常产生

答案: [B;]

分析: 运行后文件“file.txt”没有任何改变

92. 下面哪个基于Unicode字符的输出流?(

A. Reader

B. Writer

C. InputStream

D. OutputStream

答案: [B]

分析:B是字符输出流

93.

关于 Java 流的叙述错误的是(

A. 流是 Java 语言处理 I/O 的方式

B. 从概念上讲,流就是一系列的字节序列或字符序列

C. 引入流的概念的目的是使得在处理不同的数据输入输出时编程更加方便

D. 流是Java惟一的非面向对象的语言构成

答案: [D]

分析:流不是java唯一的

94.下列说法中错误的一项是(A

A.线程就是程序

B.线程是一个程序的单个执行流

c.多线程是指一个程序的多个执行流

D.多线程用于实现并发。

分析:线程不是程序

95.下列哪个一个操作不能使线程从等待阻塞状态进入对象阻塞状态(D

A.等待阴塞状态下的线程被notify()

B.等待阻塞状态下的纯种被interrput()中断

C.等待时间到

D.等待阻塞状态下的线程调用wait()方法

分析:wait可以让线程阻塞

96.下列哪个方法可以使线程从运行状态进入其他阻塞状态(A

A.sleep B.wait C.yield D.start

分析:A是睡眠

97. 读写原始数据,一般采用什么流?(A

A InputStream

B DataInputStream

C ObjectOutputStream

D BufferedInputStream

分析:InputStream是输入流

98. 为了提高读写性能,可以采用什么流?( D

A InputStream

B DataInputStream

C ObjectInputStream

D BufferedInputStream

分析:BufferedInputStream提高了效率

99. 能指定字符编码的I/O流类型是:(B

A Reader

B InputStreamReader

C BufferedReader

D Writer

分析:B可以

100. File类型中定义了什么方法来判断一个文件是否存在?( D

A createNewFile

B renameTo

C delete

D exists

分析:d是判断文件是否存在

101. File类型中定义了什么方法来创建目录?( D

A createNewFile

B exists

C isDirectory

D mkdir

分析:d是创建目录

判断题:

1、Set集合不是通过键值对的方式来存储对象的。对

分析:map通过键值对存储对象

2、集合中不能存放基本数据类型,而只能存放引用数据类型。对

分析:泛型参数类型必须是引用类型

3HashMap的键和值可以重复。错

分析:HashMap键不允许重复,值可以重复

3、对象序列化必须要实现Serializable接口。对。

分析:对象序列化必须要实现Serializable接口

5ListLinkedList的接口是List。对。分析:ListLinkedList实现了List接口

6、线程调用run方法就可以运行。错。分析:调用start方法启动

7List集合存储的数据是无序的。错。分析:list是有序的

8Set集合存储的数据是有序的。错。分析,set是无序的

9Map集合值可以重复。对。Map值允许重复

10TreeSet存储对象时,

该对象必须实现Comparable接口,重写CompareTo比较方法。对。分析。TreeSet是二叉树方式存储数据,所以必须实现Comparable接口,重写CompareTo方法

11、字节流可以转换成字符流,字符流也可以转换成字节流。错。

分析:字符流也不能转换成字节流

12、缓冲流可以提高io的效率。对。解析:缓冲流可以提高io的效率

13、获取List集合大小的长度是length。错。解析:size

14List集合数据可以重复。对。分析:List集合数据可以重复

15set存储数据不可以重复。对。分析:set存储数据不可以重复

16File调用mkdir创建新的文件。错。解析:调用creatNewFile()

17stop是线程阻塞状态。错。线程结束

18start是启动线程。对

分析:start是启动线程

19、线程继承继承Thead类实现Runnable接口。对

分析:线程继承继承Thead类实现Runnable接口

20、线程死锁可以解决。错。分析:死锁不能解决,只能避免。

21sleepwait都是线程阻塞状态。对

分析:sleepwait都是线程阻塞状态

22sleepwait都需要被唤醒。错,wait需要被唤醒,sleep不需要

23、在Java程序运行过程中,至少有一个线程在运行。

对,因为当所有线程都终止时,程序才会终止。

24、调用Thread类的run()方法后,新的线程就会启动。

错,启动线程应当使用Thread类的start()方法。

25start()方法和run()方法声明在Runnable接口中。

错,start()方法声明在Thread类中,run()方法声明在Runnable接口中,Thread实现了Runnable接口。

26、多个线程可能会调用同一个实例的方法。

对,这是为什么需要进行多线程设计的原因。

27、多个线程可能会调用Thread类的一个实例的方法。

对,Thread类的实例本质上和其他类并没有不同。

28Thread.sleep()方法执行后,在指定时间内所有线程都会暂停。

错,暂停的只有调用sleep()的线程,即当前线程。

29、某个线程运行synchronized方法时,其他所有线程都会停止运行。

错,只会导致其他想要这个对象的锁的线程。

30、执行Thread.sleep()方法后的线程仅在指定时间内待在等待队列中。

错,sleep()方法不会导致线程进入等待队列。

31wait()方法的调用语句必须写在synchronized方法中。

错,还可以写在synchronized同步块中,以及它们内部调用的任何方法中,只要在调用时获得了锁即可。

32notifyAll()方法是Object类的实例方法。

对。分析:wait(),notify(),notifyAll()都是Object类的实例方法。

33、如果线程死亡,它便不能运行。(T)解析:如果线程死亡,它便不能运行

34、在Java中,高优先级的可运行线程会抢占低优先级线程。(

解析:在Java中,高优先级的可运行线程会抢占低优先级线程

35、线程可以用yield方法使低优先级的线程运行。(F

解析:一个线程可以调用yield方法使其他线程有机会运行

36、实现线程的方式可以继承Thread类实现Runnable接口。对

分析:实现线程的方式可以继承Thread类实现Runnable接口

37、程序开发者必须创建一个线程去管理内存的分配。(T

分析:程序开发者必须创建一个线程去管理内存的分配。

38、一个线程在调用它的start方法,之前,该线程将一直处于出生期。( T

分析:一个线程在调用它的start方法,之前,该线程将一直处于出生期

39、当调用一个正在进行线程的stop( )方法时,该线程便会进入休眠状态。(F

分析:当调用一个正在进行线程的stop( )方法时,线程会终止

40、一个线程可以调用yield方法使其他线程有机会运行。(T

分析:一个线程可以调用yield方法使其他线程有机会运行。

41 多线程没有安全问题(F)

分析:多线程会造成线程安全问题

42、多线程安全问题的解决方案可以使用Lock提供的具体的锁对象操作(T)

分析:多线程安全问题的解决方案可以使用Lock提供的具体的锁对象操作

43 Stop()方法是终止当前线程的一种状态(T)

分析: Stop()方法是终止当前线程的死亡状态。

44set可以用普通循环遍历。错。解析:set没有下标

45list可用普通循环遍历。对。解析:list有下标,所以可以

46Set集合是通过键值对的方式来存储对象的。错。解析:map是通过键值对存储数据的

47、集合中不能存放基本数据类型,而只能存放引用数据类型。对

分析:对,泛型参数类型只能是引用类型

48、假设文件”a.txt”的长度为100字节,那么当正常运行语句”OutputStream f=new FileOutputStream(new File(a.txt));”之后,文件”a.txt”的长度变为0字节。( T

解析:因为没有输出东西

49InutStreamOutputStream属于字符流( F

分析:属于字节流。

50、实现Serializable接口的可以被序列化和反序列化。该接口中没有定义抽象方法,也没有定义常量。( T

分析:实现Serializable接口的可以被序列化和反序列化。

51、序列化是指将字节序列转换成Java对象,只有实现了Serializable接口的类的对象才可以被序列化。( F

分析:序列化是指对象序列化而不是字节转换成java对象

52ListLinkedList都实现了Collecttion接口。错。解析:实现了list接口

53、格式化日期可以用SimpleDateFormat类。对。

解析。式化日期可以用SimpleDateFormat

54、字符串比较用equals方法比较。对。解析。字符串比较用equals方法比较

55RunTimeExceptionException的子类。对。

解析:RunTimeExceptionException的子类

56、用final修饰的变量可以修改值。错。解析:不可以改变

57、非静态方法可以在静态方法中使用。错。解析:非静态方法不能在静态方法中使用

58、非静态方法可以直接通过类名调用。错。解析:非静态方法不能直接通过类名调用

59char的包装列是Char。错。解析:包装类chrarcter

60、集合中泛型的参数类型必须是引用类型。对。

解析:集合中泛型的参数类型必须是引用类型

61、集合的长度可以随意改变。对。解析:集合的长度可以随意改变

62Map可以存放list对象。对。解析:Map可以存放list对象

63、使用synchronize关键字一定可以保证线程安全。错。解析。不能保证线程安全

64list使用add方法添加一个元素。对

解析:list使用add方法添加一个元素。

65list使用remove(2)。则删除元素2。错。解析:删除下标元素是2的元素

66size()方法可以求list集合的大小。对。解析size()方法可以求list集合的大小

67listretainAll求的是交集。对。解析:listretainAll求的是交集

68ListLinkedList增删快。错。解析:ListLinkedList增删慢

69ListLinkedList查询快。对。解析:ListLinkedList查询慢

70List底层是用数组实现的。对。解析:List底层是用数组实现的

71、可以通过反射的方式获取对象的 属性和方法。对。

解析:可以通过反射的方式获取对象的 属性和方法

72map存储数据是有序的。错。解析:map存储数据是无序的。

73map的键可以为空。对。解析:map的键可以为空。

74map是通过键值对来存储数据的。对。解析:map是通过键值对来存储数据的。

75map是通过键获取值的。对。解析:map是通过键获取值的

76、线程死亡还可以在复活。错。解析:线程死亡以后无法复活。

77、调用run方法可以启动线程。错。解析:调用start方法启动

78map不可以用迭代器遍历。错。解析。可以用迭代器遍历

79notifyAll可以唤醒所有的等待睡眠的线程。对。

解析:notifyAll可以唤醒所有的等待睡眠的线程。

80List线程不是安全的,LinkedLis线程是安全的。错

解析:两个线程都不安全

81isEmpty()判断集合是否为空。对。解析:isEmpty()判断集合是否为空

82clear()判断集合是否为空。错。解析:清空集合的。

83Map不允许键重复。对。解析:Map不允许键重复

84ioInputStream是一个接口。错。解析:InputStream是抽象类

85FileReader是一个抽象类。错。解析:FileReader是普通类。

86BufferedInputStream提高了字节流的读的效率。对

解析:缓冲流提高了字节流的读的效率.

87List,set,map都是Collection的子类。错。解析:map不是collection的子类

88map通过keySet方法获取所有键的集合。对

解析:map通过keySet方法获取所有键的集合。

89map键和值都可以为空。对。解析:map键和值都可以为空

90Set可以调用to方法,把集合转换成数组。对

解析:Set可以调用to方法,把集合转换成数组

91Collections.sort() 可以对Set排序。错

解析:Collections.sort() 可以对list排序

92map可以调用replace()通过键方法替换值。对

解析:map可以调用replace()通过键方法替换值。

93map通过containsKey()方法判断是否包含键。对

解析:map通过containsKey()方法判断是否包含键。

94map通过containsValue()方法判断是否包含值。对

解析:map通过containsValue()方法判断是否包含值。

95map调用remove()移除元素。对

解析:map调用remove()移除元素。

96、可以通过反射创建对象。对

解析:可以通过反射创建对象。

97、对象序列化使用DataInputStream读对象。错。解析使用Object写对象

98FileReaderFileWriter都是抽象类。错。解析:两个都普通java

99InputStreamOutputStream都是抽象类。对。

解析:InputStreamOutputStream都是抽象类。

100map通过add()添加元素。错。解析通过put方法

本文来源:https://www.2haoxitong.net/k/doc/fb0a6c8d73fe910ef12d2af90242a8956becaa23.html

《java200道选择判断题.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式