JIT的分层编译和逃逸分析

时间:2022-04-19 17:52:23

JIT到底在Java的运行中发挥了什么作用呢?根据查阅到的资料,一个作用是做分层编译,一个是做对象的逃逸分析。

  • 对于循环体中的代码,循环到一定的程度的时候,就会被再次被编译,编程执行速度更加迅速的代码。
  • 对于新建的对象,讲过逃逸分析,如果数据不会逃逸,则将数据放在栈上,不再在heap上新建这个对象。这样的好处是:
    • 避免了在堆上新建的锁堆导致的资源损耗
    • 不需要GC