20145209刘一阳《JAVA程序设计》第八周课堂测试
第八周课堂测试
1、下面代码中共有(C)个线程?
public class ThreadTest {
public static void main(String args[]){
MyThread myThread =new MyThread();
Thread t1=new Thread(myThread);
Thread t2=new Thread(myThread);
t1.start();
t2.start();
}
}
class MyThread extends Thread {
...
}
A .1
B .2
C .3
D .4
2、Java中,可以继承(B)类定义线程
A .Runnable
B .Thread
C .Future
D .Executor
3、以下(AB)方法会使线程进入阻塞状态?
A .Thread.sleep()
B .wait()
C .notify()
D .interrupt()
4、如果有以下代码段:
Thread thread = new Thread(new ________________() {
public void run() {...}
});
空白部分指定哪些类型可以通过编译?(AB)
A .Runnable
B .Thread
C .Future
D .Executor
5、调用线程的interrupt()方法 ,会抛出(CD)异常对象?
A .IllegalStateException
B .RuntimeException
C .InterruptedException
D .SecurityException
6、下列哪个叙述是错误的?(A)
A .线程新建后,不调用start方法也有机会获得CPU资源
B .如果两个线程需要调用同一个同步方法,那么一个线程调用该同步方法时,另一个线程必须等待。
C .目标对象中的run方法可能不启动多次
D .默认情况下,所有线程的优先级都是5级。
7、对于下列程序,哪个叙述是正确的?(A)
public class E {
public static void main(String args[]) {
Target target =new Target();
Thread thread =new Thread(target);
thread.start();
}
}
class Target implements Runnable{
public void run(){
System.out.println("ok");
}
}
A .JVM认为这个应用程序共有两个线程。
B .JVM认为这个应用程序只有一个主线程。
C .JVM认为这个应用程序只有一个thread线程。
D .thread的优先级是10级。
8、对于下列程序,哪个叙述是正确的?(B)
A .JVM认为这个应用程序共有两个线程。
B .JVM认为这个应用程序只有一个主线程。
C .JVM认为这个应用程序只有一个thread线程。
D .程序有编译错误,无法运行。
9、进程和程序的一个本质区别是(A)
A .前者为动态的,后者为静态的。
B .前者存储在内存,后者存储在外存。
C .前者在一个文件中,后者在多个文件中。
D .前者分时使用CPU,后者独占CPU。
10、进程的基本状态有:新建、运行、阻塞、死亡。(A)
A .true
B .false
11、下列说法正确的是(ABD)
A .Java语言的一大特性就是内置对多线程的支持。
B .main方法返回时,JVM就会结束Java应用程序。
C .Java应用程序中第一个线程结束后,JVM结束Java应用程序。
D .Java语言使用Thread类及其子类对象来表示线程。
12、下列关于线程状态与生命周期的说法,错误的是(BC)
A .在线程没有结束run()方法之前,不要让线程再调用start()方法,否则将发生IllegalThreadStateException异常。
B .run()方法负责通知JVM有新的线程等候切换。
C .执行sleep()结束后,该线程进入运行状态,得到CPU的使用权。
D .进入阻塞状态时,线程不能进入排队队列。
13、JVM的线程调度器的任务是使高优先级的线程能始终运行,一旦时间片有空闲,则使具有同等优先级的线程以轮流的方式顺序使用时间片。(A)
A .true
B .false
14、下列关于setPriority方法的说法,错误的是(C)
A .该方法更改线程的优先级。
B .该方法传入的参数为,要为线程设定的优先级。
C .该方法首先调用线程的 checkAccess 方法,且不带任何参数。这可能抛出IllegalArgumentException异常。
D .如果优先级不在MIN_PRIORITY到MAX_PRIORITY范围内,则抛出IllegalArgumentException异常。
15、当线程使用CPU资源的时间到时后,即使线程没有完成自己的全部操作,Java调度器也会中断当前线程的执行,把CPU的使用权切换给下一个排队等待的线程。(A)
A .true
B .false
16、下列关于守护线程的说法,正确的是(ABCD)
A .thread.setDaemon(true)必须在thread.start()之前设置,否则会报IllegalThreadStateException异常。
B .如果用户线程已经全部退出运行,只剩下守护线程存在,那么虚拟机也就退出了。
C .将线程转换为守护线程可以通过调用Thread对象的setDaemon(true)方法来实现。
D .守护线程应该永远不去访问固有资源,如文件、数据库,因为它会在任何时候甚至在一个操作的中间发生中断。
17、不可以在非同步方法中使用wait()、notify()、notifyAll()。(A)
A .true
B .false
18、下列关于线程常用的方法的叙述,错误的是(CD)
A .让run方法执行完毕,线程就变成死亡状态。
B .如果线程在休眠时被打断,JVM会抛出InterruptedException异常。
C .一个已运行的线程没有进入死亡状态时,如果再给线程分配实体,则先前的实体会被垃圾收集器收集掉。
D .当线程进入死亡状态后,线程就不能够调用isAlive()方法了。
19、线程在新建和死亡状态,调用isAlive()方法返回的值是false。(A)
A .true
B .false
20、以下代码中有两个线程:(B)
public class E {
public static void main(String args[]) {
Target target =new Target();
Thread thread =new Thread(target);
target.run();
for(int i= 0;i<=10;i++) {
System.out.println("yes");
try{ Thread.sleep(1000);
}
catch(InterruptedException exp){}
}
}
}
class Target implements Runnable{
public void run() {
for(int i= 0;i<=10;i++) {
System.out.println("ok");
try{
Thread.sleep(1000);
}
catch(InterruptedException exp){}
}
}
}
A .true
B .false
20145209刘一阳《JAVA程序设计》第八周课堂测试的更多相关文章
- 20145209刘一阳《JAVA程序设计》第九周课堂测试
第九周课堂测试 1.域名解析服务器(ARP)负责将域名转化为IP地址,从而与主机连接.(B) A .true B .false 2.下列关于URL类的说法,正确的是(BD) A .URL 类自身可根据 ...
- 20145209刘一阳《JAVA程序设计》第二周课堂测试
第二周课堂测试 1.if关键字后面的小括号内,表达式的值可以为10.(B) A .true B .false 2.表达式0xaa | 0x55的值为(C) A .FF B .0 C .255 D .1 ...
- 20145209刘一阳《JAVA程序设计》第一周课堂测试
第一周课堂测试 1.下列不属于Java后继技术的是(D) A .Android B .JSP C .XML D .Python 2.下列关于Java语言特点的描述,正确的一组是(C) A .面向过程: ...
- Java程序设计 第16周 课堂实践 —— 数据库4
Java程序设计 第16周 课堂实践 -- 数据库4 课堂实践任务4 查询world数据库,查询哪个国家的平均寿命最长. 代码分析 实现查询数据库需要我们修改Message.java,MessageD ...
- Java程序设计 第16周 课堂实践 —— 数据库3
Java程序设计 第16周 课堂实践 -- 数据库3 课堂实践任务3 查询world数据库,获得New Jessey州所有城市的总人口数. 代码分析 实现查询数据库需要我们修改MessageDAO.j ...
- Java程序设计 第16周 课堂实践
Java程序设计 第16周 课堂实践 -- 数据库2 课堂实践任务2 查询world数据库,获得人口超过500万的所有城市的列表. 代码分析 实现查询数据库需要我们修改Message.java,Mes ...
- 20145209刘一阳《JAVA程序设计》第四周课堂测试
第四周课堂测试 1.下列说法正确的是(ACD) A .使用extends关键字定义一个类的子类. B .Java与C++类似,支持多继承,即子类可以有一个或多个父类. C .Object是所有类的祖先 ...
- 201521123027 <java程序设计>第八周学习总结
1.本周学习总结 1.1思维导图 2.书面作业 Q1.List中指定元素的删除(题目4-1) 1.1 实验总结 总结:判断List中是否存在指定元素,需要用到equals方法,若存在就用remove进 ...
- 20145209刘一阳《JAVA程序设计》课堂测试总结
20145209刘一阳<JAVA程序设计>课堂测试总结 这次重新学习JAVA这门课,我对本学期没有参与的测试进行了总结并制作成二维码方便老师检查,详细内容如下: 第一周课堂测试### ht ...
随机推荐
- Debian出现in the drive ‘/media/cdrom/’ and press enter解决办法
没有光盘源解决打开/etc/apt/sources.list文件,注释掉cdrom那一行,然后再执行apt-get update更新下deb仓库这样以后再使用apt-get安装时就不会再搜寻cdrom ...
- shell_advanced
1.輸入輸出,重定向,管道 2.<(cmd):>(cmd) 3.>:<:>>:<<:>>>:<<< 4.文本处理_1 ...
- [翻译] SCViewShaker
SCViewShaker https://github.com/rFlex/SCViewShaker About A highly configurable UIView category for s ...
- Oracle恢复删除数据
可以通过SCN和时间戳两种方法来恢复. 一.通过SCN恢复删除且已经提交的数据 查询当前SCN select current_scn from v$database; 如图: 缩小范围进行查询 查询到 ...
- Redis学习---Redis的免密操作
Redis的免密操作 问题解决[方式一]:当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后密码就会失效 1.首先进入redis,如果没有开启redis则需要先开启: [r ...
- Linux 系统调整内核参数
调整系统内核参数 内核优化:Linux系统(内核 + shell + 应用程序) 针对业务服务应用而进行的系统内核参数调整(主要是/etc/sysctl.conf文件) 1. vim /e ...
- 我的第一个springboot应用+maven依赖管理
第一步:使用Eclipse创建maven工程SpringBootFirst:工程目录如下 第二步:编写依赖文件pom.xml <project xmlns="http://maven. ...
- mysql8.0 安装
之前一直使用的是zabbix3.4和mariadb5.5;感觉良好!!!但是...因其他原因需要重新部署 这次规划使用zabbix4.0和mysql8.0结合使用:嗯~~应该不会错吧!!! zabbi ...
- 我做SAP CRM One Order redesign的一些心得体会
框架开发和应用程序的开发完全不一样. 举个具体的最近折腾我的例子: 创建新的service order,维护header的shipping data,此时order和shipping data的mod ...
- Eclipse validation
window->preferences->validation 可以取消部分文件的验证,取消build时验证,改为手动验证,提高效率.