Java Scala—AbstractSeq如何减少字节码大小
我在浏览scaladocs时遇到了Java Scala—AbstractSeq如何减少字节码大小,java,scala,bytecode,Java,Scala,Bytecode,我在浏览scaladocs时遇到了AbstractSeq类。他们把它描述为 Seq trait的显式实例化,以减少子类中的类文件大小。 这如何减少子类的文件大小?子类将获得所有方法,对吗?有人能解释一下它是如何工作的吗?当您直接扩展一个trait时,类会为每个trait中的实现方法获取一个方法 假设您有N方法,这些方法在Seq中实现(traitsSeq本身扩展)。如果您有扩展Seq的M类,则它们需要M*N方法。当它们扩展AbstractSeq时,AbstractSeq具有N方法,所有其他类都继承
AbstractSeq
类。他们把它描述为
Seq trait的显式实例化,以减少子类中的类文件大小。
这如何减少子类的文件大小?子类将获得所有方法,对吗?有人能解释一下它是如何工作的吗?当您直接扩展一个trait时,类会为每个trait中的实现方法获取一个方法 假设您有
N
方法,这些方法在Seq
中实现(traitsSeq
本身扩展)。如果您有扩展Seq
的M
类,则它们需要M*N
方法。当它们扩展AbstractSeq
时,AbstractSeq
具有N
方法,所有其他类都继承它们。因此,您可以用一个额外的类来交换(M-1)*N
更少的方法