选择题Day-9

1.java 的字符类型采用的是 Unicode 编码方案,每个 Unicode 码占用()个比特位。

A 8
B 16
C 32
D 64

2.阅读如下代码。 请问,对语句行 test.hello(). 描述正确的有()

package NowCoder; 
class Test { 
	public static void hello() { 
		System.out.println("hello");
	}
}
public class MyApplication { 
	public static void main(String[] args) { 
		// TODO Auto-generated method stub
		Test test=null; 
		test.hello(); 
	}
}

A 能编译通过,并正确运行
B 因为使用了未初始化的变量,所以不能编译通过
C 以错误的方式访问了静态方法
D能编译通过,但因变量为null,不能正常运行

3.如下代码的输出结果是什么?

public class Test { 
	public int aMethod(){ 
		static int i = 0;
		i++; 
		return i;
	}

	public static void main(String args[]){ 
		Test test = new Test(); 
		test.aMethod(); 
		int j = test.aMethod(); 
		System.out.println(j);
	}
}

A 0
B 1
C 2
D 编译失败

4.下列哪个选项是Java调试器?如果编译器返回程序代码的错误,可以用它对程序进行调试。

A java.exe
B javadoc.exe
C jdb.exe
D javaprof.exe

5.jre 判断程序是否执行结束的标准是()

A 所有的前台线程执行完毕
B 所有的后台线程执行完毕
C 所有的线程执行完毕
D 和以上都无关

在基本 JAVA 类型中,如果不明确指定,整数型的默认是 int 类型,带小数的默认是 double 类型

6.下面有关JVM内存,说法错误的是?

A 程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的
B Java方法执行内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的
C 方法区用于存储JVM加载的类信息、常量、静态变量、即时编译器编译后的代码等数据,是线程隔离的
D 原则上讲,所有的对象都在堆区上分配内存,是线程之间共享的


1.unicode*2,16个比特位

2.A

当程序执行Test tset时:jvm发现还没有加载过一个称为”Test”的类,它就开始查找并加载类文件”Test.class”。它从类文件中抽取类型信息并放在了方法区中,jvm于是以一个直接指向方法区lava类的指针替换了’test’符号引用,以后就可以用这个指针快速的找到Test类了。所以这也是为什么可以直接test.任何静态的东西

3.D
肯定编译失败啊,不是静态方法里面有个静态属性

4

javac.exe是编译.java文件
java.exe是执行编译好的.class文件
javadoc.exe是生成Java说明文档
jdb.exe是Java调试器
javaprof.exe是剖析工具

5.A
后台线程就是守护线程啊,当只存在精灵线程就说明程序结束

6.方法区是线程共享的,所以C错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值