com.eclipsesource.v8.V8.removeReferenceHandler()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(3.5k)|赞(0)|评价(0)|浏览(96)

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

V8.removeReferenceHandler介绍

[英]Removes an existing ReferenceHandler from the collection of reference handlers. If the ReferenceHandler does not exist in the collection, it is ignored.
[中]从引用处理程序集合中移除现有的ReferenceHandler。如果集合中不存在ReferenceHandler,则会忽略它。

代码示例

代码示例来源:origin: eclipsesource/J2V8

/**
 * Releases this Memory Manager and all V8Objects that were created while
 * this memory manager was active.
 */
public void release() {
  v8.getLocker().checkThread();
  if (released) {
    return;
  }
  releasing = true;
  try {
    for (V8Value reference : references) {
      reference.close();
    }
    v8.removeReferenceHandler(memoryManagerReferenceHandler);
    references.clear();
  } finally {
    releasing = false;
  }
  released = true;
}

代码示例来源:origin: eclipsesource/J2V8

/**
 * Releases this Memory Manager and all V8Objects that were created while
 * this memory manager was active.
 */
public void release() {
  v8.getLocker().checkThread();
  if (released) {
    return;
  }
  releasing = true;
  try {
    for (V8Value reference : references) {
      reference.close();
    }
    v8.removeReferenceHandler(memoryManagerReferenceHandler);
    references.clear();
  } finally {
    releasing = false;
  }
  released = true;
}

代码示例来源:origin: eclipsesource/J2V8

@Test
public void testV8UnknownReferenceHandleRemoved() {
  ReferenceHandler referenceHandler1 = mock(ReferenceHandler.class);
  ReferenceHandler referenceHandler2 = mock(ReferenceHandler.class);
  v8.addReferenceHandler(referenceHandler1);
  v8.removeReferenceHandler(referenceHandler2);
  V8Object object = new V8Object(v8);
  verify(referenceHandler1, times(1)).v8HandleCreated(object);
  object.close();
}

代码示例来源:origin: eclipsesource/J2V8

@Test
public void testV8ReferenceHandleRemoved() {
  ReferenceHandler referenceHandler = mock(ReferenceHandler.class);
  v8.addReferenceHandler(referenceHandler);
  v8.removeReferenceHandler(referenceHandler);
  V8Object object = new V8Object(v8);
  verify(referenceHandler, never()).v8HandleCreated(object);
  object.close();
}

代码示例来源:origin: eclipsesource/J2V8

@SuppressWarnings("resource")
public void testExceptionDuringReleaseDoesNotReleaseMemoryManager() {
  memoryManager = new MemoryManager(v8);
  ReferenceHandler handler = new ReferenceHandler() {
    @Override
    public void v8HandleDisposed(final V8Value object) {
      // Throws CME
      memoryManager.persist(object);
    }
    @Override
    public void v8HandleCreated(final V8Value object) {
    }
  };
  v8.addReferenceHandler(handler);
  new V8Object(v8);
  try {
    memoryManager.release();
  } catch (ConcurrentModificationException e) {
  }
  assertFalse(memoryManager.isReleased());
  v8.removeReferenceHandler(handler);
  memoryManager.release();
  assertTrue(memoryManager.isReleased());
}

代码示例来源:origin: com.eclipsesource.j2v8/j2v8_macosx_x86_64

/**
 * Releases this Memory Manager and all V8Objects that were created while
 * this memory manager was active.
 */
public void release() {
  v8.getLocker().checkThread();
  if (released) {
    return;
  }
  releasing = true;
  try {
    for (V8Value reference : references) {
      reference.release();
    }
    v8.removeReferenceHandler(memoryManagerReferenceHandler);
    references.clear();
  } finally {
    releasing = false;
  }
  released = true;
}

代码示例来源:origin: com.eclipsesource.j2v8/j2v8_win32_x86_64

/**
 * Releases this Memory Manager and all V8Objects that were created while
 * this memory manager was active.
 */
public void release() {
  v8.getLocker().checkThread();
  if (released) {
    return;
  }
  releasing = true;
  try {
    for (V8Value reference : references) {
      reference.release();
    }
    v8.removeReferenceHandler(memoryManagerReferenceHandler);
    references.clear();
  } finally {
    releasing = false;
  }
  released = true;
}

相关文章

微信公众号

最新文章

更多

V8类方法