收藏 分享(赏)

软件安全试卷.doc

上传人:cjc2202537 文档编号:5228403 上传时间:2019-02-13 格式:DOC 页数:3 大小:27KB
下载 相关 举报
软件安全试卷.doc_第1页
第1页 / 共3页
软件安全试卷.doc_第2页
第2页 / 共3页
软件安全试卷.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 本试卷共 页 第 1 页软件安全试卷 A(试卷共 3 页,答题时间 120 分钟。答案全部写在答题纸上)一、选择题(每小题 1 分,共 10 分)1、解决缓冲区溢出的方法,以下不正确的一项是() 。A、 积极检查边界 B、 程序指针检查 C、注重程序应用性能 D、不让攻击者执行缓冲区内的命令2、以下说法正确的一项是_。 ( )A. 任何软件都是不安全的 B. 软件无响应一定是软件存在漏洞C. 黑盒测试就是分步检测软件代码 D. 通过测试能够完全解决软件安全问题3、下列说法哪个是不正确的。 ( )A. 进程是线程的容器 B. 单个进程可以包含多个线程C. 进程中不一定有线程 D. 进程中一定有

2、线程4、下列关于异常的描述中,错误的是( )A异常是一种经过修正后程序仍可执行的错误B异常是一种程序在运行中出现的不可恢复执行的错误C不仅 Java 语言有异常处理,C+语言也有异常处理D出现异常不是简单结束程序,而是执行某种处理异常的代码,设法恢复程序的执行5、下列关于抛出异常的描述中,错误的是_.A捕捉到发生的异常可在当前方法中处理,也可以抛到调用该方法的方法中处理B在说明要抛出异常的方法时应加关键字 throwC中可以有多个用逗号分隔的异常D抛出异常的方法中要使用下述抛出异常语句:throw;其中,是异常类的类名6、以下哪一项不是软件生命周期中的阶段( )A设计阶段 B.分析阶段 C.维

3、护阶段 D.销售阶段7、下列哪一项不是导致线程停止的方法( )Await() B.sleep() C. join() D。stop()8、下列关于造成线程死锁条件的说法,错误的是( ) 。A.产生线程死锁的四个条件是:互斥条件、请求与保持条件、不剥夺条件和循环等待条件 B.死锁的四个条件是充分条件C.死锁的四个条件是必要条件D.死锁一般会在两个以上线程执行时产生9、下面对静态成员的描述中,错误的是( ) 。A、静态成员的提出是为了解决数据共享问题B、静态数据成员的初始化在类体外进行C、类的不同对象有不同的静态数据成员值D、静态成员函数可以直接访问类中的静态数据成员10、下列对封装性的描述中,错

4、误的是( ).A.封装体包含了属性和行为B.封装体中的属性和行为的访问权限是相同的C.被封装的某些信息在封装体外是不可见的D.封装使得抽象的数据类型提高了可重用性二、填空题(每空 1 分,共 12 分)1、一般来说,软件的安全性隐患来源于以下 4 个方面: 、 、 、 。2、进程在内存中运行时,被分为 3 个区域,分别是: 、 、 。3、解决整数溢出的方案包括 、 。4、假如多个线程出现死锁情况,排除死锁的方案为: 、 、 。三、名词解释题(每题 4 分,共 20 分)1、类2、进程3、堆栈缓冲区4、线程的生命周期5、异常抛出四、简答题:(每题 5 分, 共 25 分)1、在线程的生命周期中包

5、括哪几种状态?2、进程和线程有什么区别?3、Java 中,异常和错误的区别?4、什么情况下会出现整数溢出?5、怎样解决线程因抢占共享代码/资源而产生的结果错误?五、程序设计题:(第一题 14 分,第二题 19 分,共 33 分)1、回答问题,填写程序缺少部分,实现题目要求:(1)下面的程序在运行时会产生什么问题?(4 分)(2)修改以下代码,解决出现的问题。(10 分)public class P03 implements Runnablestatic Object S1 = new Object(),S2=new Object();public void run()if(Thread.cur

6、rentThread().getName().equals(“th1“)synchronized(S1)System.out.println(“线程 1 锁定 S1“); synchronized(S2)System.out.println(“线程 1 锁定 S2“);elsesynchronized(S2)System.out.println(“线程 2 锁定 S2“);synchronized(S1)System.out.println(“线程 2 锁定 S1“);public static void main(String args)Thread t1 = new Thread(new P03(),“th1“);Thread t2 = new Thread(new P03(),“th2“);t1.start();t2.start();2、编写程序(20 分)异常处理是程序编写过程中的必要部分,一般在容易产生异常的代码段需要使用 try-catch 代码块捕获异常并处理。请编写一个程序,客户输入一个数字,打印其平方,但是如果输入出错,通过异常处理不断提示用户重新输入,直到输入正确为止。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 行业软件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报