JAVA全套多选题201-295

文章详细介绍了Java中的迭代器使用,包括其功能、方法以及在List集合中的应用。此外,还涵盖了Java的泛型特性,如泛型类、泛型接口及其优势。同时,文章讨论了Java中的线程操作,包括线程的创建、状态转换、线程安全和同步机制。另外,还涉及到了IO流的基本概念和操作,如字节流、字符流以及文件读写。
摘要由CSDN通过智能技术生成

201 关于迭代器(Iterator),以下说法中错误的是(DE)

A、迭代器是从集合中取出元素,用来遍历的方式

B、迭代器的hashNext()方法的返回值是boolean类型

C、List集合有特有迭代器

D、next()方法将返回集合中的上一个元素 E、Iterator的遍历过程中,主要有两个属性进行控制:value属性表示遍历是否结束;done属性表示 当前成员的值

202 下列关于java的集合迭代器Iterator的描述错误的是(BD)

A、接口Iterator中定义了一个方法,名称为iterator,需要返回一个Iterator引用

B、next()方法将返回集合中的上一个元素

C、Iterator接口定义两个方法,hashNext、next。前者用来测试是否有更多元素,后者用来得到集合元素

D、for语句不适用于集合的遍历,即使集合实现了Iterable接口

203 List集合的遍历方式有如下哪几种 (   ABC )        

A、Iterator迭代器实现  B、增强for循环实现 C、get()和size()方法结合实现   D、get()和length()方法结合实现

204 以下关于foreach说法中,哪些是正确的(ABCD)

A、foreach是一种更加简洁的for循环,也是增强for循环                                                          

B、foreach可以对List                                           

C、Set数组进行遍历                                            

D、foreach的出现,简化了书写

205 迭代器标签包括(CD)

A、c:if B、c:choose C、c:forEach D、c:forTokens

206 下列选项中,可以被<c:forEach>标签迭代的是(ABCD)

A、Set集合 B、List集合 C、Map集合 D、数组

207 关于foreach循环的特点,以下说法哪些是正确的(ABD)

A、foreach循环在遍历集合时,无需获得容器的长度  

B、foreach循环在遍历集合时,无需循环条件,也无需迭代语句

C、foreach循环在遍历集合时非常繁琐

D、foreach循环的语法格式为:for(容器中元素类型   临时变量  :容器变量)             

208 下列关于泛型描述正确的是(ABC)

A、通过泛型,可以提供程序代码的复用性  B、应用泛型 可以减少数据的类型转换,可以提高代码运行效率                                         C、泛型是java语言的新特征              D、泛型是java语言的新数据类型  

209 对于泛型类(含集合类),以下说法正确的是(ABCD)

A、泛型不同的引用不能相互赋值 B、加入集合中的对象类型必须与指定的泛型类型一致

C、静态方法中不能使用类的泛型 D、对象实例化时不指定泛型,默认为Object

210 下列关于泛型类的描述中,错误的是(CD)

A、带类型参数的类被称为泛型类 B、类型形参可指代某种具体的数据类型

C、使用泛型时可省略类型实参 D、泛型就是Object类型C

211 Java泛型机制的有点有(ABC)

A、可以使代码编写变得简单 B、比较安全  C、消除对Object类的强制类型转换 D、使得代码运行性能增强

212 关于java.util.Collections类的叙述,以下哪个为真(BD)

A、Collections类实现Collection接口

B、Collections类提供有sort方法用于对列表的排序

C、Collections类的addALL方法每次只能加1个数据到集合中

D、Collections中shuffle方法将集合中的元素顺序打乱。

213 下列关于Collections类的描述中,哪些是正确的(ABC)

A、专门用于操作集合的类 B、操作集合的方法都是静态方法

C、Collections类不实现Collection接口 D、Collections类没有构造方法

214 以下属于Collections工具类常用方法的有(ABCD)

A、static void reverse(List list); B、static void shuffle(List list);

C、static void swap(List list,int i,int j); D、static Object max(Collection col)

215 下面关于 Collection 和 Collections 的区别错误的是(ABC )

A、Collections 是集合顶层接口 B、Collection 是针对 Collections 集合操作的工具类

C、List、Set、Map都继承自Collection接口 D、Collections是针对Collection 集合操作的工具类

216 Arrays常用方法有(ABCDE)

A、指定范围排序 B、toString C、填充数组 D、数组复制 E、数组转List

217 Arrays工具类中声明数组正确的是(ACD)

A、String[] aArray = new String[5];  B、String aArray={"a","b","c","d"}

C、String[] cArray ={"a","b","c","d","e"};  D、String[] bArray = {"a","b","c", "d", "e"};

218 Arrays包含了一些方法用来直接操作数组,可实现数组的哪些操作(ABCD)

A、赋值 B、排序 C、比较 D、查找

219 Arrays类的功能包括(ABCD)

A、给数组赋值 B、对数组排序 C、比较数组 D、查找数组元素

220 下面关于IO流的说法正确的是(ABC)

A、IO流可以分为字节流和字符流 B、FileReader和FileWriter是专门用于读取和写入文本文件的

C、顶层类有InputStream和OutputStream D、顶层类有Reader和Writer,他们多数接口

221 下列关于IO流的描述中,正确的是(ABCD)

A、按照操作数据的不同,可以分为字节流和字符流 B、按照数据传输方向的不同又可分为输入流和输出流

C、字节流的输入输出分别用java.io.InputStream和java.io,OutputStream表示 D、字符流的输入输出流分别用java.io.Reader和java.io.Writer表示

222 能指定字符编码的I/O流类型是:( BH)

A、Reader B、InputStreamReader C、BufferedReader D、Writer

E、PrintWriter F、ObjectInputStream G、ObjectOutputStream H、OutputStreamWriter

223 对文本文件操作用什么I/O流?( AD)

A、FileReader B、FileInputStream C、RandomAccessFile D、FileWriter

224 下面关于字节流读写文件的说法错误的是(BC)

A、针对文件的读写,JDK专门提供两个类,分别是FileInputStream和FileOutputStream

B、FileInputStream是操作文件的字节输入流,专门用于向文件中写入数据

C、在读取文件数据时,如果相应目录文件不存在,否读取数据为空

D、通过FileOutputStream写数据时,会自动创建文件,并将数据写入文件

225 在IO包中,字节流的输入输出流分别用(C)和(D)表示

A、java.io.Reader B、java.io.Writer C、java.io.InputStream D、java.io.OutputStream

226 二进制文件读写利用____A___,文本文件读写利用__B____

A、字节流 B、字符流 C、数据流 D、控制流

227 流可以分为字节流/字符流,输入流/输出流,具有缓冲的流,按这种方式组合,下面哪些是对的流类(ABCD)A、输入字节流类 B、输出字符流类 C、具有缓冲的字节输入流类 D、具有缓冲的字符输入流类

228 读写原始数据,一般采用什么流?(AC)

A、InputStream B、DataInputStream C、OutputStream D、BufferedInputStream

229 下面那些流是字符流(ABC)

A、PrintWriter B、BufferedReader C、OutputStreamWriter D、ObjectOutputStream

230 对各种基本数据类型和String类型的读写,采用什么流?(AD )

A、DataInputStream B、BufferedReader C、PrintWriter

D、DataOutputStream E、ObjectInputStream F、ObjectOutputStream

231 为了提高读写性能,可以采用什么流?( DF)

A、InputStream B、DataInputStream C、BufferedReader

D、BufferedInputStream E、OutputStream F、BufferedOutputStream

232 下列方法中可以用来创建一个新线程的是(AD)

A、实现java.lang.Runnable接口并重写run()方法 B、实现java.lang.Runnable接口并重写start()方法

C、实现java.lang.Thread类并实现start()方法 D、继承java.lang.Thread类并重写run()方法

233 以下哪种方法可以实现多线程(AB )

A、继承Thread类(只能单继承缺点,重写run方法) B、实现 Runnable接口(可以多继承,现实run方法)

C、实现Callable接口 D、实现run方法

234 下列关于线程的优先级说法中,正确的是( BD)

A、线程的优先级是不能改变的

B、线程的优先级是在创建线程时设置的

C、在创建线程后的任何时候都可以重新设置

D、线程的优先级的范围在1-10之间

235 下面关于线程的说法正确的是(CD)

A、线程内部仍有可能存在并行的控制流。

B、多线程是指在一个进程或多个进程中的多个并行的指令序列。

C、多线程共享同一进程。

D、多个浏览器同时访问同一个JavaWeb应用,将在JavaWeb服务器上引发多个线程。

236 关于线程的创建过程,下面四种说法正确的有哪些(AC)

A、定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法

B、定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法

C、定义一个实现Runnable 接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法

D、定义一个实现Runnable 接口的类并实现run()方法,创建该类对象,然后调用run()方法

237 有关线程的叙述(BCD)是对的

A、一旦一个线程被创建,它就立即开始运行。

B、使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。

C、如果复用一个线程,可以调用再次调用start方法,使已经结束的线程复活。

D、join方法,可使当前线程阻塞,直到thread线程运行结束

238 用Runnable实现多线程与用Thread实现多线程相比,下列说法正确的是(ABCD)

A、适合多个相同程序代码的线程去处理同一资源的情况

B、可以避免由于JAVA类的单继承带来的局限

C、创建子线程后,不能用子线程对象调用run方法启动线程

D、创建Runnable接口实现类时,必须重写run方法

239 假设有两个线程Thread1和Thread2,并且Thread1正在执行,以下哪些分可以让程序转而执行Thread2线程(AD)

A、调用Thread1的sleep(long mills) B、调用Thread1的yieId()方法

C、调用Thread1的join()方法 D、调用Thread2的join()方法

240 下列关于Thread类中的join()方法说法错误的是(BC)

A、调用join()方法可以使其他线程正在运行状态变成阻塞状态 B、join()方法可以通过Thread类名直接访问

C、子类中可以重写join()方法 D、join()方法的作用是等待调用该方法的线程结束后才能执行

241 通过继承Thread类和实现Runnable接口实现线程的方式特定,说法正确的有(ABD)

A、实现接口的方式灵活度高,它可以有其它父类 B、通过从Thread类派生,线程内可以调用Thread类的方法

C、不管哪种方式,都需要调用start()方法来开启动线程类 D、从Thread派生的方式,不需要重写run方法

242 关于Runnable接口,错误的说法是 (AB )

A、实现了Thread接口的类仍可以继承其他父类

B、创建实现Runnable 关于Runnable接口的类后,就可以调用Start方法启动线程

C、Runnable接口提供了通过线程执行程序的最基本接口

D、Runnable只定义了一个run方法

243 Thread类和Runnable接口中共有的方法是(ABC),只有Thread类中有而Runnable接口中没有的方法是(),因此通过实现Runnable接口创建的线程类要想启动线程,必须在程序在中创建()类的对象

A、run() B、start() C、Thread D、join()

244 用Runnable实现的多线程与用Thread实现的多线程有什么不同,下列说法正确的是(ABCD)

A、适合多个相同程序代码的线程去处理同一资源的情况

B、可以避免由于JAVA类的单继承带来的局限

C、创建子线程后,不能用子线程对象调用run方法启动线程

D、创建Runnable接口实现类时,必须重写run方法

245 关于Runnable接口,正确的说法是(BDE)

A、实现了Runnable接口的类的对象就可以用自身的start方法启动

B、Runnable接口提供通过线程执行程序的最基本接口

C、Thread类实现了Runnable接口

D、Runnable只定义了一个run方法

E、可以将实现了Runnable接口的类的对象传递给Thread类构造函数

246 下列关于线程状态转换的描述中,错误的是(AB)

A、死亡状态下的线程调用start()方法可以使其重新进入就绪状态

B、运行状态下的线程调用run()方法可以使其进入到等待状态

C、线程获得CPU使用权后会从就绪状态转换成运行状态

D、线程失去CPU使用权后会从运行状态转换成就绪状态

247 下面关于线程状态及转换的描述,正确的是(ACD)

A、线程只能从新建状态转换到就绪状态,反之则不能

B、当线程对象调用了start()方法后,该线程就进入运行状态

C、线程从阻塞状态只能进入就绪状态,而不能直接进入运行状态

D、一旦进入死亡状态,线程将不再拥有运行的资格,也不能再转换到其他状态

248 线程的生命周期有哪几种(ABCEF)

A、新建状态 B、可运行状态 C、运行状态  D、恢复状态 E、阻塞状态 F、终止状态

249 下列不是线程的生命周期的是(BC)

A、新建状态 B、恢复状态 C、干扰状态 D、运行状态

250 下列选项中说法错误的是(ABC)

A、调用suspend()方法暂停自己的线程,也可以自行调用resume()方法恢复自身  

B、、一个暂时终止运行的线程,在排除了终止原因后直接运行  

C、线程的优先级是不能改变的

D、在创建线程后的任何时候都可以设置

251 关于线程调度的方式有哪几种(ABC)

A、线程休眠 B、 设置线程优先级 C、线程让步 D、线程

252 关于线程优先级的说法正确的是(CD)

A、一个暂时终止运行的线程,在排除了终止原因后直接运行  

B、调用suspend()方法暂停自己的线程,也可以自行调用resume()方法恢复自身

C、在单线程系统中调度对象是进程,在多线程系统中调度对象是线程

D、一个正在执行的线程使用yield()方法将处理器让出给同优先级的其他线程

253 线程调度的几种方式分别为使(ABCD)

A、设置线程优先级 B、线程休眠 C、线程让步 D、线程插队

254 JAVA线程阻塞的方法有什么(BC)

A、join() B、sleep C、wait() D、yieId()

255 下列选项中线程的调度有什么(ABC)

A、线程休眠 B、线程让步 C、线程插队 D线程通过

256 线程休眠的时间单位是(BD)

A、分 B、毫秒 C、秒 D、纳秒

257 通过______A_方法,阻塞当前线程,先完成被___C____法加入的插入的这个线程,之后再完成其他线程。

A、join() B、sleep C、join() D、yieId()

258 通常不采用______DE___方法来解除死锁。

A、终止一个死锁进程 B、终止所有死锁进程 C、从死锁进程处抢夺资源

D、从非死锁进程处抢夺资源 E、终止系统所有进程

259 java中造成死锁的原因是____BD_____

A、内存容量太小 B、系统进程数量太多,系统资源分配不当 C、CPU速度太慢

D、进程推进顺序不合适 E、外存容量太小

260 对于死锁的描述,下面四种说法正确有哪些(ABD)

A、当两个线程互相等待对方释放同步锁时会发生死锁 B、Java虚拟机没有检测和处理死锁的措施

C、一旦出现死锁,程序会发生异常 D、处于死锁状态的线程处于阻塞状态,无法继续运行

261 死锁避免方法的限制主要包括(BCD)

A、需要抢占、回滚进程 B、提前声明最大资源请求 C、涉及进程独立且无同步需要

D、分配资源数目固定 E、对资源分配限制少

262 通常使用的死锁防止策略有_____BCE____。

A、动态分配资源 B、静态分配资源 C、按序分配资源 D、非剥夺式分配资源 E、剥夺式分配资源

263 在字节流中我们可以使用带缓冲区的输入输出流来提高读写效率,那么在字符流中,我们需要使用带缓冲区的输入输出字符流需要用到(C)类和(D)类

A、FileReader B、FileWriter C、BufferedReader D、BufferedWriter

264 下面关于字符缓存流的说法正确的是(AC)

A、字符流同样提供了带缓冲区的包装流,分别是BufferedReader和BufferedWriter

B、BufferedReader中有一个重要的方法nextLine(),该方法用于一次读取一行文本

C、使用BufferedReader读取一行后,可以使用newLine()发的写入换行

D、以上说法都正确

265 下面关于字节流缓冲区的描述中,哪些是错误的(ACD)

A、字节流缓冲区的大小是1024  B、字节流缓冲区的大小是可以自定义设置的

C、字节流缓冲区只能用在文件输出流中 D、字节流缓冲区只能用在文件输入流中

266 下面关于流和缓冲区的说法正确的是(AB)

A、流缓冲区实际是一块内存空间,作为流和物理文件的媒介 B、streambuf构成了ios(输入输出流)的缓存部分

C、C++流是指信息由内存向外部设备输出的过程 D、C++流是指信息由外部设备箱内存输入的过程

267 下面关于File类的常用方法说法正确的是(BCD)

A、delete():直接删除这个抽象路径名表示的文件或目录(不会出现异常)

B、list():返回一个字符串数组,该字符串命名此抽象路径名表示的目录中的文件或目录

C、mkdir():创建由这个抽象路径名命名的目录

D、isDirectory():测试这个抽象路径名表示的文件是否为目录

268 File类的对象可以(ABD)

A、指向一个路径 B、指向一个文件 C、读写文件 D、获取文件是否可读或者可写

269 File类的对象不可以是(CD)

A、创建文件 B、获取文件读写权限 C、长度 D、读写文件

270 以下哪些属于File类的功能(BC)

A、改变当前目录 B、返回根目录的名字 C、删除文件 D、读取文件中的数据

271 以下关于File 类说法正确的是( ABC)

A、一个File 对象代表了操作系统中的一个文件或者文件夹

B、可以使用File 对象创建和删除一个文件

C、可以使用File 对象创建和删除一个文件夹

D、当一个File 对象被垃圾回收时,系统上对应的文件或文件夹也被删除

272 关于对象序列化说法错误的是(BC)

A、实现序列化的对象必须实现Serializable接口

B、实现序列化的对象必须自定义序列号

C、ObjectOutputStream中的Object()方法可以将对象写出

D、ObjectInputStream中的readObject()方法可以读取对象

273 对象的序列化主要有两种用途(AB)

A、把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;

B、在网络上传送对象的字节序列。

C、把得到的字节序列写到一个目标输出流中。

D、通过对象输出流的writeObject()方法写对象。

274 创建对象序列化包括如下步骤(AC)

A、创建一个对象输出流,它可以包装一个其他类型的目标输出流,如文件输出流;

B、 在网络上传送对象的字节序列。

C、通过对象输出流的write Object()方法写对象。

D、实现Externalizable接口

275 下面哪些行为属于序列化或反序列化行为(ABC)

A、JavaWeb服务器将html输出至浏览器。 B、将字符串打印的控制台。

C、从文件中读取Java对象  D、变量引用了一个新创建的对象。

276 缓冲区的存取相对或绝对用什么属性代替(AB)

A、Get B、put C、Aoo D、sdf

277 下列选项中缓冲区的类型有什么(AB)

A、全缓冲 B、行缓冲 C、内存区 D、标记

278 下列哪些情况会引发缓冲区的刷新(AB)

A.缓冲区满时 B、关闭文件 C、加载文件 D、服务器

279 缓冲区的4个属性有什么(ACD)

A、容量 B、读写 C、位置 D、标记

280 线程的实现有哪两种方式(AB)

A、继承Thread类 B、实现Runnable接口 C、继承Runnable类 D、实现Thread接口

281 下列关于线程状态正确的是(AB)

A、当程序使用new关键字创建了一个线程之后,该线程就处于新建状态,此时仅由JVM为其分配内存,并初始化其成员变量的值

B、线程对象调用了start()方法之后,该线程处于就绪状态。Java虚拟机会为其创建方法调用栈和程序计数器,等待调度运行

C、线程的优先级是不能改变的  

D、让多个线程同时使用一个资源  

282 对于线程的生命周期,下面四种说法正确的有哪些(BC)

A、调用了线程的start()方法,该线程就进入运行状态 (就绪,还要获得CPU使用权)

B、线程的run()方法运行结束或被未catch的Interrupted Exception等异常终结,那么该线程进入死亡状态

C、线程进入死亡状态,但是该线程对象仍然是一个Thread对象,在没有被垃圾回收器回收之前仍可以像引用其它对象一样引用它

D、线程进入死亡状态后,调用它的start()方法仍然可以重新启动

283 下列选项中,哪些是线程的的实现方法(AB)

A、初始状态 B、可执行状态 C、优化状态 D、数据状态

284 Thread类中,可以使线程休眠的方法是(AC)

A、sleep() B、notify() C、wait() D、run()

285 什么原因导致线程停止执行(ABC)

A、有更高优先级的线程开始执行 B、线程调用了wait()方法

C、线程调用了yieId()方法 D、线程调用了pause()方法

286 以下哪些方法可以用于将一个正在执行的线程停止执行(AC)

A、wait()   B、notify()   C、yield() D、suspend()

287 下面关于线程休眠的说法正确的是(ABCD)

A、sleep()需指定休眠时间 ,线程实际休眠的时间会大于或等于该休眠时间

B、调用sleep()方法会使当前线程会从运行状态进入到休眠(阻塞)状态

C、当前线程调用sleep()方法只能控制当前正在运行的线程休眠,而不能控制其他线程休眠

D、当休眠时间结束后,线程就会返回到就绪状态,而不是立即开始执行

288 下面集合中属于线程安全的类是( BD  )

A、ArrayList    B、Vector C、HashMap  D、Hashtable

289 下列关于线程安全类的描述正确的是(ABD)

A、线程安全类运用了Java语言的同步机制

B、线程安全类运用了Java语言的等待-唤醒机制

C、多线程并发访问线程安全类的对象时需要添加Java同步机制

D、多线程并发访问线程安全类的对象时不需要添加Java同步机制

290 在集合框架中下面不属于线程的安全类的是(AB)

A、Vector B、Hashtable C、ArrayList  D、HashMap

291 以下哪些java容器是线程安全的(AD),哪些是天然支持并发的()

A、Vector B、ArrayList C、HashSet D、ConcurrentHashMap E、EnumSet

292 下面哪些是实现线程同步的方式(AB )

A、Synchronized 关键字修饰方法 B、Synchronized修饰代码块

C、调用wait方法协调线程 D、调用notify方协调线程

293 下面四个选项中,对线程同步的目的描述正确的有哪些(AB)

A、锁定资源,使同一时刻只有一个线程去访问它,防止多个线程操作同一个资源引发错误

B、提高线程的执行效率

C、让线程独占一个资源

D、让多个线程同时使用一个资源

294 同步代码块的作用是(AB)

A、保证多线程访问数据的安全 B、保证同步代码块中只有一个线程运行

C、同步代码块可以避免线程的随机性 D、同步代码块提高了线程的运行速度

295 下面关于线程同步的说法正确的是(ABC)  

A、线程同步是指在访问共享资源时多个线程相互间的协调和控制

B、通过线程同步可以实现多线程对共享资源有序可控访问

C、通过线程同步可以保障共享资源数据安全、避免死锁。

D、通过线程同步可以大大提高线程并发性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小孙同学1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值