本文整理了Java中java.lang.OutOfMemoryError
类的一些代码示例,展示了OutOfMemoryError
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。OutOfMemoryError
类的具体详情如下:
包路径:java.lang.OutOfMemoryError
类名称:OutOfMemoryError
[英]Thrown when a request for memory is made that can not be satisfied using the available platform resources. Such a request may be made by both the running application or by an internal function of the VM.
[中]当使用可用平台资源无法满足内存请求时引发。这样的请求可以由正在运行的应用程序或VM的内部功能发出。
代码示例来源:origin: netty/netty
private void expandArray() {
// double capacity
int newCapacity = array.length << 1;
if (newCapacity < 0) {
throw new OutOfMemoryError();
}
Object[] newArray = new Object[newCapacity];
System.arraycopy(array, 0, newArray, 0, array.length);
array = newArray;
}
}
代码示例来源:origin: spotbugs/spotbugs
public void tricky() {
try {
System.out.println("tricky()");
} catch (OutOfMemoryError e) {
e.printStackTrace();
}
System.gc();
}
代码示例来源:origin: apache/geode
public static long allocate(int size) {
if (unsafe == null) {
throw new OutOfMemoryError("Off-heap memory is not available because: " + reason);
}
try {
return unsafe.allocateMemory(size);
} catch (OutOfMemoryError err) {
String msg = "Failed creating " + size + " bytes of off-heap memory during cache creation.";
if (err.getMessage() != null && !err.getMessage().isEmpty()) {
msg += " Cause: " + err.getMessage();
}
if (!SharedLibrary.is64Bit() && size >= (1024 * 1024 * 1024)) {
msg +=
" The JVM looks like a 32-bit one. For large amounts of off-heap memory a 64-bit JVM is needed.";
}
throw new OutOfMemoryError(msg);
}
}
代码示例来源:origin: redisson/redisson
/**
* Increase the storage of this {@link KQueueEventArray}.
*/
void realloc(boolean throwIfFail) {
// Double the capacity while it is "sufficiently small", and otherwise increase by 50%.
int newLength = capacity <= 65536 ? capacity << 1 : capacity + capacity >> 1;
try {
ByteBuffer buffer = Buffer.allocateDirectWithNativeOrder(calculateBufferCapacity(newLength));
// Copy over the old content of the memory and reset the position as we always act on the buffer as if
// the position was never increased.
memory.position(0).limit(size);
buffer.put(memory);
buffer.position(0);
Buffer.free(memory);
memory = buffer;
memoryAddress = Buffer.memoryAddress(buffer);
} catch (OutOfMemoryError e) {
if (throwIfFail) {
OutOfMemoryError error = new OutOfMemoryError(
"unable to allocate " + newLength + " new bytes! Existing capacity is: " + capacity);
error.initCause(e);
throw error;
}
}
}
代码示例来源:origin: org.apache.spark/spark-core_2.11
public SparkOutOfMemoryError(OutOfMemoryError e) {
super(e.getMessage());
}
}
代码示例来源:origin: pentaho/pentaho-kettle
private void addToCache( Object[] value ) throws KettleException {
try {
data.look.add( value );
} catch ( java.lang.OutOfMemoryError o ) {
// exception out of memory
throw new KettleException( BaseMessages.getString( PKG, "FuzzyMatch.Error.JavaHeap", o.toString() ) );
}
}
代码示例来源:origin: org.apache.spark/spark-core
public SparkOutOfMemoryError(OutOfMemoryError e) {
super(e.getMessage());
}
}
代码示例来源:origin: facebook/stetho
private GetResponseBodyResponse readResponseBody(String requestId)
throws IOException, JsonRpcException {
GetResponseBodyResponse response = new GetResponseBodyResponse();
ResponseBodyData bodyData;
try {
bodyData = mResponseBodyFileManager.readFile(requestId);
} catch (OutOfMemoryError e) {
throw new JsonRpcException(new JsonRpcError(JsonRpcError.ErrorCode.INTERNAL_ERROR,
e.toString(),
null /* data */));
}
response.body = bodyData.data;
response.base64Encoded = bodyData.base64Encoded;
return response;
}
代码示例来源:origin: ltsopensource/light-task-scheduler
private static int hugeCapacity(int minCapacity) {
if (minCapacity < 0) // overflow
throw new OutOfMemoryError();
return (minCapacity > MAX_ARRAY_SIZE) ?
Integer.MAX_VALUE :
MAX_ARRAY_SIZE;
}
代码示例来源:origin: graphhopper/graphhopper
@Override
public boolean ensureCapacity(long bytes) {
if (bytes < 0)
throw new IllegalArgumentException("new capacity has to be strictly positive");
long cap = getCapacity();
long newBytes = bytes - cap;
if (newBytes <= 0)
return false;
int segmentsToCreate = (int) (newBytes / segmentSizeInBytes);
if (newBytes % segmentSizeInBytes != 0)
segmentsToCreate++;
try {
byte[][] newSegs = Arrays.copyOf(segments, segments.length + segmentsToCreate);
for (int i = segments.length; i < newSegs.length; i++) {
newSegs[i] = new byte[1 << segmentSizePower];
}
segments = newSegs;
} catch (OutOfMemoryError err) {
throw new OutOfMemoryError(err.getMessage() + " - problem when allocating new memory. Old capacity: "
+ cap + ", new bytes:" + newBytes + ", segmentSizeIntsPower:" + segmentSizePower
+ ", new segments:" + segmentsToCreate + ", existing:" + segments.length);
}
return true;
}
代码示例来源:origin: stanfordnlp/CoreNLP
public void nudgeDownArraySize() {
try {
if (arraySize > 2) {
considerCreatingArrays(arraySize - 2);
}
} catch (OutOfMemoryError oome) {
oome.printStackTrace();
}
}
代码示例来源:origin: neo4j/neo4j
private OutOfMemoryError error( long length, int itemSize, OutOfMemoryError error )
{
return Exceptions.withMessage( error, format( "%s: Not enough memory available for allocating %s, tried %s",
error.getMessage(), bytes( length * itemSize ), Arrays.toString( candidates ) ) );
}
代码示例来源:origin: cSploit/android
Logger.error(ome.toString());
代码示例来源:origin: ltsopensource/light-task-scheduler
private static int hugeCapacity(int minCapacity) {
if (minCapacity < 0) // overflow
throw new OutOfMemoryError();
return (minCapacity > MAX_ARRAY_SIZE) ?
Integer.MAX_VALUE :
MAX_ARRAY_SIZE;
}
代码示例来源:origin: graphhopper/graphhopper
@Override
public boolean ensureCapacity(long bytes) {
if (bytes < 0)
throw new IllegalArgumentException("new capacity has to be strictly positive");
long cap = getCapacity();
long newBytes = bytes - cap;
if (newBytes <= 0)
return false;
int segmentsToCreate = (int) (newBytes / segmentSizeInBytes);
if (newBytes % segmentSizeInBytes != 0)
segmentsToCreate++;
try {
int[][] newSegs = Arrays.copyOf(segments, segments.length + segmentsToCreate);
for (int i = segments.length; i < newSegs.length; i++) {
newSegs[i] = new int[1 << segmentSizeIntsPower];
}
segments = newSegs;
return true;
} catch (OutOfMemoryError err) {
throw new OutOfMemoryError(err.getMessage() + " - problem when allocating new memory. Old capacity: "
+ cap + ", new bytes:" + newBytes + ", segmentSizeIntsPower:" + segmentSizeIntsPower
+ ", new segments:" + segmentsToCreate + ", existing:" + segments.length);
}
}
代码示例来源:origin: spotbugs/spotbugs
public void tricky2() {
try {
System.out.println("tricky()");
} catch (OutOfMemoryError e) {
e.printStackTrace();
}
for (int i = 0; i < 20; i++)
System.out.println(i);
System.gc();
}
代码示例来源:origin: steelkiwi/cropiwa
private static Bitmap transformBitmap(@NonNull Bitmap bitmap, @NonNull Matrix transformMatrix) {
Bitmap result = bitmap;
try {
Bitmap converted = Bitmap.createBitmap(
bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(),
transformMatrix,
true);
if (!bitmap.sameAs(converted)) {
result = converted;
bitmap.recycle();
}
} catch (OutOfMemoryError error) {
CropIwaLog.e(error.getMessage(), error);
}
return result;
}
代码示例来源:origin: neo4j/neo4j
@Override
public int size()
{
if ( length != -1 )
{
return length;
}
else
{
long l = ((end - start) / step) + 1;
if ( l > Integer.MAX_VALUE )
{
throw new OutOfMemoryError( "Cannot index an collection of size " + l );
}
length = (int) l;
return length;
}
}
代码示例来源:origin: apache/hive
void init(int arenaIx) {
this.arenaIx = arenaIx;
try {
data = preallocateArenaBuffer(arenaSize);
} catch (OutOfMemoryError oom) {
throw new OutOfMemoryError("Cannot allocate " + arenaSize + " bytes: " + oom.getMessage()
+ "; make sure your xmx and process size are set correctly.");
}
int maxMinAllocs = 1 << (arenaSizeLog2 - minAllocLog2);
buffers = new LlapAllocatorBuffer[maxMinAllocs];
headers = new byte[maxMinAllocs];
int allocLog2Diff = maxAllocLog2 - minAllocLog2, freeListCount = allocLog2Diff + 1;
freeLists = new FreeList[freeListCount];
for (int i = 0; i < freeListCount; ++i) {
freeLists[i] = new FreeList();
}
int maxMaxAllocs = 1 << (arenaSizeLog2 - maxAllocLog2),
headerIndex = 0, headerStep = 1 << allocLog2Diff;
freeLists[allocLog2Diff].listHead = 0;
for (int i = 0, offset = 0; i < maxMaxAllocs; ++i, offset += maxAllocation) {
setHeaderFree(headerIndex, allocLog2Diff, CasLog.Src.CTOR);
data.putInt(offset, (i == 0) ? -1 : (headerIndex - headerStep));
data.putInt(offset + 4, (i == maxMaxAllocs - 1) ? -1 : (headerIndex + headerStep));
headerIndex += headerStep;
}
}
代码示例来源:origin: tyrantgit/ExplosionField
public static Bitmap createBitmapSafely(int width, int height, Bitmap.Config config, int retryCount) {
try {
return Bitmap.createBitmap(width, height, config);
} catch (OutOfMemoryError e) {
e.printStackTrace();
if (retryCount > 0) {
System.gc();
return createBitmapSafely(width, height, config, retryCount - 1);
}
return null;
}
}
}
内容来源于网络,如有侵权,请联系作者删除!