Java二级考题-T4

11道二级考题练习

1.Java语言与C++语言相比,最突出的特点是____

A、面向对象
B、高性能
C、跨平台
D、有类库

本题考的是Java与C++的比较。
在不同的平台上,Java有不同的JVM,使Java字节码可以跨越平台的限制,在不同的平台上运行。但C++程序不具备平台独立性。
故本题答案为C。

2.下列叙述中,错误的是___

A、Java提供了丰富的类库
B、Java最大限度地利用网络资源
C、Java支持多线程
D、Java不支持TCP/IP协议

本题考的是Java语言的特点。
Java提供的类库支持TCP/IP协议,应用程序可通过URL地址,在访问网络上任何地方的对象时,如同访问本地文件一样简单。
故本题答案为D。

3.在下列Java语言的包中,提供图形界面构件的包是___

A、java.io
B、javax.swing
c、java.net
D、java.rmi

本题考的是Java的API结构。
java.io包:提供程序输入/输出文件操作的类。
javax.swing包:提供构建和管理应用程序 图形界面 的轻量级的构件。
java.net包:提供程序执行网络通信应用及URL处理的类。
java.rmi包:提供程序远程方法调用所需的类。
故本题答案为B。
点击学习javax.swing

4.下列叙述中,错误的是____

A、javac.exe是Java的编译器
B、javadoc.exe是Java的文档生成器
c、javaprof.exe是Java解释器的剖析工具
D、javap.exe是Java的解释器

本题考的是JDK工具。
javac.exe: Java编译器,能将源代码编译成字节码,以.class扩展名存入java工作目录中。
javadoc.exe: Java文档生成器,对Java源文件和包以MML格式产生AP文档。
javaprof.exe: Java剖析工具,提供解释器剖析信息。
javap.exe: Java类分解器,对.class文件提供字节代码反汇编,并打印
故本题答案为D。

5.在执行Java程序时,将应用程序连接到调试器的选项是___

A、-D
B、-debug
C、-verbosegc
D、-mx

本题考的是JDK工具。

  • D: 定义属性名;
  • debug:将程序连接到调试器;
  • verbosegc:无用单元收集器每释放一次内存,打印一条信息;
  • mx:分配最大内存值。
    故本题答案为B。

6.Java对I/O访问所提供的同步处理机制是____

A、字节流
B、过滤流
C、字符流
D、压缩文件流

本题考的是过滤流
Java对I/O访问所提供的同步处理机制是过滤流。一般,使用一个过滤流要求首先把过滤流连接到某个I/o流上,再通过构造方法的参数去指定连接的I/O流。
故本题答案为B。

7.Java对文件类提供了许多操作方法,能获得文件对象父路径名的方法是_

A、getAbsolutePath()
B、getParentFile()
C、getAbsoluteFile()
D、getName()

本题考的是File类提供的方法。
getAbsolutePath():得到一个文件的绝对路径名;
getParentFile():得到文件对象父路径名;
getAbsoluteFile():等价于new File(this.getAbsolutePath());
getName():得到一个不包含路径的文件名。
故本题答案为B。

8.下列叙述中,错误的是___

A、Java中没有检测和避免死锁的专门机制
B、程序中多个线程互相等待对方持有的锁,可能形成死锁
C、为避免死锁,Java程序中可先定义获得锁的顺序,解锁是按加锁的反序释放
D、为避免死锁,Java程序中可先定义获得锁的顺序,解锁是按加锁的正序释放

本题考的是死锁的防治

  • 如果程序中多个线程互相等待对方所持有的锁,而在得到对方锁之前都不会释放自己的锁,这就造成了双方都无法得到想得到资源,线程不能继续运行,这就是死锁。
  • Java中没有检测与避免死锁的专门机制,为了避免死锁,应用程序可以采用的一般做法是:如果程序要访问多个共享数据,则首先要从全局考虑定义一个获得锁的顺序,并且在整个程序中都遵守这个顺序。解锁时,要按加锁的反序释放
    故本题答案为D。

9.请阅读下面程序

public class ThreadTest {
	public static void main(String args[]) throws Exception {
		int i=0;
		Hello t=new Hello();
		_____;
		while(true){
			System.out.println("Good Morning"+i++);
		if(i ==2&&t.isAlive()) {
			System.out.println("Main waiting for Hello!");
				t.join(;//等待t运行结束
}
		if  (i == 5) break;}
	}
}

class Hello extends Thread {
	int i;

	public void run() {
		while (true) {
			System.out.println("Hello" + i++);
			if (i == 5)
				break;
		}
	}
}

为使该程序正确执行,下划线处的语句应是___

A、t.sleep()
B、t.yield()
C、t.interrupt()
D、t.start()

本题考的是线程的调度与控制。

  • sleep(): 该方法使一个线程暂停运行一段固定的时间,在其休眠时间内,让优先级比其低的线程运行;
  • yield(): 该方法使具有与当前线程相同优先级的线程有运行的机会;
  • interrupt(): 如果一个线程在调用sleep(),join(),wait()等方法被阻塞时,则
    interrupt()方法将中断其阻塞状态,并且该线程将接收到InterruptException异常;
  • start(): 新建的线程不会自动运行,必须调用该方法。调用该方法把嵌入在线程中的虚拟CPU置为可运行状态,意味着它可以被调度,但并不意味着该线程会立刻执行。
    根据程序可知,在ThreadTest类中,当i=2且线程t已启动,则在输出"Main waiting for Hello!"后暂停当前线程,执行线程t。若线程t未通过"t.start();"语句启动,则当i=2时也不会执行线程t,所以横线处应填启动线程t的语句,开始运行线程t,当t运行5次结束后,继续调用i线程将剩下的循环调用3次结束。所以,在创建Hello类的对象t后,应该调用start()方法使其进入可运行状态,等待被调用。
    故本题答案为D。

10.Panel类的默认布局管理器是

A、BorderLayout
B、CardLayout
C、FlowLayout
D、GridBagLayout

本题考的是布局管理器。
FlowLayout是Panel和Applet的默认布局管理器。
故本题答案为C。

11.下列叙述中,错误的是___

A、JButton类和标签类可显示图标和文本
B、Button类和标签类可显示图标和文本
C、AWT构件能直接添加到顶层容器中
D、Swing构件不能直接添加到顶层容器中

本题考的是构件和容器。
按钮是一个常用构件,Swing的按钮(JButton)和标签可显示图标和文本,而AWT的按钮(Button)和标签只能显示文本。在构件方面,与AWT构件不同,Swing构件不能直接添加到顶层容器中,它必须添加到一个与Swing顶层容器相关联的内容面板上。
故本题答案为B。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

~本特利~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值