org.sonar.l10n.java.rules.squid.S1149.html Maven / Gradle / Ivy
The newest version!
Early classes of the Java API, such as Vector
, Hashtable
and StringBuffer
, were synchronized to make them thread-safe.
Unfortunately, synchronization has a big negative impact on performance, even when using these collections from a single thread.
It is better to use their new unsynchronized replacements:
ArrayList
or LinkedList
instead of Vector
Deque
instead of Stack
HashMap
instead of Hashtable
StringBuilder
instead of StringBuffer
Noncompliant Code Example
Vector cats = new Vector();
Compliant Solution
ArrayList cats = new ArrayList();
Exceptions
Use of those synchronized classes is allowed in method signatures when overriding an existing method.
@Override
public Vector getCats() {...}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy