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
⏎ jdk/internal/reflect/UnsafeFieldAccessorImpl.java
/* * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package jdk.internal.reflect; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import jdk.internal.misc.Unsafe; /** Base class for jdk.internal.misc.Unsafe-based FieldAccessors. The observation is that there are only nine types of fields from the standpoint of reflection code: the eight primitive types and Object. Using class Unsafe instead of generated bytecodes saves memory and loading time for the dynamically-generated FieldAccessors. */ abstract class UnsafeFieldAccessorImpl extends FieldAccessorImpl { static final Unsafe unsafe = Unsafe.getUnsafe(); protected final Field field; protected final long fieldOffset; protected final boolean isFinal; UnsafeFieldAccessorImpl(Field field) { this.field = field; if (Modifier.isStatic(field.getModifiers())) fieldOffset = unsafe.staticFieldOffset(field); else fieldOffset = unsafe.objectFieldOffset(field); isFinal = Modifier.isFinal(field.getModifiers()); } protected void ensureObj(Object o) { // NOTE: will throw NullPointerException, as specified, if o is null if (!field.getDeclaringClass().isAssignableFrom(o.getClass())) { throwSetIllegalArgumentException(o); } } private String getQualifiedFieldName() { return field.getDeclaringClass().getName() + "." +field.getName(); } protected IllegalArgumentException newGetIllegalArgumentException(String type) { return new IllegalArgumentException( "Attempt to get "+field.getType().getName()+" field \"" + getQualifiedFieldName() + "\" with illegal data type conversion to "+type ); } protected void throwFinalFieldIllegalAccessException(String attemptedType, String attemptedValue) throws IllegalAccessException { throw new IllegalAccessException(getSetMessage(attemptedType, attemptedValue)); } protected void throwFinalFieldIllegalAccessException(Object o) throws IllegalAccessException { throwFinalFieldIllegalAccessException(o != null ? o.getClass().getName() : "", ""); } protected void throwFinalFieldIllegalAccessException(boolean z) throws IllegalAccessException { throwFinalFieldIllegalAccessException("boolean", Boolean.toString(z)); } protected void throwFinalFieldIllegalAccessException(char b) throws IllegalAccessException { throwFinalFieldIllegalAccessException("char", Character.toString(b)); } protected void throwFinalFieldIllegalAccessException(byte b) throws IllegalAccessException { throwFinalFieldIllegalAccessException("byte", Byte.toString(b)); } protected void throwFinalFieldIllegalAccessException(short b) throws IllegalAccessException { throwFinalFieldIllegalAccessException("short", Short.toString(b)); } protected void throwFinalFieldIllegalAccessException(int i) throws IllegalAccessException { throwFinalFieldIllegalAccessException("int", Integer.toString(i)); } protected void throwFinalFieldIllegalAccessException(long i) throws IllegalAccessException { throwFinalFieldIllegalAccessException("long", Long.toString(i)); } protected void throwFinalFieldIllegalAccessException(float f) throws IllegalAccessException { throwFinalFieldIllegalAccessException("float", Float.toString(f)); } protected void throwFinalFieldIllegalAccessException(double f) throws IllegalAccessException { throwFinalFieldIllegalAccessException("double", Double.toString(f)); } protected IllegalArgumentException newGetBooleanIllegalArgumentException() { return newGetIllegalArgumentException("boolean"); } protected IllegalArgumentException newGetByteIllegalArgumentException() { return newGetIllegalArgumentException("byte"); } protected IllegalArgumentException newGetCharIllegalArgumentException() { return newGetIllegalArgumentException("char"); } protected IllegalArgumentException newGetShortIllegalArgumentException() { return newGetIllegalArgumentException("short"); } protected IllegalArgumentException newGetIntIllegalArgumentException() { return newGetIllegalArgumentException("int"); } protected IllegalArgumentException newGetLongIllegalArgumentException() { return newGetIllegalArgumentException("long"); } protected IllegalArgumentException newGetFloatIllegalArgumentException() { return newGetIllegalArgumentException("float"); } protected IllegalArgumentException newGetDoubleIllegalArgumentException() { return newGetIllegalArgumentException("double"); } protected String getSetMessage(String attemptedType, String attemptedValue) { String err = "Can not set"; if (Modifier.isStatic(field.getModifiers())) err += " static"; if (isFinal) err += " final"; err += " " + field.getType().getName() + " field " + getQualifiedFieldName() + " to "; if (attemptedValue.length() > 0) { err += "(" + attemptedType + ")" + attemptedValue; } else { if (attemptedType.length() > 0) err += attemptedType; else err += "null value"; } return err; } protected void throwSetIllegalArgumentException(String attemptedType, String attemptedValue) { throw new IllegalArgumentException(getSetMessage(attemptedType,attemptedValue)); } protected void throwSetIllegalArgumentException(Object o) { throwSetIllegalArgumentException(o != null ? o.getClass().getName() : "", ""); } protected void throwSetIllegalArgumentException(boolean b) { throwSetIllegalArgumentException("boolean", Boolean.toString(b)); } protected void throwSetIllegalArgumentException(byte b) { throwSetIllegalArgumentException("byte", Byte.toString(b)); } protected void throwSetIllegalArgumentException(char c) { throwSetIllegalArgumentException("char", Character.toString(c)); } protected void throwSetIllegalArgumentException(short s) { throwSetIllegalArgumentException("short", Short.toString(s)); } protected void throwSetIllegalArgumentException(int i) { throwSetIllegalArgumentException("int", Integer.toString(i)); } protected void throwSetIllegalArgumentException(long l) { throwSetIllegalArgumentException("long", Long.toString(l)); } protected void throwSetIllegalArgumentException(float f) { throwSetIllegalArgumentException("float", Float.toString(f)); } protected void throwSetIllegalArgumentException(double d) { throwSetIllegalArgumentException("double", Double.toString(d)); } }
⏎ jdk/internal/reflect/UnsafeFieldAccessorImpl.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, 206361👍, 0💬
Popular Posts:
How to perform XML Schema validation with dom\Writer.java provided in the Apache Xerces package? You...
MP3SPI is a Java Service Provider Interface that adds MP3 (MPEG 1/2/2.5 Layer 1/2/3) audio format su...
ASM is an all purpose Java bytecode manipulation and analysis framework. It can be used to modify ex...
What Is poi-scratchpad-5.2.3.jar ?poi-scratchpad-5.2.3.jar is one of the JAR files for Apache POI 5....
xml-commons Resolver Source Code Files are provided in the source package file, xml-commons-resolver...