ction dump(obj) {由于没有指定对象的类型，并且有潜在的方法重载，所以不可能提前判断toString方法被调用的具体实现，因而就必须在运行时执行动态查询。在不采用某种形式缓存的语言运行时中，每次调用方法都将执行该查询。因为方法可能在多个继承链下定义，所以动态查询可能是一个昂贵的操作。为取得更好的性能，许多语言运行时采用某种形式的非内联缓存，其中将有限数量的方法查找结果存储在关联数据结构中。这可以大大提高性能，只要执行的程序“缓存友好”，即有一组经常被调用的方法。这个数据结构通常称为第一