java.nio.ByteBuffer#asLongBuffer ( )源码实例Demo

下面列出了java.nio.ByteBuffer#asLongBuffer ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: java-ipv6   文件: IPv6Address.java
/**
 * Create an IPv6 address from a byte array.
 *
 * @param bytes byte array with 16 bytes (interpreted unsigned)
 * @return IPv6 address
 */
public static IPv6Address fromByteArray(final byte[] bytes)
{
    if (bytes == null)
        throw new IllegalArgumentException("can not construct from [null]");
    if (bytes.length != N_BYTES)
        throw new IllegalArgumentException("the byte array to construct from should be 16 bytes long");

    ByteBuffer buf = ByteBuffer.allocate(N_BYTES);
    for (byte b : bytes)
    {
        buf.put(b);
    }

    buf.rewind();
    LongBuffer longBuffer = buf.asLongBuffer();
    return new IPv6Address(longBuffer.get(), longBuffer.get());
}
 
源代码2 项目: pixymeta-android   文件: ArrayUtils.java
public static byte[] toByteArray(long[] data, boolean bigEndian) {
	
	ByteBuffer byteBuffer = ByteBuffer.allocate(data.length * 8);
	
	if (bigEndian) {
		byteBuffer.order(ByteOrder.BIG_ENDIAN);
	} else {
		byteBuffer.order(ByteOrder.LITTLE_ENDIAN);
	}
       
	LongBuffer longBuffer = byteBuffer.asLongBuffer();
       longBuffer.put(data);

       byte[] array = byteBuffer.array();

	return array;
}
 
源代码3 项目: nd4j   文件: BaseDataBuffer.java
/**
 * Create a data buffer from
 * the given length
 *
 * @param buffer
 * @param length
 */
public BaseDataBuffer(ByteBuffer buffer, long length) {
    if (length < 1)
        throw new IllegalArgumentException("Length must be >= 1");
    initTypeAndSize();

    this.length = length;
    allocationMode = AllocUtil.getAllocationModeFromContext();

    if (dataType() == Type.DOUBLE) {
        pointer = new DoublePointer(buffer.asDoubleBuffer());
        setIndexer(DoubleIndexer.create((DoublePointer) pointer));
    } else if (dataType() == Type.FLOAT) {
        pointer = new FloatPointer(buffer.asFloatBuffer());
        setIndexer(FloatIndexer.create((FloatPointer) pointer));
    } else if (dataType() == Type.INT) {
        pointer = new IntPointer(buffer.asIntBuffer());
        setIndexer(IntIndexer.create((IntPointer) pointer));
    } else if (dataType() == Type.LONG) {
        pointer = new LongPointer(buffer.asLongBuffer());
        setIndexer(LongIndexer.create((LongPointer) pointer));
    }

    // log.info("Creating new buffer of size: {}; dtype: {}; D", length, dataType());
}
 
源代码4 项目: icafe   文件: ArrayUtils.java
public static int[] to32BitsLongArray(byte[] data, boolean bigEndian) {
	ByteBuffer byteBuffer = ByteBuffer.wrap(data);
	
	if (bigEndian) {
		byteBuffer.order(ByteOrder.BIG_ENDIAN);
	} else {
		byteBuffer.order(ByteOrder.LITTLE_ENDIAN);
	}
	
	LongBuffer longBuf = byteBuffer.asLongBuffer();
	long[] array = new long[longBuf.remaining()];
	longBuf.get(array);
	
	int[] iArray = new int[array.length];
	
	int i = 0;
	
	for(long l : array) {
		iArray[i++] = (int)l;
	}
	
	return iArray;
}
 
源代码5 项目: t-digest   文件: FloatHistogram.java
@Override
@SuppressWarnings("WeakerAccess")
public void writeObject(java.io.ObjectOutputStream out) throws IOException {
    out.writeDouble(min);
    out.writeDouble(max);
    out.writeByte(bitsOfPrecision);
    out.writeByte(shift);

    ByteBuffer buf = ByteBuffer.allocate(8 * counts.length);
    LongBuffer longBuffer = buf.asLongBuffer();
    Simple64.compress(longBuffer, counts, 0, counts.length);
    buf.position(8 * longBuffer.position());
    byte[] r = new byte[buf.position()];
    out.writeShort(buf.position());
    buf.flip();
    buf.get(r);
    out.write(r);
}
 
源代码6 项目: mt-flume   文件: FlumeEventQueue.java
/**
 * Read the inflights file and return a
 * {@link com.google.common.collect.SetMultimap}
 * of transactionIDs to events that were inflight.
 *
 * @return - map of inflight events per txnID.
 *
 */
public SetMultimap<Long, Long> deserialize()
        throws IOException, BadCheckpointException {
  SetMultimap<Long, Long> inflights = HashMultimap.create();
  if (!fileChannel.isOpen()) {
    file = new RandomAccessFile(inflightEventsFile, "rw");
    fileChannel = file.getChannel();
  }
  if(file.length() == 0) {
    return inflights;
  }
  file.seek(0);
  byte[] checksum = new byte[16];
  file.read(checksum);
  ByteBuffer buffer = ByteBuffer.allocate(
          (int)(file.length() - file.getFilePointer()));
  fileChannel.read(buffer);
  byte[] fileChecksum = digest.digest(buffer.array());
  if (!Arrays.equals(checksum, fileChecksum)) {
    throw new BadCheckpointException("Checksum of inflights file differs"
            + " from the checksum expected.");
  }
  buffer.position(0);
  LongBuffer longBuffer = buffer.asLongBuffer();
  try {
    while (true) {
      long txnID = longBuffer.get();
      int numEvents = (int)(longBuffer.get());
      for(int i = 0; i < numEvents; i++) {
        long val = longBuffer.get();
        inflights.put(txnID, val);
      }
    }
  } catch (BufferUnderflowException ex) {
    LOG.debug("Reached end of inflights buffer. Long buffer position ="
            + String.valueOf(longBuffer.position()));
  }
  return  inflights;
}
 
源代码7 项目: es6draft   文件: TypedArrayFunctions.java
private static final LongBuffer asLongBuffer(TypedArrayObject typedArray) {
    ByteBuffer data = byteBuffer(typedArray);
    int byteOffset = byteOffset(typedArray);
    int byteLength = byteLength(typedArray);

    data.limit(byteOffset + byteLength).position(byteOffset);
    LongBuffer view = data.asLongBuffer();
    data.clear();
    return view;
}
 
源代码8 项目: metrics   文件: LongJustCopy.java
@Override
public byte[] compress(long[] src) {
    ByteBuffer outbuf = ByteBuffer.allocate(src.length * 8);
    LongBuffer midbuf = outbuf.asLongBuffer();
    midbuf.put(src);
    return outbuf.array();
}
 
源代码9 项目: exchange-core   文件: SerializationUtils.java
public static long[] toLongsArray(final byte[] bytes, final int offset, final int length, final int padding) {

        final int longLength = requiredLongArraySize(length, padding);
        long[] longArray = new long[longLength];
        //log.debug("byte[{}]={}", bytes.length, bytes);
        final ByteBuffer allocate = ByteBuffer.allocate(longLength * 8 * 2);
        final LongBuffer longBuffer = allocate.asLongBuffer();
        allocate.put(bytes, offset, length);
        longBuffer.get(longArray);
        return longArray;
    }
 
源代码10 项目: cacheonix-core   文件: StorageUtilities.java
public static void controlInfoToByteArray(final byte[] data, final int offset,
                                          final byte controlByte, final long position,
                                          final int length) {

   data[offset] = controlByte;
   final ByteBuffer bBuffer = ByteBuffer.wrap(data, offset + 1, StorageConstants.STORAGE_CELL_MARKER_SIZE);
   final LongBuffer lBuffer = bBuffer.asLongBuffer();
   lBuffer.put(0, position);
   final ByteBuffer wBuffer = ByteBuffer.wrap(data, offset + StorageConstants.STORAGE_CELL_HEADER_SIZE,
           StorageConstants.STORAGE_DATA_LENGTH_SIZE);
   wBuffer.putInt(length);
}
 
源代码11 项目: netcdf-java   文件: ArrayLong.java
public ByteBuffer getDataAsByteBuffer(ByteOrder order) {
  ByteBuffer bb = super.getDataAsByteBuffer((int) (8 * getSize()), order);
  LongBuffer ib = bb.asLongBuffer();
  ib.put((long[]) get1DJavaArray(getDataType())); // make sure its in canonical order
  return bb;
}
 
源代码12 项目: TencentKona-8   文件: PerfCounter.java
private PerfCounter(String name, int type) {
    this.name = name;
    ByteBuffer bb = perf.createLong(name, type, U_None, 0L);
    bb.order(ByteOrder.nativeOrder());
    this.lb = bb.asLongBuffer();
}
 
源代码13 项目: openjdk-8-source   文件: PerfCounter.java
private PerfCounter(String name, int type) {
    this.name = name;
    ByteBuffer bb = perf.createLong(name, type, U_None, 0L);
    bb.order(ByteOrder.nativeOrder());
    this.lb = bb.asLongBuffer();
}
 
源代码14 项目: openjdk-jdk8u   文件: PerfCounter.java
private PerfCounter(String name, int type) {
    this.name = name;
    ByteBuffer bb = perf.createLong(name, type, U_None, 0L);
    bb.order(ByteOrder.nativeOrder());
    this.lb = bb.asLongBuffer();
}
 
源代码15 项目: jdk8u-dev-jdk   文件: PerfCounter.java
private PerfCounter(String name, int type) {
    this.name = name;
    ByteBuffer bb = perf.createLong(name, type, U_None, 0L);
    bb.order(ByteOrder.nativeOrder());
    this.lb = bb.asLongBuffer();
}
 
源代码16 项目: openjdk-jdk8u-backup   文件: PerfCounter.java
private PerfCounter(String name, int type) {
    this.name = name;
    ByteBuffer bb = perf.createLong(name, type, U_None, 0L);
    bb.order(ByteOrder.nativeOrder());
    this.lb = bb.asLongBuffer();
}
 
源代码17 项目: Bytecoder   文件: PerfCounter.java
private PerfCounter(String name, int type) {
    this.name = name;
    ByteBuffer bb = perf.createLong(name, type, U_None, 0L);
    bb.order(ByteOrder.nativeOrder());
    this.lb = bb.asLongBuffer();
}
 
源代码18 项目: cacheonix-core   文件: StorageUtilities.java
public static long byteArrayToLong(final byte[] buffer, final int offset) {

      final ByteBuffer bBuffer = ByteBuffer.wrap(buffer, offset, 8);
      final LongBuffer lBuffer = bBuffer.asLongBuffer();
      return lBuffer.get(0);
   }
 
源代码19 项目: openjdk-jdk9   文件: PerfCounter.java
private PerfCounter(String name, int type) {
    this.name = name;
    ByteBuffer bb = perf.createLong(name, type, U_None, 0L);
    bb.order(ByteOrder.nativeOrder());
    this.lb = bb.asLongBuffer();
}
 
源代码20 项目: hottub   文件: PerfCounter.java
private PerfCounter(String name, int type) {
    this.name = name;
    ByteBuffer bb = perf.createLong(name, type, U_None, 0L);
    bb.order(ByteOrder.nativeOrder());
    this.lb = bb.asLongBuffer();
}