FindBugs (1.3.7)
Analysis for
<<unnamed project>>
FindBugs Analysis generated at: Sun, 2 May 2010 20:35:14 +0200
| Package |
Code Size |
Bugs |
Bugs p1 |
Bugs p2 |
Bugs p3 |
Bugs Exp. |
Ratio |
|
Overall
(46 packages),
(207 classes)
|
13552 |
174 |
25 |
149 |
|
|
|
| hu.netmind.beankeeper.cache.impl |
292 |
6 |
4 |
2 |
|
|
|
| hu.netmind.beankeeper.db.impl |
1612 |
13 |
1 |
12 |
|
|
|
| hu.netmind.beankeeper.lock |
48 |
3 |
|
3 |
|
|
|
| hu.netmind.beankeeper.lock.impl |
470 |
6 |
|
6 |
|
|
|
| hu.netmind.beankeeper.logging.impl |
114 |
4 |
|
4 |
|
|
|
| hu.netmind.beankeeper.model.impl |
821 |
24 |
|
24 |
|
|
|
| hu.netmind.beankeeper.modification.impl |
251 |
5 |
1 |
4 |
|
|
|
| hu.netmind.beankeeper.node.impl |
800 |
14 |
3 |
11 |
|
|
|
| hu.netmind.beankeeper.object |
49 |
2 |
|
2 |
|
|
|
| hu.netmind.beankeeper.object.impl |
417 |
6 |
|
6 |
|
|
|
| hu.netmind.beankeeper.operation.impl |
88 |
3 |
|
3 |
|
|
|
| hu.netmind.beankeeper.parser |
4049 |
37 |
2 |
35 |
|
|
|
| hu.netmind.beankeeper.query.impl |
714 |
5 |
|
5 |
|
|
|
| hu.netmind.beankeeper.serial.impl |
38 |
3 |
1 |
2 |
|
|
|
| hu.netmind.beankeeper.store.event |
91 |
1 |
|
1 |
|
|
|
| hu.netmind.beankeeper.store.impl |
516 |
1 |
|
1 |
|
|
|
| hu.netmind.beankeeper.transaction |
126 |
10 |
|
10 |
|
|
|
| hu.netmind.beankeeper.transaction.impl |
282 |
1 |
1 |
|
|
|
|
| hu.netmind.beankeeper.type.impl |
1848 |
30 |
12 |
18 |
|
|
|
Analysis Errors:
- Missing ref classes for analysis:
- org.apache.commons.configuration.AbstractConfiguration
- org.apache.commons.configuration.Configuration
- org.apache.commons.configuration.PropertiesConfiguration
- org.apache.commons.configuration.event.ConfigurationEvent
- org.apache.commons.configuration.event.ConfigurationListener
- org.apache.log4j.Logger
Se / SE_BAD_FIELD
This Serializable class defines a non-primitive instance field which is neither transient,
Serializable, or java.lang.Object, and does not appear to implement
the Externalizable interface or the
readObject() and writeObject() methods.
Objects of this class will not be deserialized correctly if a non-Serializable
object is stored in this field.
UwF / UWF_NULL_FIELD
All writes to this field are of the constant value null, and thus
all reads of the field will return null.
Check for errors, or remove it if it is useless.
Nm / NM_METHOD_NAMING_CONVENTION
Methods should be verbs, in mixed case with the first letter lowercase, with the first letter of each internal word capitalized.
EI2 / EI_EXPOSE_REP2
This code stores a reference to an externally mutable object into the
internal representation of the object.
If instances
are accessed by untrusted code, and unchecked changes to
the mutable object would compromise security or other
important properties, you will need to do something different.
Storing a copy of the object is better approach in many situations.
Dm / DM_STRING_CTOR
Using the java.lang.String(String) constructor wastes memory
because the object so constructed will be functionally indistinguishable
from the String passed as a parameter. Just use the
argument String directly.
NP / NP_UNWRITTEN_FIELD
The program is dereferencing a field that does not seem to ever have a non-null value written to it.
Dereferencing this value will generate a null pointer exception.
UrF / URF_UNREAD_FIELD
This field is never read. Consider removing it from the class.
ST / ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD
This instance method writes to a static field. This is tricky to get
correct if multiple instances are being manipulated,
and generally bad practice.
MS / MS_PKGPROTECT
A mutable static field could be changed by malicious code or
by accident.
The field could be made package protected to avoid
this vulnerability.
OBL / OBL_UNSATISFIED_OBLIGATION
This method may fail to clean up (close, dispose of) a stream,
database object, or other
resource requiring an explicit cleanup operation.
In general, if a method opens a stream or other resource,
the method should use a try/finally block to ensure that
the stream or resource is cleaned up before the method
returns.
This bug pattern is essentially the same as the
OS_OPEN_STREAM and ODR_OPEN_DATABASE_RESOURCE
bug patterns, but is based on a different
(and hopefully better) static analysis technique.
We are interested is getting feedback about the
usefulness of this bug pattern.
To send feedback, either:
In particular,
the false-positive suppression heuristics for this
bug pattern have not been extensively tuned, so
reports about false positives are helpful to us.
See Weimer and Necula, Finding and Preventing Run-Time Error Handling Mistakes, for
a description of the analysis technique.
OS / OS_OPEN_STREAM
The method creates an IO stream object, does not assign it to any
fields, pass it to other methods that might close it,
or return it, and does not appear to close
the stream on all paths out of the method. This may result in
a file descriptor leak. It is generally a good
idea to use a finally block to ensure that streams are
closed.
SC / SC_START_IN_CTOR
The constructor starts a thread. This is likely to be wrong if
the class is ever extended/subclassed, since the thread will be started
before the subclass constructor is started.
Bx / DM_NUMBER_CTOR
Using new Integer(int) is guaranteed to always result in a new object whereas
Integer.valueOf(int) allows caching of values to be done by the compiler, class library, or JVM.
Using of cached values avoids object allocation and the code will be faster.
Values between -128 and 127 are guaranteed to have corresponding cached instances
and using valueOf is approximately 3.5 times faster than using constructor.
For values outside the constant range the performance of both styles is the same.
Unless the class must be compatible with JVMs predating Java 1.5,
use either autoboxing or the valueOf() method when creating instances of
Long, Integer, Short, Character, and Byte.
SIC / SIC_INNER_SHOULD_BE_STATIC
This class is an inner class, but does not use its embedded reference
to the object which created it. This reference makes the instances
of the class larger, and may keep the reference to the creator object
alive longer than necessary. If possible, the class should be
made static.
BC / BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS
The equals(Object o) method shouldn't make any assumptions
about the type of o. It should simply return
false if o is not the same type as this.
RCN / RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
This method contains a redundant check of a known non-null value against
the constant null.
IS / IS2_INCONSISTENT_SYNC
The fields of this class appear to be accessed inconsistently with respect
to synchronization. This bug report indicates that the bug pattern detector
judged that
- The class contains a mix of locked and unlocked accesses,
- At least one locked access was performed by one of the class's own methods, and
- The number of unsynchronized field accesses (reads and writes) was no more than
one third of all accesses, with writes being weighed twice as high as reads
A typical bug matching this bug pattern is forgetting to synchronize
one of the methods in a class that is intended to be thread-safe.
You can select the nodes labeled "Unsynchronized access" to show the
code locations where the detector believed that a field was accessed
without synchronization.
Note that there are various sources of inaccuracy in this detector;
for example, the detector cannot statically detect all situations in which
a lock is held. Also, even when the detector is accurate in
distinguishing locked vs. unlocked accesses, the code in question may still
be correct.
Eq / EQ_COMPARETO_USE_OBJECT_EQUALS
This class defines a compareTo(...) method but inherits its
equals() method from java.lang.Object.
Generally, the value of compareTo should return zero if and only if
equals returns true. If this is violated, weird and unpredictable
failures will occur in classes such as PriorityQueue.
In Java 5 the PriorityQueue.remove method uses the compareTo method,
while in Java 6 it uses the equals method.
From the JavaDoc for the compareTo method in the Comparable interface:
It is strongly recommended, but not strictly required that (x.compareTo(y)==0) == (x.equals(y)).
Generally speaking, any class that implements the Comparable interface and violates this condition
should clearly indicate this fact. The recommended language
is "Note: this class has a natural ordering that is inconsistent with equals."
MS / MS_SHOULD_BE_FINAL
A mutable static field could be changed by malicious code or
by accident from another package.
The field could be made final to avoid
this vulnerability.
Eq / EQ_DOESNT_OVERRIDE_EQUALS
This class extends a class that defines an equals method and adds fields, but doesn't
define an equals method itself. Thus, equality on instances of this class will
ignore the identity of the subclass and the added fields. Be sure this is what is intended,
and that you don't need to override the equals method. Even if you don't need to override
the equals method, consider overriding it anyway to document the fact
that the equals method for the subclass just return the result of
invoking super.equals(o).
EI / EI_EXPOSE_REP
Returning a reference to a mutable object value stored in one of the object's fields
exposes the internal representation of the object.
If instances
are accessed by untrusted code, and unchecked changes to
the mutable object would compromise security or other
important properties, you will need to do something different.
Returning a new copy of the object is better approach in many situations.
Dm / DM_STRING_TOSTRING
Calling String.toString() is just a redundant operation.
Just use the String.
NP / NP_NULL_ON_SOME_PATH
There is a branch of statement that, if executed, guarantees that
a null value will be dereferenced, which
would generate a NullPointerException when the code is executed.
Of course, the problem might be that the branch or statement is infeasible and that
the null pointer exception can't ever be executed; deciding that is beyond the ability of FindBugs.
NP / NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT
This implementation of equals(Object) violates the contract defined
by java.lang.Object.equals() because it does not check for null
being passed as the argument. All equals() methods should return
false if passed a null value.
RC / RC_REF_COMPARISON
This method compares two reference values using the == or != operator,
where the correct way to compare instances of this type is generally
with the equals() method. Examples of classes which should generally
not be compared by reference are java.lang.Integer, java.lang.Float, etc.
MS / MS_OOI_PKGPROTECT
A final static field that is
defined in an interface references a mutable
object such as an array or hashtable.
This mutable object could
be changed by malicious code or
by accident from another package.
To solve this, the field needs to be moved to a class
and made package protected
to avoid
this vulnerability.
DL / DL_SYNCHRONIZATION_ON_BOXED_PRIMITIVE
The code synchronizes on a boxed primitive constant, such as an Integer.
private static Integer count = 0;
...
synchronized(count) {
count++;
}
...
Since Integer objects can be cached and shared,
this code could be synchronizing on the same object as other, unrelated code, leading to unresponsiveness
and possible deadlock
Dm / DM_BOOLEAN_CTOR
Creating new instances of java.lang.Boolean wastes
memory, since Boolean objects are immutable and there are
only two useful values of this type. Use the Boolean.valueOf()
method (or Java 1.5 autoboxing) to create Boolean objects instead.
REC / REC_CATCH_EXCEPTION
This method uses a try-catch block that catches Exception objects, but Exception is not
thrown within the try block, and RuntimeException is not explicitly caught. It is a common bug pattern to
say try { ... } catch (Exception e) { something } as a shorthand for catching a number of types of exception
each of whose catch blocks is identical, but this construct also accidentally catches RuntimeException as well,
masking potential bugs.
SBSC / SBSC_USE_STRINGBUFFER_CONCATENATION
The method seems to be building a String using concatenation in a loop.
In each iteration, the String is converted to a StringBuffer/StringBuilder,
appended to, and converted back to a String.
This can lead to a cost quadratic in the number of iterations,
as the growing string is recopied in each iteration.
Better performance can be obtained by using
a StringBuffer (or StringBuilder in Java 1.5) explicitly.
For example:
// This is bad
String s = "";
for (int i = 0; i < field.length; ++i) {
s = s + field[i];
}
// This is better
StringBuffer buf = new StringBuffer();
for (int i = 0; i < field.length; ++i) {
buf.append(field[i]);
}
String s = buf.toString();
In class hu.netmind.beankeeper.cache.impl.MinimalResultsCache
In method hu.netmind.beankeeper.cache.impl.MinimalResultsCache.configurationReload()
Field hu.netmind.beankeeper.cache.impl.MinimalResultsCache.EXPIRATION_INTERVAL
At MinimalResultsCache.java:[line 484]
Write to static field hu.netmind.beankeeper.cache.impl.MinimalResultsCache.EXPIRATION_INTERVAL from instance method hu.netmind.beankeeper.cache.impl.MinimalResultsCache.configurationReload()
In class hu.netmind.beankeeper.cache.impl.MinimalResultsCache
In method hu.netmind.beankeeper.cache.impl.MinimalResultsCache.configurationReload()
Field hu.netmind.beankeeper.cache.impl.MinimalResultsCache.FREE_RATE
At MinimalResultsCache.java:[line 482]
Write to static field hu.netmind.beankeeper.cache.impl.MinimalResultsCache.FREE_RATE from instance method hu.netmind.beankeeper.cache.impl.MinimalResultsCache.configurationReload()
In class hu.netmind.beankeeper.cache.impl.MinimalResultsCache
In method hu.netmind.beankeeper.cache.impl.MinimalResultsCache.configurationReload()
Field hu.netmind.beankeeper.cache.impl.MinimalResultsCache.MIN_FREE_BYTES
At MinimalResultsCache.java:[line 478]
Write to static field hu.netmind.beankeeper.cache.impl.MinimalResultsCache.MIN_FREE_BYTES from instance method hu.netmind.beankeeper.cache.impl.MinimalResultsCache.configurationReload()
In class hu.netmind.beankeeper.cache.impl.MinimalResultsCache
In method hu.netmind.beankeeper.cache.impl.MinimalResultsCache.configurationReload()
Field hu.netmind.beankeeper.cache.impl.MinimalResultsCache.MIN_FREE_RATE
At MinimalResultsCache.java:[line 480]
Write to static field hu.netmind.beankeeper.cache.impl.MinimalResultsCache.MIN_FREE_RATE from instance method hu.netmind.beankeeper.cache.impl.MinimalResultsCache.configurationReload()
In class hu.netmind.beankeeper.cache.impl.MinimalResultsCache$CacheEntry
In method hu.netmind.beankeeper.cache.impl.MinimalResultsCache$CacheEntry.compareTo(Object)
At MinimalResultsCache.java:[line 465]
hu.netmind.beankeeper.cache.impl.MinimalResultsCache$CacheEntry defines compareTo(Object) and uses Object.equals()
In class hu.netmind.beankeeper.cache.impl.MinimalResultsCache$CacheEntry
At MinimalResultsCache.java:[lines 447-465]
Should hu.netmind.beankeeper.cache.impl.MinimalResultsCache$CacheEntry be a _static_ inner class?
In class hu.netmind.beankeeper.db.impl.ConnectionSourceImpl
In method hu.netmind.beankeeper.db.impl.ConnectionSourceImpl.configurationReload()
Field hu.netmind.beankeeper.db.impl.ConnectionSourceImpl.TIMEOUT
At ConnectionSourceImpl.java:[line 275]
Write to static field hu.netmind.beankeeper.db.impl.ConnectionSourceImpl.TIMEOUT from instance method hu.netmind.beankeeper.db.impl.ConnectionSourceImpl.configurationReload()
In class hu.netmind.beankeeper.db.impl.ConnectionSourceImpl$ConnectionWrapper
At ConnectionSourceImpl.java:[lines 260-264]
Should hu.netmind.beankeeper.db.impl.ConnectionSourceImpl$ConnectionWrapper be a _static_ inner class?
In class hu.netmind.beankeeper.db.impl.ConnectionSourceImpl$WrapperHandler
At ConnectionSourceImpl.java:[lines 244-256]
Should hu.netmind.beankeeper.db.impl.ConnectionSourceImpl$WrapperHandler be a _static_ inner class?
In class hu.netmind.beankeeper.db.impl.DatabaseBase
In method hu.netmind.beankeeper.db.impl.DatabaseBase.readReservedWords()
Need to close java.io.Reader
At DatabaseBase.java:[line 640]
hu.netmind.beankeeper.db.impl.DatabaseBase.readReservedWords() may fail to close stream
In class hu.netmind.beankeeper.db.impl.GenericDatabase
In method hu.netmind.beankeeper.db.impl.GenericDatabase.getTableAttributeTypes(Connection, String)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At GenericDatabase.java:[line 621]
Method hu.netmind.beankeeper.db.impl.GenericDatabase.getTableAttributeTypes(Connection, String) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
In class hu.netmind.beankeeper.db.impl.GenericDatabase
In method hu.netmind.beankeeper.db.impl.GenericDatabase.executeUpdate(Connection, String)
At GenericDatabase.java:[line 1401]
Another occurrence at GenericDatabase.java:[line 1403]
Method hu.netmind.beankeeper.db.impl.GenericDatabase.executeUpdate(Connection, String) invokes toString() method on a String
In class hu.netmind.beankeeper.db.impl.GenericDatabase
In method hu.netmind.beankeeper.db.impl.GenericDatabase.getQuerySource(QueryStatement, List)
Value loaded from firstTerm
Dereferenced at GenericDatabase.java:[line 852]
Known null at GenericDatabase.java:[line 850]
Possible null pointer dereference of firstTerm in hu.netmind.beankeeper.db.impl.GenericDatabase.getQuerySource(QueryStatement, List)
In class hu.netmind.beankeeper.db.impl.MysqlDatabaseImpl
In method hu.netmind.beankeeper.db.impl.MysqlDatabaseImpl.getJavaValue(Object, int, Class)
At MysqlDatabaseImpl.java:[line 142]
hu.netmind.beankeeper.db.impl.MysqlDatabaseImpl.getJavaValue(Object, int, Class) invokes inefficient Boolean constructor; use Boolean.valueOf(...) instead
In class hu.netmind.beankeeper.db.impl.OracleDatabaseImpl
In method hu.netmind.beankeeper.db.impl.OracleDatabaseImpl.getJavaValue(Object, int, Class)
At OracleDatabaseImpl.java:[line 188]
hu.netmind.beankeeper.db.impl.OracleDatabaseImpl.getJavaValue(Object, int, Class) invokes inefficient Boolean constructor; use Boolean.valueOf(...) instead
In class hu.netmind.beankeeper.db.impl.OracleDatabaseImpl
In method hu.netmind.beankeeper.db.impl.OracleDatabaseImpl.getJavaValue(Object, int, Class)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At OracleDatabaseImpl.java:[line 225]
Method hu.netmind.beankeeper.db.impl.OracleDatabaseImpl.getJavaValue(Object, int, Class) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
In class hu.netmind.beankeeper.db.impl.OracleDatabaseImpl
In method hu.netmind.beankeeper.db.impl.OracleDatabaseImpl.getJavaValue(Object, int, Class)
Called method new Long(long)
Should call Long.valueOf(long) instead
At OracleDatabaseImpl.java:[line 223]
Method hu.netmind.beankeeper.db.impl.OracleDatabaseImpl.getJavaValue(Object, int, Class) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
In class hu.netmind.beankeeper.db.impl.OracleDatabaseImpl
In method hu.netmind.beankeeper.db.impl.OracleDatabaseImpl.getSQLValue(Object)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At OracleDatabaseImpl.java:[line 169]
Method hu.netmind.beankeeper.db.impl.OracleDatabaseImpl.getSQLValue(Object) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
In class hu.netmind.beankeeper.db.impl.OracleDatabaseImpl
In method hu.netmind.beankeeper.db.impl.OracleDatabaseImpl.getSQLValue(Object)
At OracleDatabaseImpl.java:[line 151]
hu.netmind.beankeeper.db.impl.OracleDatabaseImpl.getSQLValue(Object) invokes inefficient new String(String) constructor
In class hu.netmind.beankeeper.lock.ConcurrentModificationException
In method hu.netmind.beankeeper.lock.ConcurrentModificationException.getObjects()
Field hu.netmind.beankeeper.lock.ConcurrentModificationException.objs
At ConcurrentModificationException.java:[line 55]
hu.netmind.beankeeper.lock.ConcurrentModificationException.getObjects() may expose internal representation by returning ConcurrentModificationException.objs
In class hu.netmind.beankeeper.lock.ConcurrentModificationException
In method new hu.netmind.beankeeper.lock.ConcurrentModificationException(SessionInfo, Object[], String)
Field hu.netmind.beankeeper.lock.ConcurrentModificationException.objs
Local variable named objs
At ConcurrentModificationException.java:[line 40]
new hu.netmind.beankeeper.lock.ConcurrentModificationException(SessionInfo, Object[], String) may expose internal representation by storing an externally mutable object into ConcurrentModificationException.objs
In class hu.netmind.beankeeper.lock.ConcurrentModificationException
In method new hu.netmind.beankeeper.lock.ConcurrentModificationException(SessionInfo, Object[], String, Throwable)
Field hu.netmind.beankeeper.lock.ConcurrentModificationException.objs
Local variable named objs
At ConcurrentModificationException.java:[line 47]
new hu.netmind.beankeeper.lock.ConcurrentModificationException(SessionInfo, Object[], String, Throwable) may expose internal representation by storing an externally mutable object into ConcurrentModificationException.objs
In class hu.netmind.beankeeper.lock.impl.LockMetaData
In method hu.netmind.beankeeper.lock.impl.LockMetaData.compareTo(Object)
At LockMetaData.java:[lines 49-62]
hu.netmind.beankeeper.lock.impl.LockMetaData defines compareTo(Object) and uses Object.equals()
In class hu.netmind.beankeeper.lock.impl.LockTrackerImpl
In method hu.netmind.beankeeper.lock.impl.LockTrackerImpl.lock(int, long, long, LockMetaData, SessionInfo, int, boolean, boolean)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At LockTrackerImpl.java:[line 793]
Another occurrence at LockTrackerImpl.java:[line 797]
Method hu.netmind.beankeeper.lock.impl.LockTrackerImpl.lock(int, long, long, LockMetaData, SessionInfo, int, boolean, boolean) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
In class hu.netmind.beankeeper.lock.impl.LockTrackerImpl
In method hu.netmind.beankeeper.lock.impl.LockTrackerImpl.unlock(int, long, long, LockMetaData)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At LockTrackerImpl.java:[line 846]
Another occurrence at LockTrackerImpl.java:[line 851]
Method hu.netmind.beankeeper.lock.impl.LockTrackerImpl.unlock(int, long, long, LockMetaData) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
In class hu.netmind.beankeeper.lock.impl.LockTrackerImpl
In method hu.netmind.beankeeper.lock.impl.LockTrackerImpl.unlockAll(int)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At LockTrackerImpl.java:[line 563]
Method hu.netmind.beankeeper.lock.impl.LockTrackerImpl.unlockAll(int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
In class hu.netmind.beankeeper.lock.impl.LockTrackerImpl
Field hu.netmind.beankeeper.lock.impl.LockTrackerImpl.provider
Synchronized 50% of the time
Unsynchronized access at LockTrackerImpl.java:[line 69]
Unsynchronized access at LockTrackerImpl.java:[line 73]
Synchronized access at LockTrackerImpl.java:[line 58]
Synchronized access at LockTrackerImpl.java:[line 373]
Synchronized access at LockTrackerImpl.java:[line 374]
Inconsistent synchronization of hu.netmind.beankeeper.lock.impl.LockTrackerImpl.provider; locked 50% of time
In class hu.netmind.beankeeper.lock.impl.LockTrackerImpl$LockEntry
At LockTrackerImpl.java:[line 932]
Should hu.netmind.beankeeper.lock.impl.LockTrackerImpl$LockEntry be a _static_ inner class?
In class hu.netmind.beankeeper.logging.impl.AggregatorLoggerImpl
In method hu.netmind.beankeeper.logging.impl.AggregatorLoggerImpl.init(Map)
Field hu.netmind.beankeeper.logging.impl.AggregatorLoggerImpl.PERFORMANCE_INTERVAL
At AggregatorLoggerImpl.java:[line 45]
Write to static field hu.netmind.beankeeper.logging.impl.AggregatorLoggerImpl.PERFORMANCE_INTERVAL from instance method hu.netmind.beankeeper.logging.impl.AggregatorLoggerImpl.init(Map)
In class hu.netmind.beankeeper.logging.impl.AggregatorLoggerImpl
Field hu.netmind.beankeeper.logging.impl.AggregatorLoggerImpl.lastOutputTime
At AggregatorLoggerImpl.java:[line 36]
Unread field: hu.netmind.beankeeper.logging.impl.AggregatorLoggerImpl.lastOutputTime
In class hu.netmind.beankeeper.logging.impl.SnapshotLoggerImpl
In method hu.netmind.beankeeper.logging.impl.SnapshotLoggerImpl.init(Map)
Field hu.netmind.beankeeper.logging.impl.SnapshotLoggerImpl.PROFILE_INTERVAL
At SnapshotLoggerImpl.java:[line 45]
Write to static field hu.netmind.beankeeper.logging.impl.SnapshotLoggerImpl.PROFILE_INTERVAL from instance method hu.netmind.beankeeper.logging.impl.SnapshotLoggerImpl.init(Map)
In class hu.netmind.beankeeper.logging.impl.SnapshotLoggerImpl
Field hu.netmind.beankeeper.logging.impl.SnapshotLoggerImpl.lastOutputTime
At SnapshotLoggerImpl.java:[line 36]
Unread field: hu.netmind.beankeeper.logging.impl.SnapshotLoggerImpl.lastOutputTime
In class hu.netmind.beankeeper.model.impl.ClassTrackerImpl
In method hu.netmind.beankeeper.model.impl.ClassTrackerImpl.allocateObjectIds(ClassEntry, long)
Called method new Long(long)
Should call Long.valueOf(long) instead
At ClassTrackerImpl.java:[line 390]
Another occurrence at ClassTrackerImpl.java:[line 403]
Method hu.netmind.beankeeper.model.impl.ClassTrackerImpl.allocateObjectIds(ClassEntry, long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
In class hu.netmind.beankeeper.model.impl.ClassTrackerImpl
In method hu.netmind.beankeeper.model.impl.ClassTrackerImpl.getClassInfo(ClassEntry)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At ClassTrackerImpl.java:[line 474]
Another occurrence at ClassTrackerImpl.java:[line 475]
Method hu.netmind.beankeeper.model.impl.ClassTrackerImpl.getClassInfo(ClassEntry) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
In class hu.netmind.beankeeper.model.impl.ClassTrackerImpl
In method hu.netmind.beankeeper.model.impl.ClassTrackerImpl.getClassInfo(ClassEntry)
Called method new Long(long)
Should call Long.valueOf(long) instead
At ClassTrackerImpl.java:[line 477]
Method hu.netmind.beankeeper.model.impl.ClassTrackerImpl.getClassInfo(ClassEntry) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
In class hu.netmind.beankeeper.model.impl.ClassTrackerImpl
In method hu.netmind.beankeeper.model.impl.ClassTrackerImpl.getNextId(ClassEntry)
Called method new Long(long)
Should call Long.valueOf(long) instead
At ClassTrackerImpl.java:[line 347]
Method hu.netmind.beankeeper.model.impl.ClassTrackerImpl.getNextId(ClassEntry) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
In class hu.netmind.beankeeper.model.impl.ClassTrackerImpl
In method hu.netmind.beankeeper.model.impl.ClassTrackerImpl.registerClassEntry(ClassEntry)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At ClassTrackerImpl.java:[line 297]
Method hu.netmind.beankeeper.model.impl.ClassTrackerImpl.registerClassEntry(ClassEntry) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
In class hu.netmind.beankeeper.model.impl.ClassTrackerImpl
In method hu.netmind.beankeeper.model.impl.ClassTrackerImpl.registerClassEntry(ClassEntry)
Called method new Long(long)
Should call Long.valueOf(long) instead
At ClassTrackerImpl.java:[line 298]
Method hu.netmind.beankeeper.model.impl.ClassTrackerImpl.registerClassEntry(ClassEntry) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
In class hu.netmind.beankeeper.model.impl.ClassTrackerImpl
Field hu.netmind.beankeeper.model.impl.ClassTrackerImpl.classIdsByEntry
Synchronized 66% of the time
Unsynchronized access at ClassTrackerImpl.java:[line 279]
Unsynchronized access at ClassTrackerImpl.java:[line 475]
Synchronized access at ClassTrackerImpl.java:[line 379]
Synchronized access at ClassTrackerImpl.java:[line 585]
Synchronized access at ClassTrackerImpl.java:[line 619]
Synchronized access at ClassTrackerImpl.java:[line 260]
Inconsistent synchronization of hu.netmind.beankeeper.model.impl.ClassTrackerImpl.classIdsByEntry; locked 66% of time
In class hu.netmind.beankeeper.model.impl.ClassTrackerImpl
Field hu.netmind.beankeeper.model.impl.ClassTrackerImpl.entriesById
Synchronized 80% of the time
Unsynchronized access at ClassTrackerImpl.java:[line 474]
Synchronized access at ClassTrackerImpl.java:[line 583]
Synchronized access at ClassTrackerImpl.java:[line 618]
Synchronized access at ClassTrackerImpl.java:[line 817]
Synchronized access at ClassTrackerImpl.java:[line 248]
Inconsistent synchronization of hu.netmind.beankeeper.model.impl.ClassTrackerImpl.entriesById; locked 80% of time
In class hu.netmind.beankeeper.model.impl.ClassTrackerImpl
Field hu.netmind.beankeeper.model.impl.ClassTrackerImpl.maxIdByEntry
Synchronized 75% of the time
Unsynchronized access at ClassTrackerImpl.java:[line 476]
Unsynchronized access at ClassTrackerImpl.java:[line 477]
Synchronized access at ClassTrackerImpl.java:[line 380]
Synchronized access at ClassTrackerImpl.java:[line 403]
Synchronized access at ClassTrackerImpl.java:[line 584]
Synchronized access at ClassTrackerImpl.java:[line 620]
Synchronized access at ClassTrackerImpl.java:[line 327]
Synchronized access at ClassTrackerImpl.java:[line 341]
Inconsistent synchronization of hu.netmind.beankeeper.model.impl.ClassTrackerImpl.maxIdByEntry; locked 75% of time
In class hu.netmind.beankeeper.model.impl.StrictDynamicHandler
In method hu.netmind.beankeeper.model.impl.StrictDynamicHandler.setAttributeValue(Object, String, Object)
At StrictDynamicHandler.java:[line 181]
hu.netmind.beankeeper.model.impl.StrictDynamicHandler.setAttributeValue(Object, String, Object) invokes inefficient Boolean constructor; use Boolean.valueOf(...) instead
In class hu.netmind.beankeeper.model.impl.StrictDynamicHandler
In method hu.netmind.beankeeper.model.impl.StrictDynamicHandler.setAttributeValue(Object, String, Object)
Called method new Byte(byte)
Should call Byte.valueOf(byte) instead
At StrictDynamicHandler.java:[line 197]
Method hu.netmind.beankeeper.model.impl.StrictDynamicHandler.setAttributeValue(Object, String, Object) invokes inefficient new Byte(byte) constructor; use Byte.valueOf(byte) instead
In class hu.netmind.beankeeper.model.impl.StrictDynamicHandler
In method hu.netmind.beankeeper.model.impl.StrictDynamicHandler.setAttributeValue(Object, String, Object)
Called method new Character(char)
Should call Character.valueOf(char) instead
At StrictDynamicHandler.java:[line 171]
Method hu.netmind.beankeeper.model.impl.StrictDynamicHandler.setAttributeValue(Object, String, Object) invokes inefficient new Character(char) constructor; use Character.valueOf(char) instead
In class hu.netmind.beankeeper.model.impl.StrictDynamicHandler
In method hu.netmind.beankeeper.model.impl.StrictDynamicHandler.setAttributeValue(Object, String, Object)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At StrictDynamicHandler.java:[line 203]
Method hu.netmind.beankeeper.model.impl.StrictDynamicHandler.setAttributeValue(Object, String, Object) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
In class hu.netmind.beankeeper.model.impl.StrictDynamicHandler
In method hu.netmind.beankeeper.model.impl.StrictDynamicHandler.setAttributeValue(Object, String, Object)
Called method new Long(long)
Should call Long.valueOf(long) instead
At StrictDynamicHandler.java:[line 205]
Method hu.netmind.beankeeper.model.impl.StrictDynamicHandler.setAttributeValue(Object, String, Object) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
In class hu.netmind.beankeeper.model.impl.StrictDynamicHandler
In method hu.netmind.beankeeper.model.impl.StrictDynamicHandler.setAttributeValue(Object, String, Object)
Called method new Short(short)
Should call Short.valueOf(short) instead
At StrictDynamicHandler.java:[line 207]
Method hu.netmind.beankeeper.model.impl.StrictDynamicHandler.setAttributeValue(Object, String, Object) invokes inefficient new Short(short) constructor; use Short.valueOf(short) instead
In class hu.netmind.beankeeper.model.impl.StrictDynamicHandler
In method hu.netmind.beankeeper.model.impl.StrictDynamicHandler.setAttributeValue(Object, String, Object)
Value loaded from value
Redundant null check at StrictDynamicHandler.java:[line 211]
Redundant nullcheck of value, which is known to be non-null in hu.netmind.beankeeper.model.impl.StrictDynamicHandler.setAttributeValue(Object, String, Object)
In class hu.netmind.beankeeper.model.impl.StrictPrimitiveHandler
In method hu.netmind.beankeeper.model.impl.StrictPrimitiveHandler.newInstance(Map)
Called method new Character(char)
Should call Character.valueOf(char) instead
At StrictPrimitiveHandler.java:[line 88]
Method hu.netmind.beankeeper.model.impl.StrictPrimitiveHandler.newInstance(Map) invokes inefficient new Character(char) constructor; use Character.valueOf(char) instead
In class hu.netmind.beankeeper.model.impl.StrictPrimitiveHandler
In method hu.netmind.beankeeper.model.impl.StrictPrimitiveHandler.newInstance(Map)
At StrictPrimitiveHandler.java:[line 97]
Exception is caught when Exception is not thrown in hu.netmind.beankeeper.model.impl.StrictPrimitiveHandler.newInstance(Map)
In class hu.netmind.beankeeper.model.impl.TypeUtils
In method hu.netmind.beankeeper.model.impl.TypeUtils.getTypeValue(Object, Class)
At TypeUtils.java:[line 51]
Another occurrence at TypeUtils.java:[line 72]
hu.netmind.beankeeper.model.impl.TypeUtils.getTypeValue(Object, Class) invokes inefficient Boolean constructor; use Boolean.valueOf(...) instead
In class hu.netmind.beankeeper.model.impl.TypeUtils
In method hu.netmind.beankeeper.model.impl.TypeUtils.getTypeValue(Object, Class)
Called method new Byte(byte)
Should call Byte.valueOf(byte) instead
At TypeUtils.java:[line 39]
Another occurrence at TypeUtils.java:[line 88]
Method hu.netmind.beankeeper.model.impl.TypeUtils.getTypeValue(Object, Class) invokes inefficient new Byte(byte) constructor; use Byte.valueOf(byte) instead
In class hu.netmind.beankeeper.model.impl.TypeUtils
In method hu.netmind.beankeeper.model.impl.TypeUtils.getTypeValue(Object, Class)
Called method new Character(char)
Should call Character.valueOf(char) instead
At TypeUtils.java:[line 53]
Another occurrence at TypeUtils.java:[line 62]
Method hu.netmind.beankeeper.model.impl.TypeUtils.getTypeValue(Object, Class) invokes inefficient new Character(char) constructor; use Character.valueOf(char) instead
In class hu.netmind.beankeeper.model.impl.TypeUtils
In method hu.netmind.beankeeper.model.impl.TypeUtils.getTypeValue(Object, Class)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At TypeUtils.java:[line 45]
Another occurrence at TypeUtils.java:[line 94]
Method hu.netmind.beankeeper.model.impl.TypeUtils.getTypeValue(Object, Class) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
In class hu.netmind.beankeeper.model.impl.TypeUtils
In method hu.netmind.beankeeper.model.impl.TypeUtils.getTypeValue(Object, Class)
Called method new Long(long)
Should call Long.valueOf(long) instead
At TypeUtils.java:[line 47]
Another occurrence at TypeUtils.java:[line 96]
Method hu.netmind.beankeeper.model.impl.TypeUtils.getTypeValue(Object, Class) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
In class hu.netmind.beankeeper.model.impl.TypeUtils
In method hu.netmind.beankeeper.model.impl.TypeUtils.getTypeValue(Object, Class)
Called method new Short(short)
Should call Short.valueOf(short) instead
At TypeUtils.java:[line 49]
Another occurrence at TypeUtils.java:[line 98]
Method hu.netmind.beankeeper.model.impl.TypeUtils.getTypeValue(Object, Class) invokes inefficient new Short(short) constructor; use Short.valueOf(short) instead
In class hu.netmind.beankeeper.modification.impl.ModificationTrackerImpl
In method hu.netmind.beankeeper.modification.impl.ModificationTrackerImpl.hasChanged(Long, Class, Long)
Value loaded from entry
Dereferenced at ModificationTrackerImpl.java:[line 293]
Known null at ModificationTrackerImpl.java:[line 269]
Possible null pointer dereference of entry in hu.netmind.beankeeper.modification.impl.ModificationTrackerImpl.hasChanged(Long, Class, Long)
In class hu.netmind.beankeeper.modification.impl.ModificationTrackerImpl$ModificationEntry
In method hu.netmind.beankeeper.modification.impl.ModificationTrackerImpl$ModificationEntry.equals(Object)
At ModificationTrackerImpl.java:[line 487]
Equals method for hu.netmind.beankeeper.modification.impl.ModificationTrackerImpl$ModificationEntry assumes the argument is of type ModificationTrackerImpl$ModificationEntry
In class hu.netmind.beankeeper.modification.impl.ModificationTrackerImpl$ModificationEntry
In method hu.netmind.beankeeper.modification.impl.ModificationTrackerImpl$ModificationEntry.equals(Object)
Value loaded from o
Dereferenced at ModificationTrackerImpl.java:[line 487]
hu.netmind.beankeeper.modification.impl.ModificationTrackerImpl$ModificationEntry.equals(Object) does not check for null argument
In class hu.netmind.beankeeper.modification.impl.ModificationTrackerImpl$ModificationEntry
In method hu.netmind.beankeeper.modification.impl.ModificationTrackerImpl$ModificationEntry.equals(Object)
Actual type Long
At ModificationTrackerImpl.java:[line 487]
Suspicious comparison of Long references in hu.netmind.beankeeper.modification.impl.ModificationTrackerImpl$ModificationEntry.equals(Object)
In class hu.netmind.beankeeper.modification.impl.ModificationTrackerImpl$ModificationEntry
At ModificationTrackerImpl.java:[lines 466-487]
Should hu.netmind.beankeeper.modification.impl.ModificationTrackerImpl$ModificationEntry be a _static_ inner class?
In class hu.netmind.beankeeper.node.impl.CallMessage
In method hu.netmind.beankeeper.node.impl.CallMessage.getParameterTypes()
Field hu.netmind.beankeeper.node.impl.CallMessage.parameterTypes
At CallMessage.java:[line 62]
hu.netmind.beankeeper.node.impl.CallMessage.getParameterTypes() may expose internal representation by returning CallMessage.parameterTypes
In class hu.netmind.beankeeper.node.impl.CallMessage
In method hu.netmind.beankeeper.node.impl.CallMessage.getParameters()
Field hu.netmind.beankeeper.node.impl.CallMessage.parameters
At CallMessage.java:[line 67]
hu.netmind.beankeeper.node.impl.CallMessage.getParameters() may expose internal representation by returning CallMessage.parameters
In class hu.netmind.beankeeper.node.impl.CallMessage
In method new hu.netmind.beankeeper.node.impl.CallMessage(String, String, Class[], Object[], boolean)
Field hu.netmind.beankeeper.node.impl.CallMessage.parameterTypes
Local variable named parameterTypes
At CallMessage.java:[line 40]
new hu.netmind.beankeeper.node.impl.CallMessage(String, String, Class[], Object[], boolean) may expose internal representation by storing an externally mutable object into CallMessage.parameterTypes
In class hu.netmind.beankeeper.node.impl.CallMessage
In method new hu.netmind.beankeeper.node.impl.CallMessage(String, String, Class[], Object[], boolean)
Field hu.netmind.beankeeper.node.impl.CallMessage.parameters
Local variable named parameters
At CallMessage.java:[line 41]
new hu.netmind.beankeeper.node.impl.CallMessage(String, String, Class[], Object[], boolean) may expose internal representation by storing an externally mutable object into CallMessage.parameters
In class hu.netmind.beankeeper.node.impl.CommObject
In method new hu.netmind.beankeeper.node.impl.CommObject()
Type Integer
Field hu.netmind.beankeeper.node.impl.CommObject.currentSessionCount
At CommObject.java:[line 37]
Synchronization on Integer could deadlock in new hu.netmind.beankeeper.node.impl.CommObject()
In class hu.netmind.beankeeper.node.impl.NetEndpoint
In method new hu.netmind.beankeeper.node.impl.NetEndpoint(Socket, String)
Called method Thread.start()
has subclass hu.netmind.beankeeper.node.impl.NodeServer$ClientHandler
has subclass hu.netmind.beankeeper.node.impl.NodeClient
At NetEndpoint.java:[line 69]
new hu.netmind.beankeeper.node.impl.NetEndpoint(Socket, String) invokes Thread.start()
In class hu.netmind.beankeeper.node.impl.NetEndpoint$IncomingHandler
In method hu.netmind.beankeeper.node.impl.NetEndpoint$IncomingHandler.run()
At NetEndpoint.java:[line 248]
Exception is caught when Exception is not thrown in hu.netmind.beankeeper.node.impl.NetEndpoint$IncomingHandler.run()
In class hu.netmind.beankeeper.node.impl.NodeManagerImpl
In method hu.netmind.beankeeper.node.impl.NodeManagerImpl.clearNodeList(List)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At NodeManagerImpl.java:[line 574]
Method hu.netmind.beankeeper.node.impl.NodeManagerImpl.clearNodeList(List) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
In class hu.netmind.beankeeper.node.impl.NodeManagerImpl
In method hu.netmind.beankeeper.node.impl.NodeManagerImpl.initialize()
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At NodeManagerImpl.java:[line 623]
Another occurrence at NodeManagerImpl.java:[line 625]
Method hu.netmind.beankeeper.node.impl.NodeManagerImpl.initialize() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
In class hu.netmind.beankeeper.node.impl.NodeManagerImpl
In method hu.netmind.beankeeper.node.impl.NodeManagerImpl.loadNodeList(Transaction, int)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At NodeManagerImpl.java:[line 424]
Method hu.netmind.beankeeper.node.impl.NodeManagerImpl.loadNodeList(Transaction, int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
In class hu.netmind.beankeeper.node.impl.NodeManagerImpl
Field hu.netmind.beankeeper.node.impl.NodeManagerImpl.CLIENT_RECONNECT_TRIES
At NodeManagerImpl.java:[line 59]
hu.netmind.beankeeper.node.impl.NodeManagerImpl.CLIENT_RECONNECT_TRIES should be package protected
In class hu.netmind.beankeeper.node.impl.NodeManagerImpl
In method hu.netmind.beankeeper.node.impl.NodeManagerImpl.clearNode()
Reference type java.sql.Statement
1 instances of obligation remaining
Obligation to clean up resource created at NodeManagerImpl.java:[line 546] is not discharged
Path continues at NodeManagerImpl.java:[line 547]
Path continues at NodeManagerImpl.java:[line 550]
Path continues at NodeManagerImpl.java:[line 551]
Path continues at NodeManagerImpl.java:[line 553]
Path continues at NodeManagerImpl.java:[line 554]
Path continues at NodeManagerImpl.java:[line 555]
Remaining obligations: {Statement x 1}
Method hu.netmind.beankeeper.node.impl.NodeManagerImpl.clearNode() may fail to clean up stream or resource of type java.sql.Statement
In class hu.netmind.beankeeper.node.impl.NodeManagerImpl
In method hu.netmind.beankeeper.node.impl.NodeManagerImpl.configurationReload()
Field hu.netmind.beankeeper.node.impl.NodeManagerImpl.CLIENT_RECONNECT_TRIES
At NodeManagerImpl.java:[line 679]
Write to static field hu.netmind.beankeeper.node.impl.NodeManagerImpl.CLIENT_RECONNECT_TRIES from instance method hu.netmind.beankeeper.node.impl.NodeManagerImpl.configurationReload()
In class hu.netmind.beankeeper.node.impl.NodeManagerImpl
In method hu.netmind.beankeeper.node.impl.NodeManagerImpl.configurationReload()
Field hu.netmind.beankeeper.node.impl.NodeManagerImpl.SOCKET_CONNECT_TIMEOUT
At NodeManagerImpl.java:[line 681]
Write to static field hu.netmind.beankeeper.node.impl.NodeManagerImpl.SOCKET_CONNECT_TIMEOUT from instance method hu.netmind.beankeeper.node.impl.NodeManagerImpl.configurationReload()
In class hu.netmind.beankeeper.object.Identifier
In method new hu.netmind.beankeeper.object.Identifier(Integer, Long)
Called method new Long(long)
Should call Long.valueOf(long) instead
At Identifier.java:[line 42]
Method new hu.netmind.beankeeper.object.Identifier(Integer, Long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
In class hu.netmind.beankeeper.object.Identifier
In method new hu.netmind.beankeeper.object.Identifier(Long)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At Identifier.java:[line 51]
Method new hu.netmind.beankeeper.object.Identifier(Long) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
In class hu.netmind.beankeeper.object.impl.ObjectTrackerImpl$ObjectData
In method hu.netmind.beankeeper.object.impl.ObjectTrackerImpl$ObjectData.compareTo(Object)
At ObjectTrackerImpl.java:[line 495]
hu.netmind.beankeeper.object.impl.ObjectTrackerImpl$ObjectData defines compareTo(Object) and uses Object.equals()
In class hu.netmind.beankeeper.object.impl.ObjectTrackerImpl$SharedData
At ObjectTrackerImpl.java:[lines 533-551]
Should hu.netmind.beankeeper.object.impl.ObjectTrackerImpl$SharedData be a _static_ inner class?
In class hu.netmind.beankeeper.object.impl.WeakMap
In method hu.netmind.beankeeper.object.impl.WeakMap.get(Object)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At WeakMap.java:[line 146]
Method hu.netmind.beankeeper.object.impl.WeakMap.get(Object) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
In class hu.netmind.beankeeper.object.impl.WeakMap
In method hu.netmind.beankeeper.object.impl.WeakMap.put(Object, Object, Object)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At WeakMap.java:[line 80]
Method hu.netmind.beankeeper.object.impl.WeakMap.put(Object, Object, Object) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
In class hu.netmind.beankeeper.object.impl.WeakMap
In method hu.netmind.beankeeper.object.impl.WeakMap.clear()
Value loaded from entries
Dereferenced at WeakMap.java:[line 125]
Known null at WeakMap.java:[line 107]
Possible null pointer dereference of entries in hu.netmind.beankeeper.object.impl.WeakMap.clear()
In class hu.netmind.beankeeper.object.impl.WeakMap$Entry
At WeakMap.java:[lines 174-189]
Should hu.netmind.beankeeper.object.impl.WeakMap$Entry be a _static_ inner class?
In class hu.netmind.beankeeper.operation.impl.OperationTrackerImpl
In method hu.netmind.beankeeper.operation.impl.OperationTrackerImpl.endCommit(int, Long, Long)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At OperationTrackerImpl.java:[line 120]
Another occurrence at OperationTrackerImpl.java:[line 125]
Method hu.netmind.beankeeper.operation.impl.OperationTrackerImpl.endCommit(int, Long, Long) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
In class hu.netmind.beankeeper.operation.impl.OperationTrackerImpl
In method hu.netmind.beankeeper.operation.impl.OperationTrackerImpl.handle(PersistenceEvent)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At OperationTrackerImpl.java:[line 141]
Method hu.netmind.beankeeper.operation.impl.OperationTrackerImpl.handle(PersistenceEvent) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
In class hu.netmind.beankeeper.operation.impl.OperationTrackerImpl
In method hu.netmind.beankeeper.operation.impl.OperationTrackerImpl.startCommit(int)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At OperationTrackerImpl.java:[line 89]
Another occurrence at OperationTrackerImpl.java:[line 93]
Method hu.netmind.beankeeper.operation.impl.OperationTrackerImpl.startCommit(int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
In class hu.netmind.beankeeper.parser.OrderBy
Field hu.netmind.beankeeper.parser.OrderBy.ASCENDING
At OrderBy.java:[line 28]
hu.netmind.beankeeper.parser.OrderBy.ASCENDING isn't final but should be
In class hu.netmind.beankeeper.parser.OrderBy
Field hu.netmind.beankeeper.parser.OrderBy.DESCENDING
At OrderBy.java:[line 29]
hu.netmind.beankeeper.parser.OrderBy.DESCENDING isn't final but should be
In class hu.netmind.beankeeper.parser.ParseException
In method new hu.netmind.beankeeper.parser.ParseException(Token, int[][], String[])
Field hu.netmind.beankeeper.parser.ParseException.expectedTokenSequences
Local variable named expectedTokenSequencesVal
At ParseException.java:[line 36]
new hu.netmind.beankeeper.parser.ParseException(Token, int[][], String[]) may expose internal representation by storing an externally mutable object into ParseException.expectedTokenSequences
In class hu.netmind.beankeeper.parser.ParseException
In method new hu.netmind.beankeeper.parser.ParseException(Token, int[][], String[])
Field hu.netmind.beankeeper.parser.ParseException.tokenImage
Local variable named tokenImageVal
At ParseException.java:[line 37]
new hu.netmind.beankeeper.parser.ParseException(Token, int[][], String[]) may expose internal representation by storing an externally mutable object into ParseException.tokenImage
In class hu.netmind.beankeeper.parser.ParseException
In method hu.netmind.beankeeper.parser.ParseException.getMessage()
At ParseException.java:[line 128]
Method hu.netmind.beankeeper.parser.ParseException.getMessage() concatenates strings using + in a loop
In class hu.netmind.beankeeper.parser.QueryParser
In method hu.netmind.beankeeper.parser.QueryParser.term()
At QueryParser.java:[line 440]
hu.netmind.beankeeper.parser.QueryParser.term() invokes inefficient Boolean constructor; use Boolean.valueOf(...) instead
In class hu.netmind.beankeeper.parser.QueryParser
In method new hu.netmind.beankeeper.parser.QueryParser(String, Object[], WhereResolver, TimeControl, Set)
Field hu.netmind.beankeeper.parser.QueryParser.parameters
Local variable named parameters
At QueryParser.java:[line 39]
new hu.netmind.beankeeper.parser.QueryParser(String, Object[], WhereResolver, TimeControl, Set) may expose internal representation by storing an externally mutable object into QueryParser.parameters
In class hu.netmind.beankeeper.parser.QueryParser
In method hu.netmind.beankeeper.parser.QueryParser.ReInit(QueryParserTokenManager)
At QueryParser.java:[lines 787-792]
The method name hu.netmind.beankeeper.parser.QueryParser.ReInit(QueryParserTokenManager) doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.QueryParser
In method hu.netmind.beankeeper.parser.QueryParser.ReInit(InputStream)
At QueryParser.java:[lines 744-745]
The method name hu.netmind.beankeeper.parser.QueryParser.ReInit(InputStream) doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.QueryParser
In method hu.netmind.beankeeper.parser.QueryParser.ReInit(InputStream, String)
At QueryParser.java:[lines 748-754]
The method name hu.netmind.beankeeper.parser.QueryParser.ReInit(InputStream, String) doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.QueryParser
In method hu.netmind.beankeeper.parser.QueryParser.ReInit(Reader)
At QueryParser.java:[lines 768-774]
The method name hu.netmind.beankeeper.parser.QueryParser.ReInit(Reader) doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.QueryParserConstants
Field hu.netmind.beankeeper.parser.QueryParserConstants.tokenImage
At QueryParserConstants.java:[line 84]
hu.netmind.beankeeper.parser.QueryParserConstants.tokenImage should be moved out of an interface and made package protected
In class hu.netmind.beankeeper.parser.QueryParserTokenManager
Field hu.netmind.beankeeper.parser.QueryParserTokenManager.jjnewLexState
At QueryParserTokenManager.java:[line 2947]
hu.netmind.beankeeper.parser.QueryParserTokenManager.jjnewLexState should be package protected
In class hu.netmind.beankeeper.parser.QueryParserTokenManager
Field hu.netmind.beankeeper.parser.QueryParserTokenManager.jjstrLiteralImages
At QueryParserTokenManager.java:[line 2930]
hu.netmind.beankeeper.parser.QueryParserTokenManager.jjstrLiteralImages should be package protected
In class hu.netmind.beankeeper.parser.QueryParserTokenManager
In method hu.netmind.beankeeper.parser.QueryParserTokenManager.ReInit(SimpleCharStream)
At QueryParserTokenManager.java:[lines 2977-2981]
The method name hu.netmind.beankeeper.parser.QueryParserTokenManager.ReInit(SimpleCharStream) doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.QueryParserTokenManager
In method hu.netmind.beankeeper.parser.QueryParserTokenManager.ReInit(SimpleCharStream, int)
At QueryParserTokenManager.java:[lines 2993-2995]
The method name hu.netmind.beankeeper.parser.QueryParserTokenManager.ReInit(SimpleCharStream, int) doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.QueryParserTokenManager
In method hu.netmind.beankeeper.parser.QueryParserTokenManager.SwitchTo(int)
At QueryParserTokenManager.java:[lines 3000-3004]
The method name hu.netmind.beankeeper.parser.QueryParserTokenManager.SwitchTo(int) doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.QueryStatementList
Field hu.netmind.beankeeper.parser.QueryStatementList.root
In QueryStatementList.java
Class hu.netmind.beankeeper.parser.QueryStatementList defines non-transient non-serializable instance field root
In class hu.netmind.beankeeper.parser.ReferenceTerm
In method hu.netmind.beankeeper.parser.TableTerm.equals(Object)
At TableTerm.java:[lines 73-76]
hu.netmind.beankeeper.parser.ReferenceTerm doesn't override TableTerm.equals(Object)
In class hu.netmind.beankeeper.parser.SimpleCharStream
In method hu.netmind.beankeeper.parser.SimpleCharStream.BeginToken()
At SimpleCharStream.java:[lines 137-141]
The method name hu.netmind.beankeeper.parser.SimpleCharStream.BeginToken() doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.SimpleCharStream
In method hu.netmind.beankeeper.parser.SimpleCharStream.Done()
At SimpleCharStream.java:[lines 418-421]
The method name hu.netmind.beankeeper.parser.SimpleCharStream.Done() doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.SimpleCharStream
In method hu.netmind.beankeeper.parser.SimpleCharStream.ExpandBuff(boolean)
At SimpleCharStream.java:[lines 41-87]
The method name hu.netmind.beankeeper.parser.SimpleCharStream.ExpandBuff(boolean) doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.SimpleCharStream
In method hu.netmind.beankeeper.parser.SimpleCharStream.FillBuff()
At SimpleCharStream.java:[lines 91-130]
The method name hu.netmind.beankeeper.parser.SimpleCharStream.FillBuff() doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.SimpleCharStream
In method hu.netmind.beankeeper.parser.SimpleCharStream.GetImage()
At SimpleCharStream.java:[lines 391-394]
The method name hu.netmind.beankeeper.parser.SimpleCharStream.GetImage() doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.SimpleCharStream
In method hu.netmind.beankeeper.parser.SimpleCharStream.GetSuffix(int)
At SimpleCharStream.java:[lines 401-412]
The method name hu.netmind.beankeeper.parser.SimpleCharStream.GetSuffix(int) doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.SimpleCharStream
In method hu.netmind.beankeeper.parser.SimpleCharStream.ReInit(InputStream)
At SimpleCharStream.java:[lines 374-375]
The method name hu.netmind.beankeeper.parser.SimpleCharStream.ReInit(InputStream) doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.SimpleCharStream
In method hu.netmind.beankeeper.parser.SimpleCharStream.ReInit(InputStream, int, int)
At SimpleCharStream.java:[lines 386-387]
The method name hu.netmind.beankeeper.parser.SimpleCharStream.ReInit(InputStream, int, int) doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.SimpleCharStream
In method hu.netmind.beankeeper.parser.SimpleCharStream.ReInit(InputStream, int, int, int)
At SimpleCharStream.java:[lines 362-363]
The method name hu.netmind.beankeeper.parser.SimpleCharStream.ReInit(InputStream, int, int, int) doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.SimpleCharStream
In method hu.netmind.beankeeper.parser.SimpleCharStream.ReInit(InputStream, String)
At SimpleCharStream.java:[lines 368-369]
The method name hu.netmind.beankeeper.parser.SimpleCharStream.ReInit(InputStream, String) doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.SimpleCharStream
In method hu.netmind.beankeeper.parser.SimpleCharStream.ReInit(InputStream, String, int, int)
At SimpleCharStream.java:[lines 380-381]
The method name hu.netmind.beankeeper.parser.SimpleCharStream.ReInit(InputStream, String, int, int) doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.SimpleCharStream
In method hu.netmind.beankeeper.parser.SimpleCharStream.ReInit(InputStream, String, int, int, int)
At SimpleCharStream.java:[lines 355-356]
The method name hu.netmind.beankeeper.parser.SimpleCharStream.ReInit(InputStream, String, int, int, int) doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.SimpleCharStream
In method hu.netmind.beankeeper.parser.SimpleCharStream.ReInit(Reader)
At SimpleCharStream.java:[lines 309-310]
The method name hu.netmind.beankeeper.parser.SimpleCharStream.ReInit(Reader) doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.SimpleCharStream
In method hu.netmind.beankeeper.parser.SimpleCharStream.ReInit(Reader, int, int)
At SimpleCharStream.java:[lines 303-304]
The method name hu.netmind.beankeeper.parser.SimpleCharStream.ReInit(Reader, int, int) doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.SimpleCharStream
In method hu.netmind.beankeeper.parser.SimpleCharStream.ReInit(Reader, int, int, int)
At SimpleCharStream.java:[lines 283-297]
The method name hu.netmind.beankeeper.parser.SimpleCharStream.ReInit(Reader, int, int, int) doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.SimpleCharStream
In method hu.netmind.beankeeper.parser.SimpleCharStream.UpdateLineColumn(char)
At SimpleCharStream.java:[lines 146-182]
The method name hu.netmind.beankeeper.parser.SimpleCharStream.UpdateLineColumn(char) doesn't start with a lower case letter
In class hu.netmind.beankeeper.parser.SpecifiedTableTerm
In method hu.netmind.beankeeper.parser.TableTerm.equals(Object)
At TableTerm.java:[lines 73-76]
hu.netmind.beankeeper.parser.SpecifiedTableTerm doesn't override TableTerm.equals(Object)
In class hu.netmind.beankeeper.parser.TokenMgrError
In method hu.netmind.beankeeper.parser.TokenMgrError.LexicalError(boolean, int, int, int, String, char)
At TokenMgrError.java:[line 101]
The method name hu.netmind.beankeeper.parser.TokenMgrError.LexicalError(boolean, int, int, int, String, char) doesn't start with a lower case letter
In class hu.netmind.beankeeper.query.impl.LazyListImpl
In method hu.netmind.beankeeper.query.impl.LazyListImpl.fixBoundingTerms(Expression, TableTerm, boolean)
Called method new Long(long)
Should call Long.valueOf(long) instead
At LazyListImpl.java:[line 526]
Another occurrence at LazyListImpl.java:[line 532]
Method hu.netmind.beankeeper.query.impl.LazyListImpl.fixBoundingTerms(Expression, TableTerm, boolean) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
In class hu.netmind.beankeeper.query.impl.LazyListImpl
Field hu.netmind.beankeeper.query.impl.LazyListImpl.classTracker
In LazyListImpl.java
Class hu.netmind.beankeeper.query.impl.LazyListImpl defines non-transient non-serializable instance field classTracker
In class hu.netmind.beankeeper.query.impl.LazyListImpl
Field hu.netmind.beankeeper.query.impl.LazyListImpl.config
In LazyListImpl.java
Class hu.netmind.beankeeper.query.impl.LazyListImpl defines non-transient non-serializable instance field config
In class hu.netmind.beankeeper.query.impl.LazyListImpl
Field hu.netmind.beankeeper.query.impl.LazyListImpl.queryService
In LazyListImpl.java
Class hu.netmind.beankeeper.query.impl.LazyListImpl defines non-transient non-serializable instance field queryService
In class hu.netmind.beankeeper.query.impl.LazyListImpl
Field hu.netmind.beankeeper.query.impl.LazyListImpl.schemaManager
In LazyListImpl.java
Class hu.netmind.beankeeper.query.impl.LazyListImpl defines non-transient non-serializable instance field schemaManager
In class hu.netmind.beankeeper.serial.impl.SerialTrackerImpl
In method hu.netmind.beankeeper.serial.impl.SerialTrackerImpl.getNextSerial()
Called method new Long(long)
Should call Long.valueOf(long) instead
At SerialTrackerImpl.java:[line 107]
Method hu.netmind.beankeeper.serial.impl.SerialTrackerImpl.getNextSerial() invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
In class hu.netmind.beankeeper.serial.impl.SerialTrackerImpl
In method hu.netmind.beankeeper.serial.impl.SerialTrackerImpl.getNextSerial()
Field hu.netmind.beankeeper.serial.impl.SerialTrackerImpl.nodeManager
At SerialTrackerImpl.java:[line 75]
Another occurrence at SerialTrackerImpl.java:[line 77]
Read of unwritten field nodeManager in hu.netmind.beankeeper.serial.impl.SerialTrackerImpl.getNextSerial()
In class hu.netmind.beankeeper.serial.impl.SerialTrackerImpl
Field hu.netmind.beankeeper.serial.impl.SerialTrackerImpl.nodeManager
In SerialTrackerImpl.java
Field only ever set to null: hu.netmind.beankeeper.serial.impl.SerialTrackerImpl.nodeManager
In class hu.netmind.beankeeper.store.event.ModifyObjectEvent
In method new hu.netmind.beankeeper.store.event.ModifyObjectEvent(ClassTracker, ObjectTracker, TypeHandlerTracker, QueryService, Map, TimeControl, Object)
Called method new Long(long)
Should call Long.valueOf(long) instead
At ModifyObjectEvent.java:[line 63]
Method new hu.netmind.beankeeper.store.event.ModifyObjectEvent(ClassTracker, ObjectTracker, TypeHandlerTracker, QueryService, Map, TimeControl, Object) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
In class hu.netmind.beankeeper.store.impl.StoreServiceImpl
In method hu.netmind.beankeeper.store.impl.StoreServiceImpl.save(Object)
Called method new Long(long)
Should call Long.valueOf(long) instead
At StoreServiceImpl.java:[line 428]
Another occurrence at StoreServiceImpl.java:[line 443]
Method hu.netmind.beankeeper.store.impl.StoreServiceImpl.save(Object) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
In class hu.netmind.beankeeper.transaction.TransactionStatistics
Field hu.netmind.beankeeper.transaction.TransactionStatistics.deleteCount
Synchronized 55% of the time
Unsynchronized access at TransactionStatistics.java:[line 128]
Unsynchronized access at TransactionStatistics.java:[line 132]
Unsynchronized access at TransactionStatistics.java:[line 61]
Unsynchronized access at TransactionStatistics.java:[line 75]
Synchronized access at TransactionStatistics.java:[line 52]
Synchronized access at TransactionStatistics.java:[line 89]
Synchronized access at TransactionStatistics.java:[line 61]
Synchronized access at TransactionStatistics.java:[line 61]
Synchronized access at TransactionStatistics.java:[line 75]
Synchronized access at TransactionStatistics.java:[line 75]
Synchronized access at TransactionStatistics.java:[line 191]
Inconsistent synchronization of hu.netmind.beankeeper.transaction.TransactionStatistics.deleteCount; locked 55% of time
In class hu.netmind.beankeeper.transaction.TransactionStatistics
Field hu.netmind.beankeeper.transaction.TransactionStatistics.deleteTime
Synchronized 50% of the time
Unsynchronized access at TransactionStatistics.java:[line 173]
Unsynchronized access at TransactionStatistics.java:[line 177]
Unsynchronized access at TransactionStatistics.java:[line 66]
Unsynchronized access at TransactionStatistics.java:[line 80]
Synchronized access at TransactionStatistics.java:[line 66]
Synchronized access at TransactionStatistics.java:[line 66]
Synchronized access at TransactionStatistics.java:[line 80]
Synchronized access at TransactionStatistics.java:[line 80]
Inconsistent synchronization of hu.netmind.beankeeper.transaction.TransactionStatistics.deleteTime; locked 50% of time
In class hu.netmind.beankeeper.transaction.TransactionStatistics
Field hu.netmind.beankeeper.transaction.TransactionStatistics.insertCount
Synchronized 55% of the time
Unsynchronized access at TransactionStatistics.java:[line 110]
Unsynchronized access at TransactionStatistics.java:[line 59]
Unsynchronized access at TransactionStatistics.java:[line 73]
Unsynchronized access at TransactionStatistics.java:[line 114]
Synchronized access at TransactionStatistics.java:[line 50]
Synchronized access at TransactionStatistics.java:[line 87]
Synchronized access at TransactionStatistics.java:[line 59]
Synchronized access at TransactionStatistics.java:[line 59]
Synchronized access at TransactionStatistics.java:[line 73]
Synchronized access at TransactionStatistics.java:[line 73]
Synchronized access at TransactionStatistics.java:[line 191]
Inconsistent synchronization of hu.netmind.beankeeper.transaction.TransactionStatistics.insertCount; locked 55% of time
In class hu.netmind.beankeeper.transaction.TransactionStatistics
Field hu.netmind.beankeeper.transaction.TransactionStatistics.insertTime
Synchronized 50% of the time
Unsynchronized access at TransactionStatistics.java:[line 159]
Unsynchronized access at TransactionStatistics.java:[line 155]
Unsynchronized access at TransactionStatistics.java:[line 64]
Unsynchronized access at TransactionStatistics.java:[line 78]
Synchronized access at TransactionStatistics.java:[line 64]
Synchronized access at TransactionStatistics.java:[line 64]
Synchronized access at TransactionStatistics.java:[line 78]
Synchronized access at TransactionStatistics.java:[line 78]
Inconsistent synchronization of hu.netmind.beankeeper.transaction.TransactionStatistics.insertTime; locked 50% of time
In class hu.netmind.beankeeper.transaction.TransactionStatistics
Field hu.netmind.beankeeper.transaction.TransactionStatistics.schemaCount
Synchronized 55% of the time
Unsynchronized access at TransactionStatistics.java:[line 141]
Unsynchronized access at TransactionStatistics.java:[line 137]
Unsynchronized access at TransactionStatistics.java:[line 62]
Unsynchronized access at TransactionStatistics.java:[line 76]
Synchronized access at TransactionStatistics.java:[line 53]
Synchronized access at TransactionStatistics.java:[line 90]
Synchronized access at TransactionStatistics.java:[line 62]
Synchronized access at TransactionStatistics.java:[line 62]
Synchronized access at TransactionStatistics.java:[line 76]
Synchronized access at TransactionStatistics.java:[line 76]
Synchronized access at TransactionStatistics.java:[line 191]
Inconsistent synchronization of hu.netmind.beankeeper.transaction.TransactionStatistics.schemaCount; locked 55% of time
In class hu.netmind.beankeeper.transaction.TransactionStatistics
Field hu.netmind.beankeeper.transaction.TransactionStatistics.schemaTime
Synchronized 50% of the time
Unsynchronized access at TransactionStatistics.java:[line 182]
Unsynchronized access at TransactionStatistics.java:[line 186]
Unsynchronized access at TransactionStatistics.java:[line 67]
Unsynchronized access at TransactionStatistics.java:[line 81]
Synchronized access at TransactionStatistics.java:[line 67]
Synchronized access at TransactionStatistics.java:[line 67]
Synchronized access at TransactionStatistics.java:[line 81]
Synchronized access at TransactionStatistics.java:[line 81]
Inconsistent synchronization of hu.netmind.beankeeper.transaction.TransactionStatistics.schemaTime; locked 50% of time
In class hu.netmind.beankeeper.transaction.TransactionStatistics
Field hu.netmind.beankeeper.transaction.TransactionStatistics.selectCount
Synchronized 55% of the time
Unsynchronized access at TransactionStatistics.java:[line 123]
Unsynchronized access at TransactionStatistics.java:[line 60]
Unsynchronized access at TransactionStatistics.java:[line 74]
Unsynchronized access at TransactionStatistics.java:[line 119]
Synchronized access at TransactionStatistics.java:[line 51]
Synchronized access at TransactionStatistics.java:[line 88]
Synchronized access at TransactionStatistics.java:[line 60]
Synchronized access at TransactionStatistics.java:[line 60]
Synchronized access at TransactionStatistics.java:[line 74]
Synchronized access at TransactionStatistics.java:[line 74]
Synchronized access at TransactionStatistics.java:[line 191]
Inconsistent synchronization of hu.netmind.beankeeper.transaction.TransactionStatistics.selectCount; locked 55% of time
In class hu.netmind.beankeeper.transaction.TransactionStatistics
Field hu.netmind.beankeeper.transaction.TransactionStatistics.selectTime
Synchronized 50% of the time
Unsynchronized access at TransactionStatistics.java:[line 168]
Unsynchronized access at TransactionStatistics.java:[line 65]
Unsynchronized access at TransactionStatistics.java:[line 79]
Unsynchronized access at TransactionStatistics.java:[line 164]
Synchronized access at TransactionStatistics.java:[line 65]
Synchronized access at TransactionStatistics.java:[line 65]
Synchronized access at TransactionStatistics.java:[line 79]
Synchronized access at TransactionStatistics.java:[line 79]
Inconsistent synchronization of hu.netmind.beankeeper.transaction.TransactionStatistics.selectTime; locked 50% of time
In class hu.netmind.beankeeper.transaction.TransactionStatistics
Field hu.netmind.beankeeper.transaction.TransactionStatistics.updateCount
Synchronized 55% of the time
Unsynchronized access at TransactionStatistics.java:[line 101]
Unsynchronized access at TransactionStatistics.java:[line 58]
Unsynchronized access at TransactionStatistics.java:[line 105]
Unsynchronized access at TransactionStatistics.java:[line 72]
Synchronized access at TransactionStatistics.java:[line 49]
Synchronized access at TransactionStatistics.java:[line 86]
Synchronized access at TransactionStatistics.java:[line 58]
Synchronized access at TransactionStatistics.java:[line 58]
Synchronized access at TransactionStatistics.java:[line 72]
Synchronized access at TransactionStatistics.java:[line 72]
Synchronized access at TransactionStatistics.java:[line 191]
Inconsistent synchronization of hu.netmind.beankeeper.transaction.TransactionStatistics.updateCount; locked 55% of time
In class hu.netmind.beankeeper.transaction.TransactionStatistics
Field hu.netmind.beankeeper.transaction.TransactionStatistics.updateTime
Synchronized 50% of the time
Unsynchronized access at TransactionStatistics.java:[line 150]
Unsynchronized access at TransactionStatistics.java:[line 63]
Unsynchronized access at TransactionStatistics.java:[line 77]
Unsynchronized access at TransactionStatistics.java:[line 146]
Synchronized access at TransactionStatistics.java:[line 63]
Synchronized access at TransactionStatistics.java:[line 63]
Synchronized access at TransactionStatistics.java:[line 77]
Synchronized access at TransactionStatistics.java:[line 77]
Inconsistent synchronization of hu.netmind.beankeeper.transaction.TransactionStatistics.updateTime; locked 50% of time
In class hu.netmind.beankeeper.transaction.impl.TransactionTrackerImpl
In method hu.netmind.beankeeper.transaction.impl.TransactionTrackerImpl.commitInternal(TransactionTrackerImpl$TransactionImpl)
Actual type Integer
At TransactionTrackerImpl.java:[line 164]
Suspicious comparison of Integer references in hu.netmind.beankeeper.transaction.impl.TransactionTrackerImpl.commitInternal(TransactionTrackerImpl$TransactionImpl)
In class hu.netmind.beankeeper.type.impl.CollectionHandler
In method hu.netmind.beankeeper.type.impl.CollectionHandler.ensureTableExists(ClassInfo, String, boolean)
Field hu.netmind.beankeeper.type.impl.CollectionHandler.database
At CollectionHandler.java:[line 78]
Read of unwritten field database in hu.netmind.beankeeper.type.impl.CollectionHandler.ensureTableExists(ClassInfo, String, boolean)
In class hu.netmind.beankeeper.type.impl.CollectionHandler
In method hu.netmind.beankeeper.type.impl.CollectionHandler.ensureTableExists(ClassInfo, String, boolean)
Field hu.netmind.beankeeper.type.impl.CollectionHandler.schemaManager
At CollectionHandler.java:[line 78]
Read of unwritten field schemaManager in hu.netmind.beankeeper.type.impl.CollectionHandler.ensureTableExists(ClassInfo, String, boolean)
In class hu.netmind.beankeeper.type.impl.CollectionHandler
In method hu.netmind.beankeeper.type.impl.CollectionHandler.ensureTableExists(ClassInfo, String, boolean)
Field hu.netmind.beankeeper.type.impl.CollectionHandler.transactionTracker
At CollectionHandler.java:[line 60]
Read of unwritten field transactionTracker in hu.netmind.beankeeper.type.impl.CollectionHandler.ensureTableExists(ClassInfo, String, boolean)
In class hu.netmind.beankeeper.type.impl.CollectionHandler
In method hu.netmind.beankeeper.type.impl.CollectionHandler.getSymbolEntry(AttributeSpecifier, WhereResolver$SymbolTableEntry, ClassInfo, ReferenceTerm)
Field hu.netmind.beankeeper.type.impl.CollectionHandler.schemaManager
At CollectionHandler.java:[line 102]
Read of unwritten field schemaManager in hu.netmind.beankeeper.type.impl.CollectionHandler.getSymbolEntry(AttributeSpecifier, WhereResolver$SymbolTableEntry, ClassInfo, ReferenceTerm)
In class hu.netmind.beankeeper.type.impl.CollectionHandler
Field hu.netmind.beankeeper.type.impl.CollectionHandler.database
In CollectionHandler.java
Field only ever set to null: hu.netmind.beankeeper.type.impl.CollectionHandler.database
In class hu.netmind.beankeeper.type.impl.CollectionHandler
Field hu.netmind.beankeeper.type.impl.CollectionHandler.schemaManager
In CollectionHandler.java
Field only ever set to null: hu.netmind.beankeeper.type.impl.CollectionHandler.schemaManager
In class hu.netmind.beankeeper.type.impl.CollectionHandler
Field hu.netmind.beankeeper.type.impl.CollectionHandler.transactionTracker
In CollectionHandler.java
Field only ever set to null: hu.netmind.beankeeper.type.impl.CollectionHandler.transactionTracker
In class hu.netmind.beankeeper.type.impl.DefaultHandlersService
In method hu.netmind.beankeeper.type.impl.DefaultHandlersService.init(Map)
Field hu.netmind.beankeeper.type.impl.DefaultHandlersService.typeHandlerTracker
At DefaultHandlersService.java:[line 37]
Another occurrence at DefaultHandlersService.java:[line 38]
Another occurrence at DefaultHandlersService.java:[line 39]
Another occurrence at DefaultHandlersService.java:[line 40]
Read of unwritten field typeHandlerTracker in hu.netmind.beankeeper.type.impl.DefaultHandlersService.init(Map)
In class hu.netmind.beankeeper.type.impl.DefaultHandlersService
Field hu.netmind.beankeeper.type.impl.DefaultHandlersService.typeHandlerTracker
In DefaultHandlersService.java
Field only ever set to null: hu.netmind.beankeeper.type.impl.DefaultHandlersService.typeHandlerTracker
In class hu.netmind.beankeeper.type.impl.ListHandler
In method hu.netmind.beankeeper.type.impl.ListHandler.ensureTableExists(ClassInfo, String, boolean)
Field hu.netmind.beankeeper.type.impl.ListHandler.database
At ListHandler.java:[line 73]
Read of unwritten field database in hu.netmind.beankeeper.type.impl.ListHandler.ensureTableExists(ClassInfo, String, boolean)
In class hu.netmind.beankeeper.type.impl.ListHandler
In method hu.netmind.beankeeper.type.impl.ListHandler.ensureTableExists(ClassInfo, String, boolean)
Field hu.netmind.beankeeper.type.impl.ListHandler.schemaManager
At ListHandler.java:[line 73]
Read of unwritten field schemaManager in hu.netmind.beankeeper.type.impl.ListHandler.ensureTableExists(ClassInfo, String, boolean)
In class hu.netmind.beankeeper.type.impl.ListHandler
In method hu.netmind.beankeeper.type.impl.ListHandler.ensureTableExists(ClassInfo, String, boolean)
Field hu.netmind.beankeeper.type.impl.ListHandler.transactionTracker
At ListHandler.java:[line 54]
Read of unwritten field transactionTracker in hu.netmind.beankeeper.type.impl.ListHandler.ensureTableExists(ClassInfo, String, boolean)
In class hu.netmind.beankeeper.type.impl.ListHandler
Field hu.netmind.beankeeper.type.impl.ListHandler.database
In ListHandler.java
Field only ever set to null: hu.netmind.beankeeper.type.impl.ListHandler.database
In class hu.netmind.beankeeper.type.impl.ListHandler
Field hu.netmind.beankeeper.type.impl.ListHandler.schemaManager
In ListHandler.java
Field only ever set to null: hu.netmind.beankeeper.type.impl.ListHandler.schemaManager
In class hu.netmind.beankeeper.type.impl.ListHandler
Field hu.netmind.beankeeper.type.impl.ListHandler.transactionTracker
In ListHandler.java
Field only ever set to null: hu.netmind.beankeeper.type.impl.ListHandler.transactionTracker
In class hu.netmind.beankeeper.type.impl.ListImpl
In method hu.netmind.beankeeper.type.impl.ListImpl.save(Transaction, Long, Set, Set, Set, List)
Called method new Long(long)
Should call Long.valueOf(long) instead
At ListImpl.java:[line 310]
Another occurrence at ListImpl.java:[line 352]
Another occurrence at ListImpl.java:[line 405]
Another occurrence at ListImpl.java:[line 410]
Another occurrence at ListImpl.java:[line 454]
Another occurrence at ListImpl.java:[line 458]
Method hu.netmind.beankeeper.type.impl.ListImpl.save(Transaction, Long, Set, Set, Set, List) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
In class hu.netmind.beankeeper.type.impl.ListImpl$ChangeEntry
At ListImpl.java:[lines 1010-1052]
Should hu.netmind.beankeeper.type.impl.ListImpl$ChangeEntry be a _static_ inner class?
In class hu.netmind.beankeeper.type.impl.MapHandler
In method hu.netmind.beankeeper.type.impl.MapHandler.ensureTableExists(ClassInfo, String, boolean)
Field hu.netmind.beankeeper.type.impl.MapHandler.database
At MapHandler.java:[line 71]
Read of unwritten field database in hu.netmind.beankeeper.type.impl.MapHandler.ensureTableExists(ClassInfo, String, boolean)
In class hu.netmind.beankeeper.type.impl.MapHandler
In method hu.netmind.beankeeper.type.impl.MapHandler.ensureTableExists(ClassInfo, String, boolean)
Field hu.netmind.beankeeper.type.impl.MapHandler.schemaManager
At MapHandler.java:[line 71]
Read of unwritten field schemaManager in hu.netmind.beankeeper.type.impl.MapHandler.ensureTableExists(ClassInfo, String, boolean)
In class hu.netmind.beankeeper.type.impl.MapHandler
In method hu.netmind.beankeeper.type.impl.MapHandler.ensureTableExists(ClassInfo, String, boolean)
Field hu.netmind.beankeeper.type.impl.MapHandler.transactionTracker
At MapHandler.java:[line 52]
Read of unwritten field transactionTracker in hu.netmind.beankeeper.type.impl.MapHandler.ensureTableExists(ClassInfo, String, boolean)
In class hu.netmind.beankeeper.type.impl.MapHandler
In method hu.netmind.beankeeper.type.impl.MapHandler.getSymbolEntry(AttributeSpecifier, WhereResolver$SymbolTableEntry, ClassInfo, ReferenceTerm)
Field hu.netmind.beankeeper.type.impl.MapHandler.schemaManager
At MapHandler.java:[line 103]
Read of unwritten field schemaManager in hu.netmind.beankeeper.type.impl.MapHandler.getSymbolEntry(AttributeSpecifier, WhereResolver$SymbolTableEntry, ClassInfo, ReferenceTerm)
In class hu.netmind.beankeeper.type.impl.MapHandler
In method hu.netmind.beankeeper.type.impl.MapHandler.getSymbolInfo(WhereResolver$SymbolTableEntry, AttributeSpecifier)
Field hu.netmind.beankeeper.type.impl.MapHandler.classTracker
At MapHandler.java:[line 146]
Another occurrence at MapHandler.java:[line 146]
Read of unwritten field classTracker in hu.netmind.beankeeper.type.impl.MapHandler.getSymbolInfo(WhereResolver$SymbolTableEntry, AttributeSpecifier)
In class hu.netmind.beankeeper.type.impl.MapHandler
Field hu.netmind.beankeeper.type.impl.MapHandler.classTracker
In MapHandler.java
Field only ever set to null: hu.netmind.beankeeper.type.impl.MapHandler.classTracker
In class hu.netmind.beankeeper.type.impl.MapHandler
Field hu.netmind.beankeeper.type.impl.MapHandler.database
In MapHandler.java
Field only ever set to null: hu.netmind.beankeeper.type.impl.MapHandler.database
In class hu.netmind.beankeeper.type.impl.MapHandler
Field hu.netmind.beankeeper.type.impl.MapHandler.schemaManager
In MapHandler.java
Field only ever set to null: hu.netmind.beankeeper.type.impl.MapHandler.schemaManager
In class hu.netmind.beankeeper.type.impl.MapHandler
Field hu.netmind.beankeeper.type.impl.MapHandler.transactionTracker
In MapHandler.java
Field only ever set to null: hu.netmind.beankeeper.type.impl.MapHandler.transactionTracker
In class hu.netmind.beankeeper.type.impl.MapImpl
In method hu.netmind.beankeeper.type.impl.MapImpl.save(Transaction, Long, Set, Set, Set, List)
Called method new Long(long)
Should call Long.valueOf(long) instead
At MapImpl.java:[line 197]
Method hu.netmind.beankeeper.type.impl.MapImpl.save(Transaction, Long, Set, Set, Set, List) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
In class hu.netmind.beankeeper.type.impl.SetImpl
In method hu.netmind.beankeeper.type.impl.SetImpl.save(Transaction, Long, Set, Set, Set, List)
Called method new Long(long)
Should call Long.valueOf(long) instead
At SetImpl.java:[line 200]
Method hu.netmind.beankeeper.type.impl.SetImpl.save(Transaction, Long, Set, Set, Set, List) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead
In class hu.netmind.beankeeper.type.impl.TypeHandlerTrackerImpl
In method hu.netmind.beankeeper.type.impl.TypeHandlerTrackerImpl.registerHandler(Class, TypeHandler)
Field hu.netmind.beankeeper.type.impl.TypeHandlerTrackerImpl.context
At TypeHandlerTrackerImpl.java:[line 52]
Read of unwritten field context in hu.netmind.beankeeper.type.impl.TypeHandlerTrackerImpl.registerHandler(Class, TypeHandler)
In class hu.netmind.beankeeper.type.impl.TypeHandlerTrackerImpl
Field hu.netmind.beankeeper.type.impl.TypeHandlerTrackerImpl.context
In TypeHandlerTrackerImpl.java
Field only ever set to null: hu.netmind.beankeeper.type.impl.TypeHandlerTrackerImpl.context