小编yua*_*ang的帖子

System.console()中可能存在JDK错误

以下代码来自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

5
推荐指数
1
解决办法
222
查看次数

标签 统计

java ×1