首页
互助圈
新手教程
进阶之路
算法原理
架构设计
JAVA进阶
C/C++进阶
Python进阶
JavaScript
数据库
大数据
消息服务
源码解读
JAVA源码
Spring源码
数据库
消息服务
Dubbo源码
面试指南
大厂专栏
面试技巧
面试经验
面试题库
开发资料
文档资料
工具软件
电子书籍
小牛导航
在线工具
登录
目录
22.12.增量Java编译
当前位置:
首页
>
文档资料
>
Gradle 用户指南中文版
>
Java 插件 - 增量 Java 编译
优质
小牛编辑
129浏览
2023-12-01
22.12.增量Java编译
从Gradle2.1开始,可以使用Java增量编译,此功能正在孵化,参见
JavaCompile
如何启用这个功能. 增量编译的主要目标如下:
避免在没必要编译的java编译资源上浪费时间.这意味着更快构建,尤其是在改变一些class与jar的时候,不需要再次编译那些不依赖这些class与jar的文件.
尽可能地少输出class.类不需要重新编译意味着保持输出目录不变。一个示例场景中,真正使用JRebel的真正有用的是 - 越少的输出类被改变,JVM可以使用越快刷新。
更高级的增量编译:
检测陈旧类的设置是否正确是以牺牲速度为代价的,该算法分析字节码并与编译器直接交互(非私有常量内联),依赖传递等.举个例子:当一个类的公共常量改变后,我们希望避免由编译器编译内联常数产生的问题,我们将调整算法和缓存以便增量Java编译可以是每编译任务的默认设置。
为了使增量编译快,我们缓存会分析class的结果和jar快照。最初的增量编译应该会慢于cold caches.
免责声明:
以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。