Java Singleton mode (thread security, high efficiency, dual judgment), high java Efficiency
This method avoids the thread lock when obtaining the single benefit, resulting in slow access to this method,
Likewise, this method prevents multiple instances from being generated when multiple threads are built.
High Efficiency and thread security.
Public class TestInstance {
Private static TestInstance instance;
Public static TestInstance getInstance {
If (instance = null ){
Synchronized (TestInstance. class) {if (instance = null ){
Instance = new TestInstance ();
}
}
Return instance;
}
}
}
Java Singleton mode has thread security problems
There is no thread security problem in the hungry Chinese style, and the lazy Chinese style requires Double Locking to solve possible thread security problems.
The disadvantage of the hungry Chinese style is that the class is instantiated upon loading, occupying system resources in advance
References: big talk Design Model
Is the Java Singleton mode thread-safe?
No.
You need to add synchronized to the public static XX getInstance () of the single instance.