CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  SUN Java 认证

SCJP经典题

楼主aGreenApple()2006-03-12 20:28:04 在 Java / SUN Java 认证 提问

1.   public   class   SyncTest   {  
  2.   private   int   x;  
  3.   private   int   y;  
  4.   public   synchronized   void   setX   (int   i)   (x=1;)  
  5.   public   synchronized   void   setY   (int   i)   (y=1;)  
  6.   public   synchronized   void   setXY(int   1)(setX(i);   setY(i);)  
  7.   public   synchronized   Boolean   check()   (return   x   !=y;)  
  8.   }  
   
  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   called   by   multiple   threads.  
  C. Check()   can   return   true   when   multiple   threads   call   setX   and   setY   separately.    
  D. Check()   can   only   return   true   if   SyncTest   is   changed   to   allow   x   and   y   to   be   set  
  separately.  
  不同版本答案不一样  
  应该选什么呀? 问题点数:20、回复次数:3Top

1 楼Paripatetic(逍遥)回复于 2006-03-12 20:37:23 得分 10

默认构造函数将字段初始化为0  
  所以选cTop

2 楼aGreenApple()回复于 2006-03-12 21:21:09 得分 0

如果第6行是  
  public   void   setXY(int   1)(setX(i);   setY(i);)  
  是不是就选B了Top

3 楼ahlon(Ahlon)回复于 2006-03-15 23:44:33 得分 10

选c是对的,lz的第二个想法也是对的。线程不同步会造成x,y值的不一样Top

相关问题

  • 经典问题
  • 经典问题!:)
  • 经典问题
  • 经典问题集
  • 经典级 问题??????
  • SCJP题
  • 检验你的SCJP能力!!!来自SUN的SCJP题库中的一道经典线程题目,你能做出正确的答案吗???
  • 经典问题,求教!!!
  • 经典问题,UP有分!
  • 一道经典赋值题

关键词

  • check
  • setx
  • sety
  • setxy
  • public synchronized
  • call
  • return true

得分解答快速导航

  • 帖主:aGreenApple
  • Paripatetic
  • ahlon

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo