sun.misc.Unsafe.pageSize()方法的使用及代码示例

x33g5p2x  于2022-01-31 转载在 其他  
字(4.3k)|赞(0)|评价(0)|浏览(103)

本文整理了Java中sun.misc.Unsafe.pageSize()方法的一些代码示例,展示了Unsafe.pageSize()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Unsafe.pageSize()方法的具体详情如下:
包路径:sun.misc.Unsafe
类名称:Unsafe
方法名:pageSize

Unsafe.pageSize介绍

[英]Report the size in bytes of a native memory page (whatever that is). This value will always be a power of two.
[中]以字节为单位报告本机内存页的大小(无论是什么)。这个值永远是二的幂。

代码示例

代码示例来源:origin: apache/ignite

/**
 * Returns page size.
 *
 * @return Page size.
 */
public static int pageSize() {
  return UNSAFE.pageSize();
}

代码示例来源:origin: apache/geode

public int getPageSize() {
 return this.unsafe.pageSize();
}

代码示例来源:origin: org.apache.hadoop/hadoop-common

/**
 * @return the operating system's page size.
 */
static long getOperatingSystemPageSize() {
 try {
  Field f = Unsafe.class.getDeclaredField("theUnsafe");
  f.setAccessible(true);
  Unsafe unsafe = (Unsafe)f.get(null);
  return unsafe.pageSize();
 } catch (Throwable e) {
  LOG.warn("Unable to get operating system page size.  Guessing 4096.", e);
  return 4096;
 }
}

代码示例来源:origin: shunfei/indexr

public static int pageSize() {
  if (PAGE_SIZE == -1) {
    PAGE_SIZE = unsafe.pageSize();
  }
  return PAGE_SIZE;
}

代码示例来源:origin: org.apache.ignite/ignite-core

/**
 * Returns page size.
 *
 * @return Page size.
 */
public static int pageSize() {
  return UNSAFE.pageSize();
}

代码示例来源:origin: org.apache.cassandra/cassandra-all

public static int pageSize()
{
  return unsafe.pageSize();
}

代码示例来源:origin: com.tomitribe.tribestream/tribestream-metrics-bytecode

public static int pageSize() {
  return UNSAFE.pageSize();
}

代码示例来源:origin: com.netflix.sstableadaptor/sstable-adaptor-cassandra

public static int pageSize()
{
  return unsafe.pageSize();
}

代码示例来源:origin: jsevellec/cassandra-unit

public static int pageSize()
{
  return unsafe.pageSize();
}

代码示例来源:origin: peptos/traffic-shm

public static int getPageSize() {
  return unsafe.pageSize();
}

代码示例来源:origin: net.openhft/chronicle-core

@Override
public int pageSize() {
  return UNSAFE.pageSize();
}

代码示例来源:origin: OpenHFT/Java-Lang

@Override
public Bytes load() {
  int pageSize = UNSAFE.pageSize();
  for (long addr = startAddr; addr < capacityAddr; addr += pageSize)
    UNSAFE.getByte(addr);
  return this;
}

代码示例来源:origin: net.openhft/lang

@Override
public Bytes load() {
  int pageSize = NativeBytes.UNSAFE.pageSize();
  for (int offset = start; offset < capacity; offset += pageSize)
    buffer.get(offset);
  return this;
}

代码示例来源:origin: OpenHFT/Java-Lang

@Override
public Bytes load() {
  int pageSize = NativeBytes.UNSAFE.pageSize();
  for (int offset = start; offset < capacity; offset += pageSize)
    buffer.get(offset);
  return this;
}

代码示例来源:origin: net.openhft/lang

@Override
public Bytes load() {
  int pageSize = UNSAFE.pageSize();
  for (long addr = startAddr; addr < capacityAddr; addr += pageSize)
    UNSAFE.getByte(addr);
  return this;
}

代码示例来源:origin: io.hops/hadoop-common

/**
 * @return the operating system's page size.
 */
static long getOperatingSystemPageSize() {
 try {
  Field f = Unsafe.class.getDeclaredField("theUnsafe");
  f.setAccessible(true);
  Unsafe unsafe = (Unsafe)f.get(null);
  return unsafe.pageSize();
 } catch (Throwable e) {
  LOG.warn("Unable to get operating system page size.  Guessing 4096.", e);
  return 4096;
 }
}

代码示例来源:origin: ch.cern.hadoop/hadoop-common

/**
 * @return the operating system's page size.
 */
static long getOperatingSystemPageSize() {
 try {
  Field f = Unsafe.class.getDeclaredField("theUnsafe");
  f.setAccessible(true);
  Unsafe unsafe = (Unsafe)f.get(null);
  return unsafe.pageSize();
 } catch (Throwable e) {
  LOG.warn("Unable to get operating system page size.  Guessing 4096.", e);
  return 4096;
 }
}

代码示例来源:origin: com.oracle.substratevm/objectfile

public static int getHostPageSize() {
  try {
    return getUnsafe().pageSize();
  } catch (IllegalArgumentException e) {
    return 4096;
  }
}

代码示例来源:origin: io.prestosql.hadoop/hadoop-apache

/**
 * @return the operating system's page size.
 */
static long getOperatingSystemPageSize() {
 try {
  Field f = Unsafe.class.getDeclaredField("theUnsafe");
  f.setAccessible(true);
  Unsafe unsafe = (Unsafe)f.get(null);
  return unsafe.pageSize();
 } catch (Throwable e) {
  LOG.warn("Unable to get operating system page size.  Guessing 4096.", e);
  return 4096;
 }
}

代码示例来源:origin: org.lwjgl.lwjgl/lwjgl_util

private static IntBuffer getMemory(final int START_SIZE) {
  final int PAGE_SIZE = MappedObjectUnsafe.INSTANCE.pageSize();
  final ByteBuffer buffer = ByteBuffer.allocateDirect((START_SIZE * 4) + PAGE_SIZE).order(ByteOrder.nativeOrder());
  // Align to page and, consequently, to cache line. Otherwise results will be inconsistent.
  if ( MemoryUtil.getAddress(buffer) % PAGE_SIZE != 0 ) {
    // Round up to page boundary
    buffer.position(PAGE_SIZE - (int)(MemoryUtil.getAddress(buffer) & (PAGE_SIZE - 1)));
  }
  return buffer.asIntBuffer();
}

相关文章

微信公众号

最新文章

更多

Unsafe类方法