JVM系列之:JIT中的Virtual Call接口
简介 上一篇文章我们讲解了Virtual Call的定义并举例分析了Virtual Call在父类和子类中的优化。 JIT对类可以进行优化,那么对于interface可不可以做同样的优化么? 一起来看看吧。 最常用的接口List List应该是大家最最常用的接口了,我想这个大家应该不会反驳。 public interface List<E> extends Collection<E> { 今天我们就拿List来做例子,体验一下JIT优化接口的奥秘。 还是上代码,要分析的代码如下: public class TestVirtualListCall { public static void main(String[] args) throws InterruptedException { List<String> list=new ArrayList<>(); for (int i = 0; i < 10000; i++) { doWithVMethod(list); } Thread.sleep(1000); } public static void doWithVMethod(List<String> list) { list.add("www.flydean.com"); } } 如果在命令行运行,大家记得在运行时添加参数-XX: