public class LockInfo extends Object
Information about a lock. A lock can be a built-in object monitor, an ownable synchronizer, or the Condition
object associated with synchronizers.
An ownable synchronizer is a synchronizer that may be exclusively owned by a thread and uses AbstractOwnableSynchronizer
(or its subclass) to implement its synchronization property. ReentrantLock
and ReentrantReadWriteLock
are two examples of ownable synchronizers provided by the platform.
LockInfo
is mapped to a CompositeData
as specified in the from
method.AbstractOwnableSynchronizer
, Condition
public LockInfo(String className, int identityHashCode)
Constructs a LockInfo
object.
className
- the fully qualified name of the class of the lock object.identityHashCode
- the identity hash code
of the lock object.public String getClassName()
Returns the fully qualified name of the class of the lock object.
public int getIdentityHashCode()
Returns the identity hash code of the lock object returned from the System.identityHashCode(java.lang.Object)
method.
public static LockInfo from(CompositeData cd)
Returns a LockInfo
object represented by the given CompositeData
. The given CompositeData
must contain the following attributes:
Attribute Name | Type |
---|---|
className | java.lang.String |
identityHashCode | java.lang.Integer |
cd
- CompositeData
representing a LockInfo
LockInfo
object represented by cd
if cd
is not null
; null
otherwise.IllegalArgumentException
- if cd
does not represent a LockInfo
with the attributes described above.public String toString()
Returns a string representation of a lock. The returned string representation consists of the name of the class of the lock object, the at-sign character `@', and the unsigned hexadecimal representation of the identity hash code of the object. This method returns a string equals to the value of:
lock.getClass().getName() + '@' + Integer.toHexString(System.identityHashCode(lock))where
lock
is the lock object.
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.