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/HeapByteBuffer.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.util.Objects;
import jdk.internal.access.foreign.MemorySegmentProxy;
/**
* A read/write HeapByteBuffer.
*/
class HeapByteBuffer
extends ByteBuffer
{
// Cached array base offset
private static final long ARRAY_BASE_OFFSET = UNSAFE.arrayBaseOffset(byte[].class);
// Cached array index scale
private static final long ARRAY_INDEX_SCALE = UNSAFE.arrayIndexScale(byte[].class);
// For speed these fields are actually declared in X-Buffer;
// these declarations are here as documentation
/*
protected final byte[] hb;
protected final int offset;
*/
HeapByteBuffer(int cap, int lim, MemorySegmentProxy segment) { // package-private
super(-1, 0, lim, cap, new byte[cap], 0, segment);
/*
hb = new byte[cap];
offset = 0;
*/
this.address = ARRAY_BASE_OFFSET;
}
HeapByteBuffer(byte[] buf, int off, int len, MemorySegmentProxy segment) { // package-private
super(-1, off, off + len, buf.length, buf, 0, segment);
/*
hb = buf;
offset = 0;
*/
this.address = ARRAY_BASE_OFFSET;
}
protected HeapByteBuffer(byte[] buf,
int mark, int pos, int lim, int cap,
int off, MemorySegmentProxy segment)
{
super(mark, pos, lim, cap, buf, off, segment);
/*
hb = buf;
offset = off;
*/
this.address = ARRAY_BASE_OFFSET + off * ARRAY_INDEX_SCALE;
}
public ByteBuffer slice() {
int pos = this.position();
int lim = this.limit();
int rem = (pos <= lim ? lim - pos : 0);
return new HeapByteBuffer(hb,
-1,
0,
rem,
rem,
pos + offset, segment);
}
@Override
public ByteBuffer slice(int index, int length) {
Objects.checkFromIndexSize(index, length, limit());
return new HeapByteBuffer(hb,
-1,
0,
length,
length,
index + offset, segment);
}
public ByteBuffer duplicate() {
return new HeapByteBuffer(hb,
this.markValue(),
this.position(),
this.limit(),
this.capacity(),
offset, segment);
}
public ByteBuffer asReadOnlyBuffer() {
return new HeapByteBufferR(hb,
this.markValue(),
this.position(),
this.limit(),
this.capacity(),
offset, segment);
}
protected int ix(int i) {
return i + offset;
}
private long byteOffset(long i) {
return address + i;
}
public byte get() {
return hb[ix(nextGetIndex())];
}
public byte get(int i) {
return hb[ix(checkIndex(i))];
}
public ByteBuffer get(byte[] dst, int offset, int length) {
checkScope();
Objects.checkFromIndexSize(offset, length, dst.length);
int pos = position();
if (length > limit() - pos)
throw new BufferUnderflowException();
System.arraycopy(hb, ix(pos), dst, offset, length);
position(pos + length);
return this;
}
public ByteBuffer get(int index, byte[] dst, int offset, int length) {
checkScope();
Objects.checkFromIndexSize(index, length, limit());
Objects.checkFromIndexSize(offset, length, dst.length);
System.arraycopy(hb, ix(index), dst, offset, length);
return this;
}
public boolean isDirect() {
return false;
}
public boolean isReadOnly() {
return false;
}
public ByteBuffer put(byte x) {
hb[ix(nextPutIndex())] = x;
return this;
}
public ByteBuffer put(int i, byte x) {
hb[ix(checkIndex(i))] = x;
return this;
}
public ByteBuffer put(byte[] src, int offset, int length) {
checkScope();
Objects.checkFromIndexSize(offset, length, src.length);
int pos = position();
if (length > limit() - pos)
throw new BufferOverflowException();
System.arraycopy(src, offset, hb, ix(pos), length);
position(pos + length);
return this;
}
public ByteBuffer put(ByteBuffer src) {
checkScope();
super.put(src);
return this;
}
public ByteBuffer put(int index, ByteBuffer src, int offset, int length) {
checkScope();
super.put(index, src, offset, length);
return this;
}
public ByteBuffer put(int index, byte[] src, int offset, int length) {
checkScope();
Objects.checkFromIndexSize(index, length, limit());
Objects.checkFromIndexSize(offset, length, src.length);
System.arraycopy(src, offset, hb, ix(index), length);
return this;
}
public ByteBuffer compact() {
int pos = position();
int lim = limit();
assert (pos <= lim);
int rem = (pos <= lim ? lim - pos : 0);
System.arraycopy(hb, ix(pos), hb, ix(0), rem);
position(rem);
limit(capacity());
discardMark();
return this;
}
byte _get(int i) { // package-private
return hb[i];
}
void _put(int i, byte b) { // package-private
hb[i] = b;
}
// char
public char getChar() {
return SCOPED_MEMORY_ACCESS.getCharUnaligned(scope(), hb, byteOffset(nextGetIndex(2)), bigEndian);
}
public char getChar(int i) {
return SCOPED_MEMORY_ACCESS.getCharUnaligned(scope(), hb, byteOffset(checkIndex(i, 2)), bigEndian);
}
public ByteBuffer putChar(char x) {
SCOPED_MEMORY_ACCESS.putCharUnaligned(scope(), hb, byteOffset(nextPutIndex(2)), x, bigEndian);
return this;
}
public ByteBuffer putChar(int i, char x) {
SCOPED_MEMORY_ACCESS.putCharUnaligned(scope(), hb, byteOffset(checkIndex(i, 2)), x, bigEndian);
return this;
}
public CharBuffer asCharBuffer() {
int pos = position();
int size = (limit() - pos) >> 1;
long addr = address + pos;
return (bigEndian
? (CharBuffer)(new ByteBufferAsCharBufferB(this,
-1,
0,
size,
size,
addr, segment))
: (CharBuffer)(new ByteBufferAsCharBufferL(this,
-1,
0,
size,
size,
addr, segment)));
}
// short
public short getShort() {
return SCOPED_MEMORY_ACCESS.getShortUnaligned(scope(), hb, byteOffset(nextGetIndex(2)), bigEndian);
}
public short getShort(int i) {
return SCOPED_MEMORY_ACCESS.getShortUnaligned(scope(), hb, byteOffset(checkIndex(i, 2)), bigEndian);
}
public ByteBuffer putShort(short x) {
SCOPED_MEMORY_ACCESS.putShortUnaligned(scope(), hb, byteOffset(nextPutIndex(2)), x, bigEndian);
return this;
}
public ByteBuffer putShort(int i, short x) {
SCOPED_MEMORY_ACCESS.putShortUnaligned(scope(), hb, byteOffset(checkIndex(i, 2)), x, bigEndian);
return this;
}
public ShortBuffer asShortBuffer() {
int pos = position();
int size = (limit() - pos) >> 1;
long addr = address + pos;
return (bigEndian
? (ShortBuffer)(new ByteBufferAsShortBufferB(this,
-1,
0,
size,
size,
addr, segment))
: (ShortBuffer)(new ByteBufferAsShortBufferL(this,
-1,
0,
size,
size,
addr, segment)));
}
// int
public int getInt() {
return SCOPED_MEMORY_ACCESS.getIntUnaligned(scope(), hb, byteOffset(nextGetIndex(4)), bigEndian);
}
public int getInt(int i) {
return SCOPED_MEMORY_ACCESS.getIntUnaligned(scope(), hb, byteOffset(checkIndex(i, 4)), bigEndian);
}
public ByteBuffer putInt(int x) {
SCOPED_MEMORY_ACCESS.putIntUnaligned(scope(), hb, byteOffset(nextPutIndex(4)), x, bigEndian);
return this;
}
public ByteBuffer putInt(int i, int x) {
SCOPED_MEMORY_ACCESS.putIntUnaligned(scope(), hb, byteOffset(checkIndex(i, 4)), x, bigEndian);
return this;
}
public IntBuffer asIntBuffer() {
int pos = position();
int size = (limit() - pos) >> 2;
long addr = address + pos;
return (bigEndian
? (IntBuffer)(new ByteBufferAsIntBufferB(this,
-1,
0,
size,
size,
addr, segment))
: (IntBuffer)(new ByteBufferAsIntBufferL(this,
-1,
0,
size,
size,
addr, segment)));
}
// long
public long getLong() {
return SCOPED_MEMORY_ACCESS.getLongUnaligned(scope(), hb, byteOffset(nextGetIndex(8)), bigEndian);
}
public long getLong(int i) {
return SCOPED_MEMORY_ACCESS.getLongUnaligned(scope(), hb, byteOffset(checkIndex(i, 8)), bigEndian);
}
public ByteBuffer putLong(long x) {
SCOPED_MEMORY_ACCESS.putLongUnaligned(scope(), hb, byteOffset(nextPutIndex(8)), x, bigEndian);
return this;
}
public ByteBuffer putLong(int i, long x) {
SCOPED_MEMORY_ACCESS.putLongUnaligned(scope(), hb, byteOffset(checkIndex(i, 8)), x, bigEndian);
return this;
}
public LongBuffer asLongBuffer() {
int pos = position();
int size = (limit() - pos) >> 3;
long addr = address + pos;
return (bigEndian
? (LongBuffer)(new ByteBufferAsLongBufferB(this,
-1,
0,
size,
size,
addr, segment))
: (LongBuffer)(new ByteBufferAsLongBufferL(this,
-1,
0,
size,
size,
addr, segment)));
}
// float
public float getFloat() {
int x = SCOPED_MEMORY_ACCESS.getIntUnaligned(scope(), hb, byteOffset(nextGetIndex(4)), bigEndian);
return Float.intBitsToFloat(x);
}
public float getFloat(int i) {
int x = SCOPED_MEMORY_ACCESS.getIntUnaligned(scope(), hb, byteOffset(checkIndex(i, 4)), bigEndian);
return Float.intBitsToFloat(x);
}
public ByteBuffer putFloat(float x) {
int y = Float.floatToRawIntBits(x);
SCOPED_MEMORY_ACCESS.putIntUnaligned(scope(), hb, byteOffset(nextPutIndex(4)), y, bigEndian);
return this;
}
public ByteBuffer putFloat(int i, float x) {
int y = Float.floatToRawIntBits(x);
SCOPED_MEMORY_ACCESS.putIntUnaligned(scope(), hb, byteOffset(checkIndex(i, 4)), y, bigEndian);
return this;
}
public FloatBuffer asFloatBuffer() {
int pos = position();
int size = (limit() - pos) >> 2;
long addr = address + pos;
return (bigEndian
? (FloatBuffer)(new ByteBufferAsFloatBufferB(this,
-1,
0,
size,
size,
addr, segment))
: (FloatBuffer)(new ByteBufferAsFloatBufferL(this,
-1,
0,
size,
size,
addr, segment)));
}
// double
public double getDouble() {
long x = SCOPED_MEMORY_ACCESS.getLongUnaligned(scope(), hb, byteOffset(nextGetIndex(8)), bigEndian);
return Double.longBitsToDouble(x);
}
public double getDouble(int i) {
long x = SCOPED_MEMORY_ACCESS.getLongUnaligned(scope(), hb, byteOffset(checkIndex(i, 8)), bigEndian);
return Double.longBitsToDouble(x);
}
public ByteBuffer putDouble(double x) {
long y = Double.doubleToRawLongBits(x);
SCOPED_MEMORY_ACCESS.putLongUnaligned(scope(), hb, byteOffset(nextPutIndex(8)), y, bigEndian);
return this;
}
public ByteBuffer putDouble(int i, double x) {
long y = Double.doubleToRawLongBits(x);
SCOPED_MEMORY_ACCESS.putLongUnaligned(scope(), hb, byteOffset(checkIndex(i, 8)), y, bigEndian);
return this;
}
public DoubleBuffer asDoubleBuffer() {
int pos = position();
int size = (limit() - pos) >> 3;
long addr = address + pos;
return (bigEndian
? (DoubleBuffer)(new ByteBufferAsDoubleBufferB(this,
-1,
0,
size,
size,
addr, segment))
: (DoubleBuffer)(new ByteBufferAsDoubleBufferL(this,
-1,
0,
size,
size,
addr, segment)));
}
}
⏎ java/nio/HeapByteBuffer.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, ≈923🔥, 1💬
Popular Posts:
How to download and install mysql-connector-j-8.0.31 .zip?Connector/J Java library is a JDBC Driver ...
JDK 11 jdk.scripting.nashorn.jm odis the JMOD file for JDK 11 Scripting Nashorn module. JDK 11 Scrip...
What Is js.jar in Rhino JavaScript 1.7R5? js.jar in Rhino JavaScript 1.7R5 is the JAR file for Rhino...
What is the sax\Writer.java provided in the Apache Xerces package? I have Apache Xerces 2.11.0 insta...
io.jar is a component in iText Java library to provide input/output functionalities. iText Java libr...