本文整理汇总了Java中org.agrona.BitUtil.findNextPositivePowerOfTwo方法的典型用法代码示例。如果您正苦于以下问题:Java BitUtil.findNextPositivePowerOfTwo方法的具体用法?Java BitUtil.findNextPositivePowerOfTwo怎么用?Java BitUtil.findNextPositivePowerOfTwo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.agrona.BitUtil
的用法示例。
在下文中一共展示了BitUtil.findNextPositivePowerOfTwo方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: EncodedData2ObjectHashMap
import org.agrona.BitUtil; //导入方法依赖的package包/类
public EncodedData2ObjectHashMap(
final int initialCapacity,
final float loadFactor,
final int keyLengthInBytes,
final BiConsumer<K, ByteBuffer> keyEncoder,
final ToIntFunction<ByteBuffer> hashFunction,
final K nullKey)
{
this.capacity = BitUtil.findNextPositivePowerOfTwo(initialCapacity);
this.loadFactor = loadFactor;
this.keyLengthInBytes = keyLengthInBytes;
this.keyBuffer = ByteBuffer.allocate(keyLengthInBytes);
this.nullKeyBuffer = ByteBuffer.allocate(keyLengthInBytes);
this.keyEncoder = keyEncoder;
this.keySpace = ByteBuffer.allocate(keyLengthInBytes * capacity);
this.values = new Object[capacity];
this.hashFunction = hashFunction;
keyEncoder.accept(nullKey, nullKeyBuffer);
fillKeySpaceWithNullKey(keySpace, capacity);
if(loadFactor >= 1f)
{
throw new IllegalArgumentException("loadFactor must be < 1");
}
resizeThreshold = (int) (capacity * loadFactor);
}
示例2: ensureCapacity
import org.agrona.BitUtil; //导入方法依赖的package包/类
private void ensureCapacity(final int requiredCapacity)
{
if (requiredCapacity < 0)
{
throw new IllegalStateException(
"Insufficient capacity: length=" + keys.length + " required=" + requiredCapacity);
}
if (requiredCapacity > keys.length)
{
final int newCapacity = BitUtil.findNextPositivePowerOfTwo(requiredCapacity);
keys = Arrays.copyOf(keys, newCapacity);
}
}
示例3: AbstractConcurrentArrayQueue
import org.agrona.BitUtil; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
public AbstractConcurrentArrayQueue(final int requestedCapacity)
{
capacity = BitUtil.findNextPositivePowerOfTwo(requestedCapacity);
buffer = (E[])new Object[capacity];
}
示例4: NioSelectedKeySet
import org.agrona.BitUtil; //导入方法依赖的package包/类
/**
* Construct a key set with the given capacity.
*
* @param initialCapacity for the key set
*/
public NioSelectedKeySet(final int initialCapacity)
{
keys = new SelectionKey[BitUtil.findNextPositivePowerOfTwo(initialCapacity)];
}