本文整理了Java中com.yahoo.memory.WritableMemory.wrap()
方法的一些代码示例,展示了WritableMemory.wrap()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。WritableMemory.wrap()
方法的具体详情如下:
包路径:com.yahoo.memory.WritableMemory
类名称:WritableMemory
方法名:wrap
[英]Accesses the given ByteBuffer for write operations. The returned WritableMemory object has the same byte order, as the given ByteBuffer, unless the capacity of the given ByteBuffer is zero, then byte order of the returned WritableMemory object, as well as backing storage and read-only status are unspecified.
Note: Always qualify this method with the class name, e.g., WritableMemory.wrap(...).
[中]访问给定的字节缓冲区进行写操作。返回的WritableMemory对象与给定字节缓冲区具有相同的字节顺序,除非给定字节缓冲区的容量为零,否则返回的WritableMemory对象的字节顺序以及后备存储和只读状态均未指定。
注意:始终使用类名限定此方法,例如WritableMemory。包裹(…)。
代码示例来源:origin: apache/incubator-druid
private WritableMemory getMemory(ByteBuffer buffer)
{
WritableMemory mem = memCache.get(buffer);
if (mem == null) {
mem = WritableMemory.wrap(buffer, ByteOrder.LITTLE_ENDIAN);
memCache.put(buffer, mem);
}
return mem;
}
代码示例来源:origin: apache/incubator-druid
private WritableMemory getMemory(final ByteBuffer buffer)
{
return memCache.computeIfAbsent(buffer, buf -> WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN));
}
代码示例来源:origin: apache/incubator-druid
private WritableMemory getMemory(final ByteBuffer buf)
{
return memCache.computeIfAbsent(buf, b -> WritableMemory.wrap(b, ByteOrder.LITTLE_ENDIAN));
}
代码示例来源:origin: apache/incubator-druid
private WritableMemory getMemory(final ByteBuffer buffer)
{
return memCache.computeIfAbsent(buffer, buf -> WritableMemory.wrap(buf));
}
代码示例来源:origin: gchq/Gaffer
@Override
public ReservoirItemsSketch<T> deserialise(final byte[] bytes) throws SerialisationException {
return ReservoirItemsSketch.heapify(WritableMemory.wrap(bytes), arrayOfItemsSerDe);
}
代码示例来源:origin: gchq/Gaffer
@Override
public ReservoirItemsUnion<Number> deserialise(final byte[] bytes) throws SerialisationException {
return ReservoirItemsUnion.heapify(WritableMemory.wrap(bytes), SERIALISER);
}
代码示例来源:origin: gchq/Gaffer
@Override
public ItemsUnion<String> deserialise(final byte[] bytes) throws SerialisationException {
return ItemsUnion.getInstance(WritableMemory.wrap(bytes), Comparator.naturalOrder(), SERIALISER);
}
代码示例来源:origin: gchq/Gaffer
@Override
public ItemsSketch<String> deserialise(final byte[] bytes) throws SerialisationException {
return ItemsSketch.getInstance(WritableMemory.wrap(bytes), Comparator.naturalOrder(), SERIALISER);
}
代码示例来源:origin: gchq/Gaffer
@Override
public ReservoirLongsSketch deserialise(final byte[] bytes) throws SerialisationException {
return ReservoirLongsSketch.heapify(WritableMemory.wrap(bytes));
}
代码示例来源:origin: gchq/Gaffer
@Override
public LongsSketch deserialise(final byte[] bytes) throws SerialisationException {
return LongsSketch.getInstance(WritableMemory.wrap(bytes));
}
代码示例来源:origin: gchq/Gaffer
@Override
public ItemsSketch<String> deserialise(final byte[] bytes) throws SerialisationException {
return ItemsSketch.getInstance(WritableMemory.wrap(bytes), SERIALISER);
}
代码示例来源:origin: apache/incubator-druid
@SuppressWarnings("ResultOfObjectAllocationIgnored")
@Override
public void init(final ByteBuffer buf, final int position)
{
final WritableMemory mem = WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN).writableRegion(position, size);
// Not necessary to keep the constructed object since it is cheap to reconstruct by wrapping the memory.
// The objects are not cached as in BuildBufferAggregator since they never exceed the max size and never move.
// So it is easier to reconstruct them by wrapping memory then to keep position-to-object mappings.
new Union(lgK, mem);
}
代码示例来源:origin: apache/incubator-druid
@Override
public Object get(final ByteBuffer buf, final int position)
{
final WritableMemory mem = WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN).writableRegion(position, size);
final Lock lock = stripedLock.getAt(HllSketchBuildBufferAggregator.lockIndex(position)).readLock();
lock.lock();
try {
final Union union = Union.writableWrap(mem);
return union.getResult(tgtHllType);
}
finally {
lock.unlock();
}
}
代码示例来源:origin: apache/incubator-druid
/**
* This method uses locks because it can be used during indexing,
* and Druid can call aggregate() and get() concurrently
* https://github.com/apache/incubator-druid/pull/3956
* The returned sketch is a separate instance of ArrayOfDoublesCompactSketch
* representing the current state of the aggregation, and is not affected by consequent
* aggregate() calls
*/
@Override
public Object get(final ByteBuffer buf, final int position)
{
final WritableMemory mem = WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN);
final WritableMemory region = mem.writableRegion(position, maxIntermediateSize);
final Lock lock = stripedLock.getAt(ArrayOfDoublesSketchBuildBufferAggregator.lockIndex(position)).readLock();
lock.lock();
try {
final ArrayOfDoublesUnion union = ArrayOfDoublesSketches.wrapUnion(region);
return union.getResult();
}
finally {
lock.unlock();
}
}
代码示例来源:origin: apache/incubator-druid
@Override
public void aggregate(final ByteBuffer buf, final int position)
{
final HllSketch sketch = selector.getObject();
if (sketch == null) {
return;
}
final WritableMemory mem = WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN).writableRegion(position, size);
final Lock lock = stripedLock.getAt(HllSketchBuildBufferAggregator.lockIndex(position)).writeLock();
lock.lock();
try {
final Union union = Union.writableWrap(mem);
union.update(sketch);
}
finally {
lock.unlock();
}
}
代码示例来源:origin: apache/incubator-druid
/**
* This method uses locks because it can be used during indexing,
* and Druid can call aggregate() and get() concurrently
* https://github.com/apache/incubator-druid/pull/3956
* The returned sketch is a separate instance of ArrayOfDoublesCompactSketch
* representing the current state of the aggregation, and is not affected by consequent
* aggregate() calls
*/
@Override
public Object get(final ByteBuffer buf, final int position)
{
final WritableMemory mem = WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN);
final WritableMemory region = mem.writableRegion(position, maxIntermediateSize);
final Lock lock = stripedLock.getAt(lockIndex(position)).readLock();
lock.lock();
try {
final ArrayOfDoublesUpdatableSketch sketch = (ArrayOfDoublesUpdatableSketch) ArrayOfDoublesSketches
.wrapSketch(region);
return sketch.compact();
}
finally {
lock.unlock();
}
}
代码示例来源:origin: gchq/Gaffer
@Override
public DoublesUnion deserialise(final byte[] bytes) throws SerialisationException {
final DoublesUnion union = DoublesUnion.builder().build();
union.update(WritableMemory.wrap(bytes));
return union;
}
代码示例来源:origin: gchq/Gaffer
@Override
public Union deserialise(final byte[] bytes) throws SerialisationException {
final Union union = Sketches.setOperationBuilder().buildUnion();
union.update(WritableMemory.wrap(bytes));
return union;
}
代码示例来源:origin: apache/incubator-druid
@Override
public void init(final ByteBuffer buf, final int position)
{
final WritableMemory mem = WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN);
final WritableMemory region = mem.writableRegion(position, maxIntermediateSize);
new ArrayOfDoublesSetOperationBuilder().setNominalEntries(nominalEntries)
.setNumberOfValues(numberOfValues).buildUnion(region);
}
代码示例来源:origin: apache/incubator-druid
@Override
public void init(final ByteBuffer buf, final int position)
{
final WritableMemory mem = WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN);
final WritableMemory region = mem.writableRegion(position, maxIntermediateSize);
new ArrayOfDoublesUpdatableSketchBuilder().setNominalEntries(nominalEntries)
.setNumberOfValues(valueSelectors.length)
.setNumberOfValues(valueSelectors.length).build(region);
}
内容来源于网络,如有侵权,请联系作者删除!