2021Java最新二级试题

一个死锁进程一定是在___。

A.就绪状态

B.阻塞状态

C.执行状态

D.后备状态


正确答案:B


( 27 )下列叙述中,错误的是

A ) Java 中没有检测和避免死锁的专门机制

B )程序中多个线程互相等待对方持有的锁,司能形成死锁

C )为避免死锁, Java 程序中可先定义获得锁的顺序,解锁是按加锁的反序释放

D )为避免死锁, Java 程序中可先定义获得锁的顺序,解锁是按加锁的正序释放


正确答案:D

 


下列叙述中,错误的是

A.Java中没有检测和避免死锁的专门机制

B.程序中多个线程互相等待对方持有的锁,可能形成死锁

C.为避免死锁,Java程序中可先定义获得锁的顺序,解锁是按加锁的反序释放

D.为避免死锁,Java程序中可先定义获得锁的顺序,解锁是按加锁的正序释放


正确答案:D
解析:本题考查Java线程的同步机制。如果程序中多个线程互相等待对方的持有的锁,而在得到对方锁之前都不会释放自己的锁,这就造成了都想得到资源而又都得不到,线程小能继续运行,这就是死锁。Java中没有检测与避免死锁的专门机制,因此完全由程序进行控制,防止死锁的发生。应用程序可以采用的一般做法是:如果程序要访问多个共享数据,则要首先从全局考虑定义一个获得锁的顺序,并且在整个程序中都遵守这个顺序。释放锁时,要按照加锁的反序释放。经过上述解释,可知选项D的说法是错误的,故正确答案是D。


对于死锁的描述,下面四种说法不正确的是( )。

A.当两个线程互相等待对方释放同步锁时会发生死锁

B.Java虚拟机没有检测和处理死锁的措施

C.一旦出现死锁,程序会发生异常

D.处于死锁状态的线程处于阻塞状态,无法继续运行


参考答案:C


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

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

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

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

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


参考答案:ABC


2021Java最新二级试题卷面总分:100分答题时间:60分钟试卷题量:25题练习次数:0?次一、多选题(共25题,共100分)1.在以下哪种情况下,线程进入就绪状态? A.线程调用了sleep()方法时 B.线程调用了join()方法(终止) C.线程调用了yield()方法时 D.线程调用了notify()方法?ABCD正确答案:D您的答案:本题解析:暂无解析2.线程调用sleep()方法后,该线程将进入以下哪种状态? A.就绪状态 B.运行状态 C.阻塞状态 D.死亡状态ABCD正确答案:ABC您的答案:本题解析:暂无解析3.对于死锁的描述,下面四种说法正确有哪些?(多选) A.当两个线程互相等待对方释放同步锁时会发生死锁 B.Java虚拟机没有检测和处理死锁的措施 C.一旦出现死锁,程序会发生异常 D.处于死锁状态的线程处于阻塞状态,无法继续运行ABCD正确答案:ABD您的答案:本题解析:暂无解析4.对于线程的生命周期,下面四种说法正确的有哪些?(多选) A.调用了线程的start()方法,该线程就进入运行状态(就绪,还要获得CPU使用权) B.线程的run()方法运行结束或被未catch的InterruptedException等异常终结,那么该线程进入死亡状态 C.线程进入死亡状态,但是该线程对象仍然是一个Thread对象,在没有被垃圾回收器回收之前仍可以像引用其它对象一样引用它 D.线程进入死亡状态后,调用它的start()方法仍然可以重新启动ABCD正确答案:BC您的答案:本题解析:暂无解析5.对于通过实现Runnable接口创建线程,下面说法正确的有哪些?(多选) A.适合多个相同程序代码的线程去处理同一个资源的情况 B.把线程同程序代码、数据有效的分离,很好的体现了面向对象的设计思想 C.可以避免由于Java的单继承带来的局限性 D.编写简单,可以不通过Thread类直接创建线程ABCD正确答案:ABC您的答案:本题解析:暂无解析6.关于抽象类的说法哪些是正确的?(多选) A.抽象类中可以有非抽象方法。 B.如果父类是抽象类,则子类必须重写父类所有的抽象方法。 C.不能用抽象类去创建对象。 D.接口和抽象类是同一个概念。ABCD正确答案:AC您的答案:本题解析:暂无解析7.关于线程的创建过程,下面四种说法正确的有哪些?(多选) A.定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法 B.定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法 C.定义一个实现Runnable接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法 D.定义一个实现Runnable接口的类并实现run()方法,创建该类对象,然后调用run()方法ABCD正确答案:AC您的答案:本题解析:暂无解析8.Thread类位于下列哪个包中? A.java.io B.java.lang C.java.util D.java.awtABCD正确答案:B您的答案:本题解析:暂无解析9.System类位于以下哪个包中? A.java.io B.java.util C.java.awt D.java.langABCD正确答案:D您的答案:本题解析:暂无解析10.在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字? A.inherits B.implements C.extends D.ModifiesABCD正确答案:C您的答案:本题解析:暂无解析11.类中的一个成员方法被下面哪个修饰符修饰,该方法只能在本类被访问? A.public B.protected C.private D.DefaultABCD正确答案:D您的答案:本题解析:暂无解析12.以下说法哪些是正确的?(多选) A.Java语言中允许一个类实现多个接口 B.Java语言中不允许一个类继承多个类 C.Java语言中允许一个类同时继承一个类并实现一个接口 D.Java语言中允许一个接口继承一个接口ABCD正确答案:ABCD您的答案:本题解析:暂无解析13.关于super关键字以下说法哪些是正确的?(多选) A.super关键字可以调用父类的构造方法 B.super关键字可以调用父类的普通方法 C.super与this不能同时存在于同一个构造方法中 D.super与this可以同时存在于同一个构造方法中ABCD正确答案:ABC您的答案:本题解析:暂无解析14.在Java语言中,以下哪个关键字用于在方法上声明抛出异常? A.Try B.catch C.throws D.throwABCD正确答案:C您的答案:本题解析:暂无解析15.在类的继承关系中,需要遵循以下哪个继承原则? A.多重 B.单一 C.双重 D.不能继承ABCD正确答案:B您的答案:本题解析:暂无解析16.请先阅读下面的代码。intx=1;inty=2;if(x%2=0)y+;elsey-;System.out.println(y=+y);上面一段程序运行结束时,变量y的值为下列哪一项? A.1 B.2 C.3 D.switch语句ABCD正确答案:A您的答案:本题解析:暂无解析17.以下哪个选项可以正确创建一个长度为3的二维数组? A.newint23; B.newint3; C.newint3; D.以上答案皆不对ABCD正确答案:B您的答案:本题解析:暂无解析18.下面哪种写法可以实现访问数组arr的第1个元素? A.arr0 B.arr(0) C.arr1 D.arr(1)ABCD正确答案:A您的答案:本题解析:暂无解析19.下列语句哪些属于循环语句?(多选) A.for语句 B.if语句 C.while语句 D.switch语句ABCD正确答案:AC您的答案:本题解析:暂无解析20.以下选项中,switch语句判断条件可以接收的数据类型有哪些?(多选) A.int B.byte C.char D.ShortABCD正确答案:ABCD您的答案:本题解析:暂无解析21.以下关于变量的说法错误的是? A.变量名必须是一个有效的标识符 B.变量在定义时可以没有初始值 C.变量一旦被定义,在程序中的任何位置都可以被访问 D.在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明ABCD正确答案:C您的答案:本题解析:暂无解析22.关于方法重载的描述,以下选项中哪些是正确的?(多选) A.方法名必须一致 B.返回值类型必须不同 C.参数个数必须一致 D.参数的个数或类型不一致ABCD正确答案:AD您的答案:本题解析:暂无解析23.以下选项中,哪些属于合法的标识符?(多选) A.Hello_World B.class C.123username D.username123ABCD正确答案:AD您的答案:本题解析:暂无解析24.Java属于以下哪种语言? A.机器语言 B.汇编语言 C.高级语言 D.以上都不对ABCD正确答案:C您的答案:本题解析:暂无解析25.以下选项中,哪些属于JDK工具?(多选) A.Java编译器 B.Java运行工具 C.Java文档生成工具 D.Java打包工具ABCD正确答案:ABCD您的答案:本题解析:暂无解析

当线程处于阻塞状态时,线程( )。

A. 正在占用处理机

B.没有占用处理机

C. 将进入执行状态

D.将进入结束状态


参考答案:B


一作业一旦进入内存后,其所属该作业的进程初始时将处于(24)状态。

A.运行

B.等待

C.就绪

D.死锁


正确答案:C
解析:作业一旦进入内存,其所属进程初始时必定先处于就绪状态,而非运行,死锁或等待状态。注意这四个状态的区别和联系。


下面关于死锁的说法中错误的是( )。

A.释放锁时要按加锁的反序释放

B.多线程同时访问相同数据时可能造成死锁

C.死锁完全由程序进行控制

D.Java中具有检测与避免死锁的专门机制,可以防止死锁


正确答案:D
解析:Java中没有提供检测与避免死锁的专门机制,但应用程序员可以采用某些策略防止死锁的发生。


____

A.处于运行状态

B.处于阻塞状态

C.处于就绪状态

D.处于运行状态或者进入阻塞状态

 


正确答案:D
解析:本题考查操作系统进程管理方面的基础知识。
  进程一般具有三种基本状态:运行态、就绪态和阻塞态。处于这三种状态的进程在一定条件下,其状态可以转换。当CPU空闲时,系统将根据某种调度算法选择处于就绪态的一个进程进入运行态;而当CPU的一个时间片用完时,当前处于运行态的进程就进入了就绪态;进程从运行到阻塞状态通常是由于进程释放CPU,等待系统分配资源或等待某些事件的发生,如:执行了P操作,系统暂时不能满足其对某资源的请求,或等待用户的输入信息等;当进程正在等待的事件发生时,进程从阻塞到就绪状态,如I/O完成。


线程调用sleep()方法后,该线程将进入以下哪种状态?

A.就绪状态

B.运行状态

C.阻塞状态

D.死亡状态


答案:C

更多 “2021Java最新二级试题” 相关考题
考题 多选题多线程可以带来()问题。A赛跑状态B线程饥饿C死锁D无限循环正确答案:C,D解析:暂无解析

考题 一个线程在任何时刻都处于某种线程状态(threadstate),例如运行状态、阻塞状态、就绪状态等。一个线程可以由选项中的哪种线程状态直接到达运行状态?()A、死亡状态B、阻塞状态(对象lock池内)C、阻塞状态(对象wait池内)D、就绪状态正确答案:D

考题 多选题对于死锁的描述,下面四种说法正确有哪些?()A当两个线程互相等待对方释放同步锁时会发生死锁BJava虚拟机没有检测和处理死锁的措施C一旦出现死锁,程序会发生异常D处于死锁状态的线程处于阻塞状态,无法继续运行正确答案:C,B解析:暂无解析

考题 线程调用sleep()方法后,该线程将进入以下哪种状态?A、就绪状态B、运行状态C、阻塞状态D、死亡状态正确答案:C

考题 多线程可以带来()问题。A、赛跑状态B、线程饥饿C、死锁D、无限循环正确答案:A,B,C

考题 单选题关于系统安全状态的说法,不正确的是()A 系统处于不安全状态可能发生死锁B 系统处于不安全状态一定会发生死锁C 不安全状态是死锁状态的一个特例正确答案:B解析:暂无解析

考题 下列关于死锁与安全状态的叙述中,哪一个是正确的?A.死锁状态一定是不安全状态B.从安全状态有可能进入死锁状态C.不安全状态就是死锁状态D.死锁状态有可能是安全状态正确答案:A

考题 单选题一个线程在任何时刻都处于某种线程状态(threadstate),例如运行状态、阻塞状态、就绪状态等。一个线程可以由选项中的哪种线程状态直接到达运行状态?()A 死亡状态B 阻塞状态(对象lock池内)C 阻塞状态(对象wait池内)D 就绪状态正确答案:C解析:暂无解析

考题 单选题线程调用sleep()方法后,该线程将进入以下哪种状态?A 就绪状态B 运行状态C 阻塞状态D 死亡状态正确答案:B解析:暂无解析

考题 线程结束等待或者阻塞状态后,会进入运行状态正确答案:错误