首页 > 文档库 > 计算机 > Java

2020计算机二级测试Java试卷.docx

2021-08-08 11:08:56182****490319.79 KB5页 约3.95千字金币:120 点击下载

2020计算机二级测试Java试卷.docx

2020计算机二级测试Java试卷.docx
文本预览:PAGE / NUMPAGES2020计算机二级测试Java试卷一、填空题 (共21题,共63分) 1.要想解决线程间的通信问题,可以使用______、______、_____方法。 2.在Thread类中,提供了一个start()方法,该方法用于启动线程______,当新线程启动后,系统会自动调用______方法。 3.线程的优先级用1~10之间的整数来表示,其中_____代表优先级最高,_____代表优先级最低。 4.线程的整个生命周期分为五个阶段,分别是_新建_____、就绪______、_运行_____、_阻塞_____、和死亡_____。 5.在多任务系统中,每个独立执行的程序称之为______,也就是“正在运行的程序”。 6.在Java语言中,同步方法需要用到关键字__,对于同步方法而言无需指定同步锁,它的同步锁是方法所在的______,也就是______(关键字)。 7.yield()方法只能让相同优先级或者更高优先级、处于_就绪_____状态的线程获得运行的机会。 8.在实现多线程的程序时有两种方式,一是通过继_Thread_____承类,二是通过实现Runnable______接口。 9.一个应用程序中有多条并发执行的线索,每条线索都被称作一个线程______,它们会交替执行,彼此间可以进行______。 10.异常的捕获通常由try、catch两部分组成,_____代码块用来存放可能发生异常,______代码块用来处理产生的异常。 11.定义一个Java类时,如果前面加使用______关键字修饰,那么该类不可以被继承。 12.JDK中定义了大量的异常类,这些类都是______类的子类或者间接子类。 13.一个类可以从其它的类派生出来,派生出来的类称为______,用于派生的类称为______或者______。 14.在程序开发中,要想将一个包中的类导入到当前程序中,可以使用______关键字。 15.一个类如果实现一个接口,那么它就需要实现接口中定义的全部_方法_____,否则该类就必须定义成_抽象类_____。 16.在Java语言中,允许使用已存在的类作为基础创建新的类,这种技术我们称为继承______。 17.若inta[3][2]={{123,345},{34,56},{34,56}},则a[2][1]=______。 18.若int[]a={12,45,34,46,23};,则a[2]=______。 19.Java中的变量可分为两种数据类型,分别是_基本数据类型_____和_引用数据类型_____。 20.布尔常量即布尔类型的两个值,分别是______和______。 21.Java中的程序代码都必须在一个类中定义,类使用______关键字来定义。 二、问答题 (共12题,共37分) 22.简述Java.awt包中提供哪些布局管理器 23.TCP和UDP协议有什么区别 24.简要说明管道流 25.简述流的概念 26.集合中的List,Set,Map有什么区别 27.String和StringBuffer类有什么区别 28.进程和线程之间有什么不同 29.请简述synchronized和java.util.concurrent.locks.Lock的异同点 30.在JAVA中创建线程有几种方法 31.请简述方法重写和方法重载的区别 32.什么是多态 33.什么是方法重写 1、正确答案: (wait()、notify()、notifyAll()) 2、正确答案: (开启一个新线程、run()方法) 3、正确答案: (10、1) 4、正确答案: (新建状态(New)、就绪状态(Runnable)、运行状态(Running)、阻塞状态(Blocked)、死亡态(Terminated)) 5、正确答案: (进程) 6、正确答案: (synchronized、对象、this) 7、正确答案: (就绪) 8、正确答案: (Thread、Runnable) 9、正确答案: (填空题线程、通信) 10、正确答案: (try、catch) 11、正确答案: (final) 12、正确答案: (Exception) 13、正确答案: (子类、父类、基类) 14、正确答案: (import) 15、正确答案: (方法,抽象类) 16、正确答案: (继承) 17、正确答案: (56) 18、正确答案: (34) 19、正确答案: (基本数据类型、引用数据类型) 20、正确答案: (true和false) 21、正确答案: (class) 22、正确答案: BorderLayout边框布局;BoxLayout布局;CardLayout卡片布局;FlowLayout流动布局;GridBagLayout网格包布局;GridLayout网格布局;GroupLayout布局;SpringLayout布局; 23、正确答案: UDP协议是无连接通信协议,所谓的无连接就是指数据的发送端和接收端不建立逻辑连接。TCP协议是面向连接的通信协议,即在传输数据前先在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输。 24、正确答案: 管道流分为管道输入流(PipedInputStream)和管道输出流(PipedOutputStream),通常由一个PipedInputStream实例对象和一个PipedOutputStream实例对象相互连接而实现管道通信,PipedOutputStream向管道写入数据,PipedInputStream从管道中读取PipedOutputStream写入的数据,管道流主要用来完成线程之间的通信。 25、正确答案: Java程序通过流来完成输入和输出,流是输入或输出信息的抽象。流通过Java的输入/输出系统与外设连接进行数据通信。 26、正确答案: List的特点是元素有序、元素可重复。List接口的主要实现类有ArrayList和LinkedList。Set的特点是元素无序、元素不可重复。Set接口的主要实现类有HashSet和TreeSet。Map的特点是存储的元素是键(Key)、值(Value)映射关系,元素都是成对出现的。Map接口的主要实现类有HashMap和TreeMap。 27、正确答案: String类是不可变类,即字符串值一旦初始化后就不可能改变。StringBuffer是可变字符串类,类似String的缓冲区,可以修改字符串的值。 28、正确答案: 进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。 29、正确答案: 要相同点:Lock能完成synchronized所实现的所有功能;主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放。 30、正确答案: 一种是继承java.lang包下的Thread类,重写Thread类的run()方法,另一种就是实现Runnable接口,Sleep()和wait()有什么区别调用sleep()方法,正在执行的线程主动让出CPU去执行其他线程,在sleep()方法指定的时间过后,CPU才会回到这个线程上继续往下执行,如果当前线程进入了同步锁,sleep()方法并不会释放锁,即使当前线程使用sleep()方法让出了CPU,但其它被同步锁挡住了的线程也无法得到执行。wait()在一个已经进入了同步锁的线程内进行调用,让当前线程暂时让出同步锁,以便其它正在等待此锁的线程可以得到同步锁并运行。当其它线程调用了notify()方法后,调用wait()方法的线程就会解除wait状态,当再次获得同步锁后,程序可以继续向下执行。 31、正确答案: 重写是子类的方法覆盖父类的方法,要求方法名和参数都相同,重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同。 32、正确答案: 在面向对象语言中,接口的多种不同的实现方式即为多态。在同一个方法中。这总由于参数类型不同而导致执行效果各异的现象。 33、正确答案: 在继承关系中,子类的方法与父类的某一方法具有相同的方法名、返回类型和参数列表,则称子类的该方法重写父类的方法。
展开>> 收起<<