牛客网错题集系列(四)

1.高优先级的线程比低优先级的线程运行得更快。()

错误

线程运行速度和优先级没有任何关系

2.下列哪些语句关于 java 内存回收的说明是正确的?

程序员必须创建一个线程来释放内存
内存回收程序负责释放无用内存
内存回收程序允许程序员直接释放内存
内存回收程序可以在指定的时间释放内存对象

3.Java的跨平台特性是指它的源代码可以在多个平台运行。

错误

指编译后的字节码文件是跨平台的。

4.关于多线程

void waitForSignal() { Object obj = new Object(); synchronized(Thread.currentThread()) { obj.wait(); obj.notify(); } }

Which statement is true?

This code may throw an InterruptedException

wait()方法需要抛出InterruptedException异常,或者包在try/catch语句中

而且挂起的对象也必须包含在synchronized代码块中,否则也会有illegalStateException异常

5.

假设 a 是一个由线程 1 和线程 2 共享的初始值为 0 的全局变量,则线程 1 和线程 2 同时执行下面的代码,最终 a 的结果不可能是()

boolean isOdd = false;

for(int i=1;i<=2;++i)

{

if(i%2==1)isOdd = true;

else isOdd = false;

a+=i*(isOdd?1:-1);

}

-1
-2
0
1

6.

以下JSP代码定义了一个变量,如何输出这个变量的值?

<bean:define id="stringBean" value="helloWorld"/>

<bean:write name="helloWorld"/>

<%=stringBean%>

<bean:write name="stringBean"/>

<%String myBean=(String)pageContext.getAttribute("stringBean",PageContext.PAGE_SCOPE);%> <%=myBean%>

经验分享 程序员 微信小程序 职场和发展