在早起Java API中,比如VectorHashtableStringBuffer,为了线程安全而设计为同步的。 不幸的是,同步会严重影响性能,及时只需要在单独线程中使用这些集合。

最好使用新的非同步类来替换:

如下代码所示:

Vector cats = new Vector();       // Non-Compliant

应该重构为:

ArrayList cats = new ArrayList(); // Compliant

当在方法标签使用@Override覆盖已存在的方法时,是允许使用这些同步的类的。

@Override
public Vector getCats() {...}   //Compliant