public class SyncTest{   public static void main(String args

题目
多选题
public class SyncTest{   public static void main(String args) {    final StringBuffer s1= new StringBuffer();    final StringBuffer s2= new StringBuffer();    new Thread () {    public void run() {   synchronized(s1) {   s2.append(“A”);   synchronized(s2) {    s2.append(“B”);    System.out.print(s1);    System.out.print(s2);   }   }    }    }.start();   new Thread() {   public void run() {   synchronized(s2) {  s2.append(“C”);  synchronized(s1) {   s1.append(“D”);  System.out.print(s2);  System.out.print(s1);   }   }    }   }.start();   }   }   Which two statements are true? ()
A

The program prints “ABBCAD”

B

The program prints “CDDACB”

C

The program prints “ADCBADBC”

D

The output is a non-deterministic point because of a possible deadlock condition.

E

The output is dependent on the threading model of the system the program is running on.

参考答案和解析
正确答案: E,D
解析: 暂无解析
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列哪个是对main( )主方法的正确表示?

A.public void static main(String args[ ]){ ... }

B.void public static main(String args[ ]){ ... }

C.static public void main(String args[ ]){ ... }

D.以上都不正确


正确答案:C
解析:在主方法定义时,应注意的是放在主方法前面的返回类型,一般都是void,在往前面是其他修饰符,一般为public和static,这两个修饰符的位置是可以互换的。public表示主方法可以被任意的Java对象访问,static表示该方法是静态方法即只能在类中使用,void是表示主方法没有返回类型,因为Java的类型检查很严格,一般的方法都有适当的返回值,对没有返回值的必须加void说明,每个应用程序必须有且仅有一个主方法。

第2题:

interface A{

int x = 0;

}

class B{

int x =1;

}

class C extends B implements A {

public void pX(){

System.out.println(x);

}

public static void main(String[] args) {

new C().pX();

}

}


正确答案:

 

错误。在编译时会发生错误(错误描述不同的JVM 有不同的信息,意思就是未明确的

x 调用,两个x 都匹配(就象在同时import java.util 和java.sql 两个包时直接声明Date 一样)。

对于父类的变量,可以用super.x 来明确,而接口的属性默认隐含为 public static final.所以可

以通过A.x 来明确。

第3题:

下列程序的运行结果是【 】。

public class Test {

public static void main (String args[]) {

String s1="hello!";

System.out.println (s1.toUpperCase());

}}


正确答案:HELLO!
HELLO! 解析:在String类的常用方法中,toUpperCaee()方法将当前字符串中的所有小写字母转化成大写,其他字符保持不变。

第4题:

以下哪个是Java应用程序main方法的有效定义?

A. public static void main();

B. public static void main( String args );

C. public static void main( String args[] );

D. public static void main( Graphics g );

E. public static boolean main( String a[] );


正确答案:C

第5题:

main方法是JavaApplication程序执行的入口点。关于main方法的方法头,下列合法的是( )。

A.public static void main()

B. public static void main(String[])args)

C. public static iht main(String[]arg)

D.public void main(String arg[])


正确答案:B

第6题:

public class Something {

public static void main(String[] args) {

Something s = new Something();

System.out.println("s.doSomething() returns " + doSomething());

}

public String doSomething() {

return "Do something ...";

}

}

看上去很完美。


正确答案:

 

错。看上去在main 里call doSomething 没有什么问题,毕竟两个methods 都在同一个

class 里。但仔细看,main 是static 的。static method 不能直接call non-static methods。可改

成"System.out.println("s.doSomething() returns " + s.doSomething());"。同理,static method 不

能访问non-static instant variable。

第7题:

main方法是Java Application程序执行的入口点,关于main方法头以下( )是合法的。

A.pubUc statk void main()

B.public static void main (String[]args)

C.public static int main (String[]arg)

D.public void main (String arg[])


正确答案:B

第8题:

以下Java应用程序执行入口main方法的声明中,正确的是( )。

A.public static void main()

B.public static void main(String[] args)

C.public static int main(String[] args)

D.public void main(String[] args)


参考答案:B

第9题:

下列( )是对main ()主方法的正确表示。

A.public void static main (String args []) {…}

B.void public static main (String args []) {…}

C.static public void main (String args []) {…}

D.以上都不正确


正确答案:C

第10题:

以下程序能顺利通过编译: public class am_I_right { public static void main(String args[]) { this.toString(); } String toString() { retur。()

此题为判断题(对,错)。


答案:错

更多相关问题