Um DataBuffer
de bytes.
Métodos Públicos
abstrato BooleanDataBuffer | asBooleans () Retorne esse buffer de bytes como um buffer de booleanos. |
DoubleDataBuffer abstrato | asDoubles () Retorne esse buffer de bytes como um buffer de duplos. |
FloatDataBuffer abstrato | asFloats () Retorne este buffer de byte como um buffer de floats. |
abstrato IntDataBuffer | asInts () Retorne esse buffer de bytes como um buffer de ints. |
LongDataBuffer abstrato | asLongs () Retorne esse buffer de bytes como um buffer de longos. |
ShortDataBuffer abstrato | asShorts () Retorne esse buffer de bytes como um buffer de curtos. |
ByteDataBuffer abstrato | copyTo ( DataBuffer <Byte> dst, tamanho longo) |
byte abstrato | getByte (índice longo) Lê o byte no índice fornecido. |
Byte abstrato | getObject (índice longo) Lê o valor no índice fornecido. |
ByteDataBuffer abstrato | estreito (tamanho longo) Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo deste buffer, cujo tamanho é definido para o valor fornecido. |
ByteDataBuffer abstrato | deslocamento (índice longo) Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo deste buffer, começando no índice fornecido. |
ByteDataBuffer abstrato | ler (byte [] dst) Método de obtenção em massa, usando matrizes de bytes. |
ByteDataBuffer abstrato | ler (byte [] dst, deslocamento interno, comprimento interno) Método de obtenção em massa, usando matrizes de bytes. |
ByteDataBuffer abstrato | setByte (valor de byte, índice longo) Grava o byte fornecido neste buffer no índice fornecido. |
ByteDataBuffer abstrato | setObject (valor de byte, índice longo) |
ByteDataBuffer abstrato | fatia (índice longo, tamanho longo) Cria um novo buffer cujo conteúdo é uma subseqüência compartilhada do conteúdo desse buffer, começando com o índice fornecido e com o tamanho fornecido. |
abstrato DataBufferWindow < ByteDataBuffer > | janela (tamanho longo) Cria um DataBufferWindow que fornece uma visão parcial deste buffer. |
ByteDataBuffer abstrato | escrever (byte [] src) Método Bulk put , usando matrizes de bytes. |
ByteDataBuffer abstrato | escrever (byte [] src, deslocamento interno, comprimento interno) Método Bulk put , usando matrizes de bytes. |
Métodos herdados
Métodos Públicos
public abstract BooleanDataBuffer asBooleans ()
Retorne esse buffer de bytes como um buffer de booleanos.
O buffer retornado fornece uma visão diferente na mesma memória do buffer de bytes original, o que significa que alterar um valor em um afetará o outro.
Devoluções
- este buffer como um
BooleanDataBuffer
Lança
IllegalStateException | se este buffer não pode ser convertido |
---|
public abstract DoubleDataBuffer asDoubles ()
Retorne esse buffer de bytes como um buffer de duplos.
O buffer retornado fornece uma visão diferente na mesma memória do buffer de bytes original, o que significa que alterar um valor em um afetará o outro.
Devoluções
- este buffer como um
DoubleDataBuffer
Lança
IllegalStateException | se este buffer não pode ser convertido |
---|
public abstract FloatDataBuffer asFloats ()
Retorne este buffer de byte como um buffer de floats.
O buffer retornado fornece uma visão diferente na mesma memória do buffer de bytes original, o que significa que alterar um valor em um afetará o outro.
Devoluções
- este buffer como um
FloatDataBuffer
Lança
IllegalStateException | se este buffer não pode ser convertido |
---|
public abstract IntDataBuffer asInts ()
Retorne esse buffer de bytes como um buffer de ints.
O buffer retornado fornece uma visão diferente na mesma memória do buffer de bytes original, o que significa que alterar um valor em um afetará o outro.
Devoluções
- este buffer como um
IntDataBuffer
Lança
IllegalStateException | se este buffer não pode ser convertido |
---|
public abstract LongDataBuffer asLongs ()
Retorne esse buffer de bytes como um buffer de longos.
O buffer retornado fornece uma visão diferente na mesma memória do buffer de bytes original, o que significa que alterar um valor em um afetará o outro.
Devoluções
- este buffer como um
LongDataBuffer
Lança
IllegalStateException | se este buffer não pode ser convertido |
---|
public abstract ShortDataBuffer asShorts ()
Retorne esse buffer de bytes como um buffer de curtos.
O buffer retornado fornece uma visão diferente na mesma memória do buffer de bytes original, o que significa que alterar um valor em um afetará o outro.
Devoluções
- este buffer como um
ShortDataBuffer
Lança
IllegalStateException | se este buffer não pode ser convertido |
---|
public abstract byte getByte (índice longo)
Lê o byte no índice fornecido.
Parâmetros
índice | o índice a partir do qual o float será lido |
---|
Devoluções
- o byte no índice fornecido
Lança
IndexOutOfBoundsException | se o índice é negativo ou não menor que o tamanho do buffer |
---|
public abstract Byte getObject (índice longo)
Lê o valor no índice fornecido. Importante: o uso deste método deve ser limitado a buffers de tipos não primitivos ou quando o tipo de dados não é deterministicamente conhecido pelo responsável pela chamada. Em qualquer outro caso, prefira o uso de sua variante primitiva que irá melhorar significativamente o desempenho (por exemplo, IntDataBuffer.getInt(idx)
Parâmetros
índice | o índice a partir do qual o float será lido |
---|
Devoluções
- o valor no índice fornecido
public abstract ByteDataBuffer estreito (tamanho longo)
Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo deste buffer, cujo tamanho é definido para o valor fornecido.
O novo tamanho não deve ser maior que o tamanho do buffer. As alterações no conteúdo deste buffer serão visíveis no novo buffer e vice-versa. O novo buffer será somente leitura se, e somente se, este buffer for somente leitura.
Esta chamada é equivalente a slice(0, size)
Parâmetros
Tamanho | tamanho deste novo buffer |
---|
Devoluções
- o novo buffer
offset public abstract ByteDataBuffer (índice longo)
Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo deste buffer, começando no índice fornecido.
O índice não deve ser maior que o tamanho do buffer. As alterações no conteúdo deste buffer serão visíveis no novo buffer e vice-versa. O novo buffer será somente leitura se, e somente se, este buffer for somente leitura.
Esta chamada é equivalente a slice(index, size() - index)
Parâmetros
índice | índice do primeiro valor do novo buffer criado, não deve ser maior que size() |
---|
Devoluções
- o novo buffer
leitura de byteDataBuffer abstrato público (byte [] dst)
Método de obtenção em massa, usando matrizes de bytes.
Este método transfere valores desse buffer para a matriz de destino fornecida. Se houver menos valores no buffer do que o necessário para atender à solicitação, ou seja, se dst.length > size()
, nenhum valor será transferido e uma BufferUnderflowException será lançada.
Caso contrário, este método copia os valores n = dst.length
desse buffer para a matriz fornecida.
Parâmetros
DST | a matriz na qual os valores devem ser escritos |
---|
Devoluções
- este buffer
Lança
BufferUnderflowException | se não houver valores suficientes para copiar deste buffer |
---|
leitura de byteDataBuffer abstrato público (byte [] dst, deslocamento interno , comprimento interno )
Método de obtenção em massa, usando matrizes de bytes.
Este método transfere valores desse buffer para a matriz de destino fornecida. Se houver menos valores no buffer do que o necessário para satisfazer a solicitação, ou seja, se length > size()
, nenhum valor será transferido e uma BufferUnderflowException será lançada.
Caso contrário, este método copia n = length
valores de n = length
deste buffer para o array fornecido, começando no deslocamento fornecido.
Parâmetros
DST | a matriz na qual os valores devem ser escritos |
---|---|
Deslocamento | o deslocamento dentro da matriz do primeiro valor a ser escrito; deve ser não negativo e não maior que dst.length |
comprimento | o número máximo de valores a serem gravados na matriz fornecida; deve ser não negativo e não maior que dst.length - offset |
Devoluções
- este buffer
Lança
BufferUnderflowException | se houver menos do que os valores de comprimento restantes neste buffer |
---|---|
IndexOutOfBoundsException | se as pré-condições nos parâmetros de deslocamento e comprimento não forem válidas |
public abstract ByteDataBuffer setByte (valor de byte, índice longo)
Grava o byte fornecido neste buffer no índice fornecido.
Parâmetros
valor | o byte a ser escrito |
---|---|
índice | o índice em que o valor será escrito |
Devoluções
- este buffer
Lança
IndexOutOfBoundsException | se o índice é negativo ou não menor que o tamanho do buffer |
---|---|
ReadOnlyBufferException | se este buffer for somente leitura |
Fatia public abstract ByteDataBuffer (índice longo, tamanho longo)
Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo desse buffer, começando no índice fornecido e com o tamanho fornecido.
O índice mais o novo tamanho não deve ser maior que o tamanho do buffer. As alterações no conteúdo deste buffer serão visíveis no novo buffer e vice-versa. O novo buffer será somente leitura se, e somente se, este buffer for somente leitura.
Parâmetros
índice | índice do primeiro valor do novo buffer criado |
---|---|
Tamanho | tamanho deste novo buffer, não deve ser maior que size() |
Devoluções
- o novo buffer
janela public abstract DataBufferWindow < ByteDataBuffer > (tamanho longo)
Cria um DataBufferWindow
que fornece uma visão parcial deste buffer.
A janela criada tem um tamanho fixo e pode "slide"
ao longo desse buffer para fornecer diferentes visualizações dos dados sem alocar uma nova instância de buffer, como o offset(long)
faz. Isso melhora o desempenho geral quando esta operação é repetida com frequência. Por exemplo:
IntDataBuffer bufferA = DataBuffers.ofInts(1024);
// ... init buffer data
IntDataBuffer bufferB = DataBuffers.ofInts(1, 2, 3, 4);
// Return the index of the first occurrence of bufferB in bufferA using a sliding window
DataBufferWindow<IntDataBuffer> windowA = bufferA.window(4);
for (int i = 0; i < bufferA.size() - bufferB.size(); ++i) {
if (windowA.slideTo(i).buffer().equals(bufferB)) {
return i;
}
}
O objeto retornado tem estado e não é seguro para thread.
Parâmetros
Tamanho | tamanho da janela |
---|
Devoluções
- uma nova janela que começa no índice 0 deste buffer
public abstract ByteDataBuffer write (byte [] src)
Método Bulk put , usando matrizes de bytes.
Este método transfere os valores da matriz de origem fornecida para este buffer. Se houver mais valores na matriz de origem do que neste buffer, ou seja, se src.length > size()
, nenhum valor será transferido e uma BufferOverflowException será lançada.
Caso contrário, este método copia os valores n = src.length
da matriz fornecida.
Parâmetros
src | a matriz de origem da qual os valores devem ser lidos |
---|
Devoluções
- este buffer
Lança
BufferOverflowException | se houver espaço insuficiente neste buffer para os valores na matriz de origem |
---|---|
ReadOnlyBufferException | se este buffer for somente leitura |
escrita de byteDataBuffer abstrato público (byte [] src, deslocamento interno , comprimento interno )
Método Bulk put , usando matrizes de bytes.
Este método transfere os valores da matriz de origem fornecida para este buffer. Se houver mais valores na matriz de origem do que neste buffer, ou seja, se length > size()
, nenhum valor será transferido e uma BufferOverflowException será lançada.
Caso contrário, este método copia n = length
valores de n = length
da matriz fornecida para este buffer, começando no deslocamento fornecido.
Parâmetros
src | a matriz de origem da qual os valores devem ser lidos |
---|---|
Deslocamento | o deslocamento dentro da matriz do primeiro valor a ser lido; deve ser não negativo e não maior que src.length |
comprimento | o número de valores a serem lidos na matriz fornecida; deve ser não negativo e não maior que src.length - offset |
Devoluções
- este buffer
Lança
BufferOverflowException | se houver espaço insuficiente neste buffer para os valores na matriz de origem |
---|---|
IndexOutOfBoundsException | se as pré-condições nos parâmetros de deslocamento e comprimento não forem válidas |
ReadOnlyBufferException | se este buffer for somente leitura |