Java十大简单性能优化(20)

…name表名称在那里 。 我们甚至不考虑表的架构或任何其他属性 , 因为表名通常在数据库中足够不同 。 另外 , name是一个字符串 , 因此它内部已经有一个缓存的hashCode()值 。

该注释很重要 , 因为AbstractTableextendsAbstractQueryPart是任何AST(抽象语法树)元素的常见基础实现 。 通用AST元素没有任何属性 , 因此它不能做任何假设来优化hashCode()实现 。 因此 , 重写的方法如下所示:

1个

2

3

4

5

6

7

8

9

10

// AbstractQueryPart a common AST element

// base implementation:

@Override

publicinthashCode() {

// This is a working default implementation.

// It should be overridden by concrete subclasses

// to improve performance

returncreate().renderInlined(this).hashCode();

推荐阅读