java.lang.Void

java.util.concurrent.ForkJoinPool
/**
 * Class for artificial tasks that are used to replace the target
 * of local joins if they are removed from an interior queue slot
 * in WorkQueue.tryRemoveAndExec. We don't need the proxy to
 * actually do anything beyond having a unique identity.
 */
static final class EmptyTask extends ForkJoinTask<Void> {
    private static final long serialVersionUID = -7721805057305804111L;
    EmptyTask() { status = ForkJoinTask.NORMAL; } // force done
public final Void getRawResult() { return null; }
    public final void setRawResult(Void x) {}
    public final boolean exec() { return true; }
}

java.lang.Void类是一个不可实例化(构造函数私有)的占位符类,它持有Java关键字void的Class对象的引用
package java.lang;

/**
 * The {@code Void} class is an uninstantiable placeholder class to hold a
 * reference to the {@code Class} object representing the Java keyword
 * void.
 *
 * @author  unascribed
 * @since   JDK1.1
 */
public final
class Void {

    /**
     * The {@code Class} object representing the pseudo-type corresponding to
     * the keyword {@code void}.
     */
@SuppressWarnings("unchecked")
    public static final Class<Void> TYPE = (Class<Void>) Class.getPrimitiveClass("void");

    /*
     * The Void class cannot be instantiated.
     */
private Void() {}
}

猜你喜欢

转载自zhang964761032.iteye.com/blog/2380693