Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
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 (322)
Collections:
Other Resources:
JDK 17 java.base.jmod - Base Module
JDK 17 java.base.jmod is the JMOD file for JDK 17 Base module.
JDK 17 Base module compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\java.base.jmod.
JDK 17 Base module compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 Base module source code files are stored in \fyicenter\jdk-17.0.5\lib\src.zip\java.base.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ java/lang/constant/ConstantDesc.java
/*
* Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package java.lang.constant;
import java.lang.Enum.EnumDesc;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
import java.lang.invoke.VarHandle.VarHandleDesc;
/**
* A <a href="package-summary.html#nominal">nominal descriptor</a> for a loadable
* constant value, as defined in JVMS 4.4. Such a descriptor can be resolved via
* {@link ConstantDesc#resolveConstantDesc(MethodHandles.Lookup)} to yield the
* constant value itself.
*
* <p>Class names in a nominal descriptor, like class names in the constant pool
* of a classfile, must be interpreted with respect to a particular class
* loader, which is not part of the nominal descriptor.
*
* <p>Static constants that are expressible natively in the constant pool ({@link String},
* {@link Integer}, {@link Long}, {@link Float}, and {@link Double}) implement
* {@link ConstantDesc}, and serve as nominal descriptors for themselves.
* Native linkable constants ({@link Class}, {@link MethodType}, and
* {@link MethodHandle}) have counterpart {@linkplain ConstantDesc} types:
* {@link ClassDesc}, {@link MethodTypeDesc}, and {@link MethodHandleDesc}.
* Other constants are represented by subtypes of {@link DynamicConstantDesc}.
*
* <p>APIs that perform generation or parsing of bytecode are encouraged to use
* {@linkplain ConstantDesc} to describe the operand of an {@code ldc} instruction
* (including dynamic constants), the static bootstrap arguments of
* dynamic constants and {@code invokedynamic} instructions, and other
* bytecodes or classfile structures that make use of the constant pool.
*
* <p>Constants describing various common constants (such as {@link ClassDesc}
* instances for platform types) can be found in {@link ConstantDescs}.
*
* <p>Implementations of {@linkplain ConstantDesc} should be immutable
* and their behavior should not rely on object identity.
*
* <p>Non-platform classes should not implement {@linkplain ConstantDesc} directly.
* Instead, they should extend {@link DynamicConstantDesc} (as {@link EnumDesc}
* and {@link VarHandleDesc} do.)
*
* <p>Nominal descriptors should be compared using the
* {@link Object#equals(Object)} method. There is no guarantee that any
* particular entity will always be represented by the same descriptor instance.
*
* @see Constable
* @see ConstantDescs
*
* @jvms 4.4 The Constant Pool
*
* @since 12
*/
public sealed interface ConstantDesc
permits ClassDesc,
MethodHandleDesc,
MethodTypeDesc,
Double,
DynamicConstantDesc,
Float,
Integer,
Long,
String {
/**
* Resolves this descriptor reflectively, emulating the resolution behavior
* of JVMS 5.4.3 and the access control behavior of JVMS 5.4.4. The resolution
* and access control context is provided by the {@link MethodHandles.Lookup}
* parameter. No caching of the resulting value is performed.
*
* @param lookup The {@link MethodHandles.Lookup} to provide name resolution
* and access control context
* @return the resolved constant value
* @throws ReflectiveOperationException if a class, method, or field
* could not be reflectively resolved in the course of resolution
* @throws LinkageError if a linkage error occurs
*
* @apiNote {@linkplain MethodTypeDesc} can represent method type descriptors
* that are not representable by {@linkplain MethodType}, such as methods with
* more than 255 parameter slots, so attempts to resolve these may result in errors.
*
* @jvms 5.4.3 Resolution
* @jvms 5.4.4 Access Control
*/
Object resolveConstantDesc(MethodHandles.Lookup lookup) throws ReflectiveOperationException;
}
⏎ java/lang/constant/ConstantDesc.java
Or download all of them as a single archive file:
File name: java.base-17.0.5-src.zip File size: 8883851 bytes Release date: 2022-09-13 Download
2023-09-26, ≈263🔥, 1💬
Popular Posts:
JDK 17 java.rmi.jmod is the JMOD file for JDK 17 RMI (Remote Method Invocation) module. JDK 17 RMI m...
Smack is an Open Source XMPP (Jabber) client library for instant messaging and presence. A pure Java...
How to run "jarsigner" command from JDK tools.jar file? "jarsigner" command allows you to digitally ...
JDK 17 java.base.jmod is the JMOD file for JDK 17 Base module. JDK 17 Base module compiled class fil...
How to download and install ojdbc14.jar for Oracle 10g R2? ojdbc14.jar for Oracle 10g R2 is a Java 1...