我不知道进行此特定更改的原因,除非您找到原始作者,否则无论如何您都不可能找到权威的答案。
但是,我想回应一个更广泛的观点,那就是运行时库(和许多内部包)中 的许多
代码
java.*已优化到某种程度,这种程度在应用于“”时非常不寻常(我敢说是不负责任的)。正常”的应用代码。
基本上有两个原因:
- 在很多不同的环境中,它被称为很多。如果每天只在3台服务器上执行50次,那么优化服务器中的方法以减少0.1%的CPU时间将是不值得的。但是,如果您可以使将要执行它的 每个 人的
Integer.toString
速度提高0.1%,那么这确实可以变成很大的变化。 __ - 如果在特定VM上优化应用程序代码,则当编译器决定进行其他优化时,将该VM更新到较新版本可以轻松撤消优化。对于其中的代码,
java.*
这已不再是什么问题了,因为它始终随运行它的运行时一起提供。因此,如果他们引入了使给定优化不再最佳的编译器更改,那么他们可以更改代码以与此相匹配。
tl; dr
java.*代码经常被疯狂地优化,因为这是值得的,并且他们可以 知道 它实际上会工作。



