当前位置:  技术问答>java相关

SCJP题

    来源: 互联网  发布时间:2015-05-14

    本文导语:  1.public class SyncTest{     private int x;     private int y;     private Synchronized void setX(int i){x=i;}     private Synchronized void setY(int i){y=i;}     public void setXY(int i){       setX(i);       setY(i);      }   ...

1.public class SyncTest{ 
   private int x; 
   private int y; 
   private Synchronized void setX(int i){x=i;} 
   private Synchronized void setY(int i){y=i;} 
   public void setXY(int i){ 
     setX(i); 
     setY(i); 
    } 
   public Synchronized boolean check(){ 
        return x!=y;   
     } 
      } 
what is return of check()? 
A.check() can never return true. 
B.check() can return true when setXY is callled by multiple threads. 
C.check() can return true when multiple threads call setX and setY separately. 
D.check() can only return true if SychTest is changed allow x and y to be set separately. 


2.public class SychTest{ 
    private int x; 
    private int y; 
    public void setX(int i){ x=i;} 
    public void setY(int i){y=i;} 
    public Synchronized void setXY(int i){ 
      setX(i); 
      setY(i); 
     } 
    public Synchronized boolean check(){ 
         return x!=y;   
      } 
      } 
     Under which conditions will  check() return true when called from a different class? 
    A.check() can never return true. 
    B.check() can return true when setXY is callled by multiple threads. 
    C.check() can return true when multiple threads call setX and setY separately. 
    D.check() can only return true if SychTest is changed allow x and y to be set separately

请问一下这两题的D对吗?能不能说明一下原因。
本人不会在乎分的,只要你说的对。还可以加分

|
1 b
2 bc

D不对的原因是D和其他答案相互排斥(如果我没翻译错的话)
ABC中有对的D就不会的

|
1.B
2.A,C,D

|
1 bc
2 c

D 错在那个“only”

|
1.b  notition private modifier c isn't the right ,d is wrong.
2.c  

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3