Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
JDK 11 java.base.jmod - Base Module
JDK 11 java.base.jmod is the JMOD file for JDK 11 Base module.
JDK 11 Base module compiled class files are stored in \fyicenter\jdk-11.0.1\jmods\java.base.jmod.
JDK 11 Base module compiled class files are also linked and stored in the \fyicenter\jdk-11.0.1\lib\modules JImage file.
JDK 11 Base module source code files are stored in \fyicenter\jdk-11.0.1\lib\src.zip\java.base.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ java/lang/invoke/VolatileCallSite.java
/* * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package java.lang.invoke; /** * A {@code VolatileCallSite} is a {@link CallSite} whose target acts like a volatile variable. * An {@code invokedynamic} instruction linked to a {@code VolatileCallSite} sees updates * to its call site target immediately, even if the update occurs in another thread. * There may be a performance penalty for such tight coupling between threads. * <p> * Unlike {@code MutableCallSite}, there is no * {@linkplain MutableCallSite#syncAll syncAll operation} on volatile * call sites, since every write to a volatile variable is implicitly * synchronized with reader threads. * <p> * In other respects, a {@code VolatileCallSite} is interchangeable * with {@code MutableCallSite}. * @see MutableCallSite * @author John Rose, JSR 292 EG * @since 1.7 */ public class VolatileCallSite extends CallSite { /** * Creates a call site with a volatile binding to its target. * The initial target is set to a method handle * of the given type which will throw an {@code IllegalStateException} if called. * @param type the method type that this call site will have * @throws NullPointerException if the proposed type is null */ public VolatileCallSite(MethodType type) { super(type); } /** * Creates a call site with a volatile binding to its target. * The target is set to the given value. * @param target the method handle that will be the initial target of the call site * @throws NullPointerException if the proposed target is null */ public VolatileCallSite(MethodHandle target) { super(target); } /** * Returns the target method of the call site, which behaves * like a {@code volatile} field of the {@code VolatileCallSite}. * <p> * The interactions of {@code getTarget} with memory are the same * as of a read from a {@code volatile} field. * <p> * In particular, the current thread is required to issue a fresh * read of the target from memory, and must not fail to see * a recent update to the target by another thread. * * @return the linkage state of this call site, a method handle which can change over time * @see #setTarget */ @Override public final MethodHandle getTarget() { return getTargetVolatile(); } /** * Updates the target method of this call site, as a volatile variable. * The type of the new target must agree with the type of the old target. * <p> * The interactions with memory are the same as of a write to a volatile field. * In particular, any threads is guaranteed to see the updated target * the next time it calls {@code getTarget}. * @param newTarget the new target * @throws NullPointerException if the proposed new target is null * @throws WrongMethodTypeException if the proposed new target * has a method type that differs from the previous target * @see #getTarget */ @Override public void setTarget(MethodHandle newTarget) { checkTargetChange(getTargetVolatile(), newTarget); setTargetVolatile(newTarget); } /** * {@inheritDoc} */ @Override public final MethodHandle dynamicInvoker() { return makeDynamicInvoker(); } }
⏎ java/lang/invoke/VolatileCallSite.java
Or download all of them as a single archive file:
File name: java.base-11.0.1-src.zip File size: 8740354 bytes Release date: 2018-11-04 Download
2020-05-29, 243033👍, 0💬
Popular Posts:
Where to find answers to frequently asked questions on Downloading and Installing ojdbc.jar - JDBC D...
Apache Avalon began in 1999 as the Java Apache Server Framework and in late 2002 separated from the ...
commons-io-2.6-sources.j aris the source JAR file for Apache Commons IO 2.6, which is a library of u...
Where Can I see Java Source Code files for Xerces Java 2.11.2? Here are Java Source Code files for X...
Jackson is "the Java JSON library" or "the best JSON parser for Java". Or simply as "JSON for Java"....