JIT优化策略摘录

本文探讨了Java性能优化的各种策略和技术,包括选择性优化、利用固有函数、从解释到编译的转换、隐式异常处理、逃逸分析等内容。通过这些方法,开发者能够提升应用程序的运行效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以上内容摘自《Java Program in Action》(Kris Mok)
一。选择性的优化
择要优化的代码
其中,择要优化癿代码路径择优化癿程度.
追求交互性的时候只选用效费比高的优化算法。
追求顶峰性能时选择合适的代码进行高度优化。
传统的编译器优化算法都可以有选择性得到应用

二。为常见情况而优化
避开非常见情况,留下“逃生门”。
三。固有函数(intrinsics)
有些Java方法在HotSpot中直接用硬件的特殊指令来实现。
如Math.sin()、Unsafe.compareAndSwapInt()之类。
调用这些方法,在解释模式有可能还是调用了本地方法,而在被JIT编译的代码中则直接把其中的操作内联进来。
四。由解释转为编译
由计数器触发JIT编译。
方法调用读数器,回边读数器,OSR编译,读数器衰减,profiling。
五。隐式异常处理
对空指针、栈溢出等异常情况不显式检查,而是直接生成不检查错误的代码。
1.在正常执行时不会因为要检查异常条件而带来任何开销
2.在异常发生时速度比显式检查异常条件慢
3.若检测到异常经常发生则重新编译,生成显式检查异常条件代码。

六。逃逸分析(escape analysis)
检查某个对象的使用是否只在某个受限范围内(方法内/线程内)。
可以为其它优化提供机会。
1.标量替换
2.栈上分配
3.锁削除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值