public final class ReferenceCountUtil
extends java.lang.Object
ReferenceCounted
.限定符和类型 | 方法和说明 |
---|---|
static int |
refCnt(java.lang.Object msg)
Returns reference count of a
ReferenceCounted object. |
static boolean |
release(java.lang.Object msg)
Try to call
ReferenceCounted.release() if the specified message implements ReferenceCounted . |
static boolean |
release(java.lang.Object msg,
int decrement)
Try to call
ReferenceCounted.release(int) if the specified message implements ReferenceCounted . |
static <T> T |
releaseLater(T msg)
已过时。
this may introduce a lot of memory usage so it is generally preferable to manually release objects.
|
static <T> T |
releaseLater(T msg,
int decrement)
已过时。
this may introduce a lot of memory usage so it is generally preferable to manually release objects.
|
static <T> T |
retain(T msg)
Try to call
ReferenceCounted.retain() if the specified message implements ReferenceCounted . |
static <T> T |
retain(T msg,
int increment)
Try to call
ReferenceCounted.retain() if the specified message implements ReferenceCounted . |
static void |
safeRelease(java.lang.Object msg)
Try to call
ReferenceCounted.release() if the specified message implements ReferenceCounted . |
static void |
safeRelease(java.lang.Object msg,
int decrement)
Try to call
ReferenceCounted.release(int) if the specified message implements ReferenceCounted . |
public static <T> T retain(T msg)
ReferenceCounted.retain()
if the specified message implements ReferenceCounted
.
If the specified message doesn't implement ReferenceCounted
, this method does nothing.public static <T> T retain(T msg, int increment)
ReferenceCounted.retain()
if the specified message implements ReferenceCounted
.
If the specified message doesn't implement ReferenceCounted
, this method does nothing.public static boolean release(java.lang.Object msg)
ReferenceCounted.release()
if the specified message implements ReferenceCounted
.
If the specified message doesn't implement ReferenceCounted
, this method does nothing.public static boolean release(java.lang.Object msg, int decrement)
ReferenceCounted.release(int)
if the specified message implements ReferenceCounted
.
If the specified message doesn't implement ReferenceCounted
, this method does nothing.public static void safeRelease(java.lang.Object msg)
ReferenceCounted.release()
if the specified message implements ReferenceCounted
.
If the specified message doesn't implement ReferenceCounted
, this method does nothing.
Unlike release(Object)
this method catches an exception raised by ReferenceCounted.release()
and logs it, rather than rethrowing it to the caller. It is usually recommended to use release(Object)
instead, unless you absolutely need to swallow an exception.public static void safeRelease(java.lang.Object msg, int decrement)
ReferenceCounted.release(int)
if the specified message implements ReferenceCounted
.
If the specified message doesn't implement ReferenceCounted
, this method does nothing.
Unlike release(Object)
this method catches an exception raised by ReferenceCounted.release(int)
and logs it, rather than rethrowing it to the caller. It is usually recommended to use
release(Object, int)
instead, unless you absolutely need to swallow an exception.@Deprecated public static <T> T releaseLater(T msg)
@Deprecated public static <T> T releaseLater(T msg, int decrement)
public static int refCnt(java.lang.Object msg)
ReferenceCounted
object. If object is not type of
ReferenceCounted
, -1
is returned.