以下代码来自java.lang.System.console()方法:
private static volatile Console cons = null;
/**
* Returns the unique {@link java.io.Console Console} object associated
* with the current Java virtual machine, if any.
*
* @return The system console, if any, otherwise <tt>null</tt>.
*
* @since 1.6
*/
public static Console console() {
if (cons == null) {
synchronized (System.class) {
cons = sun.misc.SharedSecrets.getJavaIOAccess().console();
}
}
return cons;
}
Run Code Online (Sandbox Code Playgroud)
在我看来,这是这种方法的一个错误.我们应该这样写:
public static Console console() {
if (cons == null) {
synchronized (System.class) {
if …Run Code Online (Sandbox Code Playgroud) java ×1