JIT及时编译几种常见的技术
技术 | 说明 |
方法内联 |
1.出去方法调用的成本(建立栈帧、出入栈等) 2.是其他优化措施的前提 |
公共子表达式消除 | 避免相同表达式的重复计算 |
数组边界检查消除 | 去除数组访问是否越界的判断 |
逃逸分析 |
不是直接的优化手段,而是其他优化手段提供依据的分析技术; 如果确定一个对象不会逃逸到方法和线程之外,可以对对象进行如下高效的优化: 栈上分配、同步消除、标量替换 |
栈上分配 |
在栈上分配对象; 对象随着方法结束自动消失,节约gc时间; |
同步消除 | 不会逃逸,则没有线程安全问题,则不需要同步 |
标量替换 |
标量的定义:指一个数据无法在分解为更小的数据来表示;如java中的原始类型。与标量 对应的是聚合量,例如对象 标量替换:把对象拆散,根据程序访问情况,将其使用到的成员变量恢复原始类型来访问(这些成员属性在栈上创建) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用