Package org.aoju.bus.core.io.buffer
Class ByteBuffer
java.lang.Object
org.aoju.bus.core.io.ByteString
org.aoju.bus.core.io.buffer.ByteBuffer
- All Implemented Interfaces:
Serializable,Comparable<ByteString>
由字节数组段组成的不可变字节字符串 该类的存在是为了实现
缓冲区的有效快照 它被实现为一个段数组,加上一个目录
两个半部分,描述段如何组成这个字节字符串
- Since:
- Java 17+
- Author:
- Kimi Liu
- See Also:
-
Field Summary
Fields inherited from class org.aoju.bus.core.io.ByteString
EMPTY, hashCode -
Constructor Summary
ConstructorsConstructorDescriptionByteBuffer(int pageSize, int pageNo, boolean isDirect) ByteBuffer(Buffer buffer, int byteCount) -
Method Summary
Modifier and TypeMethodDescription申请内存页base64()booleanbytegetByte(int pos) inthashCode()hex()hmacSha1(ByteString key) hmacSha256(ByteString key) intindexOf(byte[] other, int fromIndex) byte[]intlastIndexOf(byte[] other, int fromIndex) md5()申请FastBufferThread的线程对象,配合线程池申请会有更好的性能表现booleanrangeEquals(int offset, byte[] other, int otherOffset, int byteCount) booleanrangeEquals(int offset, ByteString other, int otherOffset, int byteCount) voidrelease()释放回收内存sha1()sha256()intsize()substring(int beginIndex) substring(int beginIndex, int endIndex) byte[]toString()utf8()voidwrite(OutputStream out) voidMethods inherited from class org.aoju.bus.core.io.ByteString
compareTo, decodeBase64, decodeHex, encodeString, encodeUtf8, endsWith, endsWith, hmacSha512, indexOf, indexOf, indexOf, lastIndexOf, lastIndexOf, lastIndexOf, of, of, of, read, sha512, startsWith, startsWith
-
Constructor Details
-
ByteBuffer
-
ByteBuffer
public ByteBuffer(int pageSize, int pageNo, boolean isDirect) - Parameters:
pageSize- 内存页大小pageNo- 内存页个数isDirect- 是否使用直接缓冲区
-
-
Method Details
-
utf8
- Overrides:
utf8in classByteString
-
string
- Overrides:
stringin classByteString
-
base64
- Overrides:
base64in classByteString
-
hex
- Overrides:
hexin classByteString
-
toAsciiLowercase
- Overrides:
toAsciiLowercasein classByteString
-
toAsciiUppercase
- Overrides:
toAsciiUppercasein classByteString
-
md5
- Overrides:
md5in classByteString
-
sha1
- Overrides:
sha1in classByteString
-
sha256
- Overrides:
sha256in classByteString
-
hmacSha1
- Overrides:
hmacSha1in classByteString
-
hmacSha256
- Overrides:
hmacSha256in classByteString
-
base64Url
- Overrides:
base64Urlin classByteString
-
substring
- Overrides:
substringin classByteString
-
substring
- Overrides:
substringin classByteString
-
getByte
public byte getByte(int pos) - Overrides:
getBytein classByteString
-
size
public int size()- Overrides:
sizein classByteString
-
toByteArray
public byte[] toByteArray()- Overrides:
toByteArrayin classByteString
-
asByteBuffer
- Overrides:
asByteBufferin classByteString
-
write
- Overrides:
writein classByteString- Throws:
IOException
-
write
- Overrides:
writein classByteString
-
rangeEquals
- Overrides:
rangeEqualsin classByteString
-
rangeEquals
public boolean rangeEquals(int offset, byte[] other, int otherOffset, int byteCount) - Overrides:
rangeEqualsin classByteString
-
indexOf
public int indexOf(byte[] other, int fromIndex) - Overrides:
indexOfin classByteString
-
lastIndexOf
public int lastIndexOf(byte[] other, int fromIndex) - Overrides:
lastIndexOfin classByteString
-
internalArray
public byte[] internalArray()- Overrides:
internalArrayin classByteString
-
equals
- Overrides:
equalsin classByteString
-
hashCode
public int hashCode()- Overrides:
hashCodein classByteString
-
toString
-
newThread
申请FastBufferThread的线程对象,配合线程池申请会有更好的性能表现- Parameters:
target- Runnablename- 线程名- Returns:
- FastBufferThread线程对象
-
allocatePageBuffer
申请内存页- Returns:
- 缓存页对象
-
release
public void release()释放回收内存
-