题目详情
当前位置:首页 > 计算机考试 > 中级软件设计师
题目详情:
发布时间:2024-05-26 01:46:11

[填空题]

阅读以下函数说明和Java代码,将应填入 (n) 处的字句写在对应栏内。
[说明]
很多时候,希望某些类只有一个或有限的几个实例,典型解决方案是所谓单身(Singleton)模式。但在多线程情况下,Singleton模式有可能出现问题,需要进行同步检查。如果对“检查singleton对象是否已经创建”进行同步,则存在严重的瓶颈,所有的线程都必须等待检查对象是否存在。解决方式是一种称为Double-Checked-Locking模式,其意图是将非必须的锁定优化掉,同步检查最多只发生一次,因此不会成为瓶颈。以下是Java语言实现,能够正确编译通过。
[Java代码]
public class USTax {
private static USTax instance=null;
(1) USTax( ){}
private (2) static void doSync( ){
if(instance==null){
System.out.println("实例不存在,创建实例..");
instance= (3) ;
System.out.println("实例创建成功");
}else{
System.out.println("实例已被创建了");
}
}
public static USTax getInstance( ){
if(instance==null){
System.out.println("实例暂时不存在");
(4) ;//同步控制
}else{
System.out.println("实例已经存在");
}
return (5) ;
}
}

更多"阅读以下函数说明和Java代码,将应填入 (n) 处的字句写在对应栏内"的相关试题:

[填空题]阅读以下函数说明和Java代码,将应填入 (n) 处的字句写上。
[说明]
现有一个显示系统,要显示的图形有线Line、矩形Square,抽象出一个Shape类(接口),有方法显示display( )。
需要新增图形Circle,又已知有类XXCircle实现了所需要实现的功能:显示displayIt( )。为了继承自shape以提供统一接口,又不希望从头开发代码,希望使用XXCircle。这样将XXCircle作为Circle的一个属性,即Circle的对象包含一个XXCircle对象。当一个Circle对象被实例化时,它必须实例化一个相应的XXCircle对象;当Circle对象收到的做任何事的请求都将转发给这个XXCircle对象。通过这种称为Adapter模式,Circle对象就可以通过“让XXCircle做实际工作”来表现自己的行为了。图7-1显示了各个类间的关系。以下是JAVA语言实现,能够正确编译通过。
[图7-1]
[*]
[Java代码]
//Shape.java文件
public interface Shape
public (1) void display( );

//XXCircle.jave文件
public class XXCircle
public void displayIt( )
//省略具体实现


//Circle.java文件
public class Circle (2) Shape
private XXCircle pcx= (3) ;
public void display( )
pcx.displayIt( );


//Factory.java文件
public class Factory
public (4) getShapeInstance(int type)
switch(
[填空题]

阅读以下函数说明和Java代码,将应填入 (n) 处的字句写在对应栏内。
[说明]
很多时候,希望某些类只有一个或有限的几个实例,典型解决方案是所谓单身(Singleton)模式。但在多线程情况下,Singleton模式有可能出现问题,需要进行同步检查。如果对“检查singleton对象是否已经创建”进行同步,则存在严重的瓶颈,所有的线程都必须等待检查对象是否存在。解决方式是一种称为Double-Checked-Locking模式,其意图是将非必须的锁定优化掉,同步检查最多只发生一次,因此不会成为瓶颈。以下是Java语言实现,能够正确编译通过。
[Java代码]
public class USTax {
private static USTax instance=null;
(1) USTax( ){}
private (2) static void doSync( ){
if(instance==null){
System.out.println("实例不存在,创建实例..");
instance= (3) ;
System.out.println("实例创建成功");
}else{
System.out.println("实例已被创建了");
}
}
public static USTax getInstance( ){
if(instance==null){
System.out.println("实例暂时不存在");
(4) ;//同步控制
}else{
System.out.println("实例已经存在");
}
return (5) ;
}
}

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码