A-A+

阅读以下函数说明和Java代码 将应填入(n)处的字句写在对应栏内。 [说明] 很多时候

2022-08-05 22:58:42 问答库 阅读 173 次

问题详情

阅读以下函数说明和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);
}
}
(1)请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:private
private 解析:在这里希望USTax类只有一个实例,从而需要将其构造函数设置为private,以防止外部对这个类进行直接实例化。故空(1)应填private。

考点:字句,函数