一、java实现的三种方式
方式一
public class SingleInstance {
private static final SingleInstance instance = new SingleInstance();
private SingleInstance(){}
public SingleInstance getInstance(){
return instance;
}
}
方式二
public class SingleInstance {
private SingleInstance(){}
public SingleInstance getInstance(){
return SingleInstanceFactory.instance;
}
private static class SingleInstanceFactory{
private static final SingleInstance instance = new SingleInstance();
}
}
方式三
public class SingleInstance {
private static SingleInstance instance = null;
private SingleInstance(){}
public static SingleInstance getInstance(){
if(instance == null){
synchronized (SingleInstance.class){
if(instance == null){
instance = new SingleInstance();
}
}
}
return instance;
}
}
二、php方式
class SingleInstance
{
private function __construct(){
echo "11111";
}
public static function getInstance()
{
static $instance;
if(false == $instance)
{
$instance = new self();
}
return $instance;
}
}