本文整理了Java中com.graphhopper.util.Helper.cleanHack()
方法的一些代码示例,展示了Helper.cleanHack()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Helper.cleanHack()
方法的具体详情如下:
包路径:com.graphhopper.util.Helper
类名称:Helper
方法名:cleanHack
[英]Trying to force the release of the mapped ByteBuffer. See http://stackoverflow.com/q/2972986/194609 and use only if you know what you are doing.
[中]试图强制释放映射的ByteBuffer。看见http://stackoverflow.com/q/2972986/194609只有当你知道自己在做什么时才使用。
代码示例来源:origin: graphhopper/graphhopper
/**
* @param forceClean if true the clean hack (system.gc) will be executed and forces the system
* to cleanup the mmap resources. Set false if you need to close many MMapDataAccess objects.
*/
void close(boolean forceClean) {
clean(0, segments.size());
segments.clear();
Helper.close(raFile);
if (forceClean)
Helper.cleanHack();
}
代码示例来源:origin: graphhopper/graphhopper
@Override
public void trimTo(long capacity) {
if (capacity < segmentSizeInBytes) {
capacity = segmentSizeInBytes;
}
int remainingSegNo = (int) (capacity / segmentSizeInBytes);
if (capacity % segmentSizeInBytes != 0) {
remainingSegNo++;
}
clean(remainingSegNo, segments.size());
Helper.cleanHack();
segments = new ArrayList<>(segments.subList(0, remainingSegNo));
try {
// windows does not allow changing the length of an open files
if (!Constants.WINDOWS) {
// reduce file size
raFile.setLength(HEADER_OFFSET + remainingSegNo * segmentSizeInBytes);
}
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
代码示例来源:origin: graphhopper/graphhopper
ioex = tmpex;
trial++;
Helper.cleanHack();
try {
代码示例来源:origin: graphhopper/graphhopper
@Override
public void clear() {
// If there is at least one MMap DA then do not apply the cleanHack
// for every single mmap DA as this is very slow if lots of DataAccess objects were collected
// => forceClean == false
MMapDataAccess mmapDA = null;
for (DataAccess da : map.values()) {
if (da instanceof MMapDataAccess)
mmapDA = (MMapDataAccess) da;
removeDA(da, da.getName(), false);
}
if (mmapDA != null)
cleanHack();
map.clear();
}
代码示例来源:origin: com.graphhopper/graphhopper
/**
* @param forceClean if true the clean hack (system.gc) will be executed and forces the system
* to cleanup the mmap resources. Set false if you need to close many MMapDataAccess objects.
*/
void close( boolean forceClean )
{
clean(0, segments.size());
segments.clear();
Helper.close(raFile);
if (forceClean)
Helper.cleanHack();
}
代码示例来源:origin: com.rgi-corp/graphhopper
/**
* @param forceClean if true the clean hack (system.gc) will be executed and forces the system
* to cleanup the mmap resources. Set false if you need to close many MMapDataAccess objects.
*/
void close(boolean forceClean) {
clean(0, segments.size());
segments.clear();
Helper.close(raFile);
if (forceClean)
Helper.cleanHack();
}
代码示例来源:origin: com.graphhopper/graphhopper
boolean releaseSegment( int segNumber )
{
ByteBuffer segment = segments.get(segNumber);
if (segment instanceof MappedByteBuffer)
{
((MappedByteBuffer) segment).force();
}
Helper.cleanMappedByteBuffer(segment);
segments.set(segNumber, null);
Helper.cleanHack();
return true;
}
代码示例来源:origin: com.rgi-corp/graphhopper
boolean releaseSegment(int segNumber) {
ByteBuffer segment = segments.get(segNumber);
if (segment instanceof MappedByteBuffer) {
((MappedByteBuffer) segment).force();
}
Helper.cleanMappedByteBuffer(segment);
segments.set(segNumber, null);
Helper.cleanHack();
return true;
}
代码示例来源:origin: com.graphhopper/graphhopper-core
@Override
public void trimTo(long capacity) {
if (capacity < segmentSizeInBytes) {
capacity = segmentSizeInBytes;
}
int remainingSegNo = (int) (capacity / segmentSizeInBytes);
if (capacity % segmentSizeInBytes != 0) {
remainingSegNo++;
}
clean(remainingSegNo, segments.size());
Helper.cleanHack();
segments = new ArrayList<>(segments.subList(0, remainingSegNo));
try {
// windows does not allow changing the length of an open files
if (!Constants.WINDOWS) {
// reduce file size
raFile.setLength(HEADER_OFFSET + remainingSegNo * segmentSizeInBytes);
}
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
代码示例来源:origin: com.graphhopper/graphhopper-core
/**
* @param forceClean if true the clean hack (system.gc) will be executed and forces the system
* to cleanup the mmap resources. Set false if you need to close many MMapDataAccess objects.
*/
void close(boolean forceClean) {
clean(0, segments.size());
segments.clear();
Helper.close(raFile);
if (forceClean)
Helper.cleanHack();
}
代码示例来源:origin: com.rgi-corp/graphhopper
@Override
public void trimTo(long capacity) {
if (capacity < segmentSizeInBytes) {
capacity = segmentSizeInBytes;
}
int remainingSegNo = (int) (capacity / segmentSizeInBytes);
if (capacity % segmentSizeInBytes != 0) {
remainingSegNo++;
}
clean(remainingSegNo, segments.size());
Helper.cleanHack();
segments = new ArrayList<ByteBuffer>(segments.subList(0, remainingSegNo));
try {
// windows does not allow changing the length of an open files
if (!Constants.WINDOWS) {
// reduce file size
raFile.setLength(HEADER_OFFSET + remainingSegNo * segmentSizeInBytes);
}
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
代码示例来源:origin: com.rgi-corp/graphhopper
@Override
public void clear() {
// If there is at least one MMap DA then do not apply the cleanHack
// for every single mmap DA as this is very slow if lots of DataAccess objects were collected
// => forceClean == false
MMapDataAccess mmapDA = null;
for (DataAccess da : map.values()) {
if (da instanceof MMapDataAccess)
mmapDA = (MMapDataAccess) da;
removeDA(da, da.getName(), false);
}
if (mmapDA != null)
Helper.cleanHack();
map.clear();
}
代码示例来源:origin: com.graphhopper/graphhopper-core
ioex = tmpex;
trial++;
Helper.cleanHack();
try {
代码示例来源:origin: com.graphhopper/graphhopper
@Override
public void clear()
{
// If there is at least one MMap DA then do not apply the cleanHack
// for every single mmap DA as this is very slow if lots of DataAccess objects were collected
// => forceClean == false
MMapDataAccess mmapDA = null;
for (DataAccess da : map.values())
{
if (da instanceof MMapDataAccess)
mmapDA = (MMapDataAccess) da;
removeDA(da, da.getName(), false);
}
if (mmapDA != null)
Helper.cleanHack();
map.clear();
}
代码示例来源:origin: com.graphhopper/graphhopper
@Override
public void trimTo( long capacity )
{
if (capacity < segmentSizeInBytes)
{
capacity = segmentSizeInBytes;
}
int remainingSegNo = (int) (capacity / segmentSizeInBytes);
if (capacity % segmentSizeInBytes != 0)
{
remainingSegNo++;
}
clean(remainingSegNo, segments.size());
Helper.cleanHack();
segments = new ArrayList<ByteBuffer>(segments.subList(0, remainingSegNo));
try
{
// windows does not allow changing the length of an open files
if (!Constants.WINDOWS)
// reduce file size
{
raFile.setLength(HEADER_OFFSET + remainingSegNo * segmentSizeInBytes);
}
} catch (Exception ex)
{
throw new RuntimeException(ex);
}
}
代码示例来源:origin: com.graphhopper/graphhopper-core
@Override
public void clear() {
// If there is at least one MMap DA then do not apply the cleanHack
// for every single mmap DA as this is very slow if lots of DataAccess objects were collected
// => forceClean == false
MMapDataAccess mmapDA = null;
for (DataAccess da : map.values()) {
if (da instanceof MMapDataAccess)
mmapDA = (MMapDataAccess) da;
removeDA(da, da.getName(), false);
}
if (mmapDA != null)
cleanHack();
map.clear();
}
代码示例来源:origin: com.graphhopper/graphhopper
Helper.cleanHack();
try
代码示例来源:origin: com.rgi-corp/graphhopper
ioex = tmpex;
trial++;
Helper.cleanHack();
try {
代码示例来源:origin: com.rgi-corp/graphhopper
newSegments = segmentsToMap;
clean(0, segments.size());
Helper.cleanHack();
segments.clear();
} else {
代码示例来源:origin: com.graphhopper/graphhopper
Helper.cleanHack();
segments.clear();
} else
内容来源于网络,如有侵权,请联系作者删除!