JVM
dachaoa
这个作者很懒,什么都没留下…
展开
-
Java——JVM虚拟机中的“方法内联”
什么是方法内联 a. 编译过程遇到方法调用,把目标方法体纳入编译范围且取代原方法优化手段 b. 是编译优化最重要的举例:getter/setter a. 如果没有方法内联,调用时需要创建并压入用于getter/setter的栈帧,访问字段,弹出栈帧,最后再到当前方法执行 b. 内联后,就仅剩字段访问内联的条件 a. 内联越多执行效率越高,但是编译时间会延长 ...原创 2018-09-10 19:52:16 · 980 阅读 · 0 评论 -
除了方法内联-即时编译器还有哪些优化方式(intrinsic、逃逸分析、字段访问优化、循环优化)
最近在比较深入了解JVM虚拟机的相关内容,做了笔记,想在博客与大家分享即时编译器在编译时除了‘方法内联’以外还有几种优化方式,这些方法共同提高编译后代码的执行效率。大致有这几种:intrinsic举例:在实际中发现系统的String.indexOf()方法效率很高,但自己写的效率就很低,为什么呢因为系统的在这个方法上加上了@HotSpotIntrinsicCandidate注解,...原创 2018-09-25 20:44:46 · 1112 阅读 · 0 评论