|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.derby.iapi.services.memory.LowMemory
public class LowMemory
Methods to aid classes recover from OutOfMemoryErrors by denying or reducing service rather than a complete shutdown of the JVM. It's intended that classes use to functionality to allow then to deny service when memory is low to allow the JVM to recover, rather than start new operations that are probably doomed to failure due to the low memory.
Expected usage is one instance of this class per major logical
operation, e.g. creating a connection, preparing a statement,
adding an entry to a specific cache etc.
The logical operation would call isLowMemory() before starting
the operation, and thrown a static exception if it returns true.
If during the operation an OutOfMemoryException is thrown the
operation would call setLowMemory() and throw its static exception
representing low memory.
Future enhancments could be a callback mechanism for modules where they register they can reduce memory usage on a low memory situation. These callbacks would be triggered by a call to setLowMemory. For example the page cache could reduce its current size by 10% in a low memory situation.
Field Summary | |
---|---|
private long |
lowMemory
Free memory seen when caller indicated an out of memory situation. |
private long |
whenLowMemorySet
Time in ms corresponding to System.currentTimeMillis() when lowMemory was set. |
Constructor Summary | |
---|---|
LowMemory()
|
Method Summary | |
---|---|
boolean |
isLowMemory()
Return true if a low memory water mark has been set and the current free memory is lower than it. |
void |
setLowMemory()
Set a low memory watermark where the owner of this object just hit an OutOfMemoryError. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private long lowMemory
private long whenLowMemorySet
Constructor Detail |
---|
public LowMemory()
Method Detail |
---|
public void setLowMemory()
public boolean isLowMemory()
|
Built on Thu 2012-03-29 21:53:33+0000, from revision ??? | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |