当我们使用框架或库时,匿名类的回调函数是一种常见的方法,因此了解JIT是否执行此类优化非常有用。
我想知道JIT编译器是否足够聪明,能够理解每次执行某些代码并编译成原生代码?
答案 0 :(得分:4)
与任何其他代码一样,一旦执行了足够的次数,它将由JIT编译器进行编译和优化(默认情况下,使用Hotspot服务器VM为10000,使用客户端VM为1500),因此JIT已经足够以优化为基础的数据。
仅仅因为它是匿名的并不意味着它被视为任何不同:它仍然是一个类,在编译期间生成一个名称(MyClass $ 1)。