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/nio/DirectCharBufferS.java
/*
* Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
// -- This file was mechanically generated: Do not edit! -- //
package java.nio;
import java.io.FileDescriptor;
import java.lang.ref.Reference;
import java.util.Objects;
import jdk.internal.access.foreign.MemorySegmentProxy;
import jdk.internal.misc.ScopedMemoryAccess.Scope;
import jdk.internal.misc.VM;
import jdk.internal.ref.Cleaner;
import sun.nio.ch.DirectBuffer;
class DirectCharBufferS
extends CharBuffer
implements DirectBuffer
{
// Cached array base offset
private static final long ARRAY_BASE_OFFSET = UNSAFE.arrayBaseOffset(char[].class);
// Cached unaligned-access capability
protected static final boolean UNALIGNED = Bits.unaligned();
// Base address, used in all indexing calculations
// NOTE: moved up to Buffer.java for speed in JNI GetDirectBufferAddress
// protected long address;
// An object attached to this buffer. If this buffer is a view of another
// buffer then we use this field to keep a reference to that buffer to
// ensure that its memory isn't freed before we are done with it.
private final Object att;
public Object attachment() {
return att;
}
public Cleaner cleaner() { return null; }
// For duplicates and slices
//
DirectCharBufferS(DirectBuffer db, // package-private
int mark, int pos, int lim, int cap, int off,
MemorySegmentProxy segment)
{
super(mark, pos, lim, cap,
segment);
address = ((Buffer)db).address + off;
Object attachment = db.attachment();
att = (attachment == null ? db : attachment);
}
@Override
Object base() {
return null;
}
public CharBuffer slice() {
int pos = this.position();
int lim = this.limit();
int rem = (pos <= lim ? lim - pos : 0);
int off = (pos << 1);
assert (off >= 0);
return new DirectCharBufferS(this,
-1,
0,
rem,
rem,
off,
segment);
}
@Override
public CharBuffer slice(int index, int length) {
Objects.checkFromIndexSize(index, length, limit());
return new DirectCharBufferS(this,
-1,
0,
length,
length,
index << 1,
segment);
}
public CharBuffer duplicate() {
return new DirectCharBufferS(this,
this.markValue(),
this.position(),
this.limit(),
this.capacity(),
0,
segment);
}
public CharBuffer asReadOnlyBuffer() {
return new DirectCharBufferRS(this,
this.markValue(),
this.position(),
this.limit(),
this.capacity(),
0,
segment);
}
public long address() {
Scope scope = scope();
if (scope != null) {
if (scope.ownerThread() == null) {
throw new UnsupportedOperationException("ByteBuffer derived from shared segments not supported");
}
try {
scope.checkValidState();
} catch (Scope.ScopedAccessError e) {
throw new IllegalStateException("This segment is already closed");
}
}
return address;
}
private long ix(int i) {
return address + ((long)i << 1);
}
public char get() {
try {
return (Bits.swap(SCOPED_MEMORY_ACCESS.getChar(scope(), null, ix(nextGetIndex()))));
} finally {
Reference.reachabilityFence(this);
}
}
public char get(int i) {
try {
return (Bits.swap(SCOPED_MEMORY_ACCESS.getChar(scope(), null, ix(checkIndex(i)))));
} finally {
Reference.reachabilityFence(this);
}
}
char getUnchecked(int i) {
try {
return (Bits.swap(SCOPED_MEMORY_ACCESS.getChar(null, null, ix(i))));
} finally {
Reference.reachabilityFence(this);
}
}
public CharBuffer put(char x) {
try {
SCOPED_MEMORY_ACCESS.putChar(scope(), null, ix(nextPutIndex()), Bits.swap((x)));
} finally {
Reference.reachabilityFence(this);
}
return this;
}
public CharBuffer put(int i, char x) {
try {
SCOPED_MEMORY_ACCESS.putChar(scope(), null, ix(checkIndex(i)), Bits.swap((x)));
} finally {
Reference.reachabilityFence(this);
}
return this;
}
public CharBuffer compact() {
int pos = position();
int lim = limit();
assert (pos <= lim);
int rem = (pos <= lim ? lim - pos : 0);
try {
// null is passed as destination Scope to avoid checking scope() twice
SCOPED_MEMORY_ACCESS.copyMemory(scope(), null, null,
ix(pos), null, ix(0), (long)rem << 1);
} finally {
Reference.reachabilityFence(this);
}
position(rem);
limit(capacity());
discardMark();
return this;
}
public boolean isDirect() {
return true;
}
public boolean isReadOnly() {
return false;
}
public String toString(int start, int end) {
Objects.checkFromToIndex(start, end, limit());
try {
int len = end - start;
char[] ca = new char[len];
CharBuffer cb = CharBuffer.wrap(ca);
CharBuffer db = this.duplicate();
db.position(start);
db.limit(end);
cb.put(db);
return new String(ca);
} catch (StringIndexOutOfBoundsException x) {
throw new IndexOutOfBoundsException();
}
}
// --- Methods to support CharSequence ---
public CharBuffer subSequence(int start, int end) {
int pos = position();
int lim = limit();
assert (pos <= lim);
pos = (pos <= lim ? pos : lim);
int len = lim - pos;
Objects.checkFromToIndex(start, end, len);
return new DirectCharBufferS(this,
-1,
pos + start,
pos + end,
capacity(),
offset, segment);
}
public ByteOrder order() {
return ((ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN)
? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
}
ByteOrder charRegionOrder() {
return order();
}
}
⏎ java/nio/DirectCharBufferS.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, ≈884🔥, 1💬
Popular Posts:
JDK 11 jdk.jshell.jmod is the JMOD file for JDK 11 JShell tool, which can be invoked by the "jshell"...
JEuclid Source Code Files are provided the JEuclid GitHub Website . You can browse JEuclid Source Co...
Where to get the Java source code for Connector/J 8.0 User Impl module? Java source code files for C...
JDK 17 jdk.incubator.vector.jmo dis the JMOD file for JDK 17 HTTP Server module. JDK 17 Incubator Ve...
JDK 11 jdk.javadoc.jmod is the JMOD file for JDK 11 Java Document tool, which can be invoked by the ...