博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jdk9 新特性 sjavac
阅读量:2490 次
发布时间:2019-05-11

本文共 969 字,大约阅读时间需要 3 分钟。

智能 Java  编译工具智能 Java  编译工具

 什么是sjavac,它是谁,我该如何使用它?

转载:

 OpenJDK邮件列表中的 sjavac 。此外,还有两个相关的JEP:

 

我的问题是:

  • sjavac 工具究竟是什么?
  • 谁是谁它打算用于?
  • 如何使用它?
  • 免责声明:自我回答的问题。只是想将此工具的知识带到StackOverflow社区,并创建对未来sjavac FAQ的引用。
     

解决方案

 

什么是sjavac工具?

sjavac 工具是围绕 javac 的(据称是智能)包装器,在Oracle开发并旨在提供以下功能:

  • 增量编译 - 仅重新编译必要的内容
  • 并行编译 - 在编译期间使用多个核心
  • 将编译器保留在HotSpot VM - 重用JIT的javac实例进行连续调用

重新编译一组源文件时,javac会查看.java的时间戳和.class文件来确定要保留的内容和要重新编译的内容。这非常粗糙,对于大型代码库来说可能是毁灭性的。除了时间戳,sjavac还会检查依赖项的公共API,以判断哪些文件需要重新编译。

Sjavac还尝试将编译拆分为多个javac调用。换句话说,它为构建过程带来了高水平的并行性。

最后,sjavac工具分为客户端部分和服务器部分,允许您让sjavac在后台运行,JIT'并准备连续使用。

 

智能
java
编译工具
(
sjavac
)
的第一个阶段始于
JEP139
这个项目, 用于
在多核处理器情况下提升
JDK
的编译速度
。如今,这个项目已经 进入第二阶段,即 JEP199
,其目的是改进
Java
编译工具,并
取代目 前
JDK
编译工具
javac
,继而成为
Java 环境默认的通用的智能编译工 具。
JDK 9
更新了
javac
编译器
以便能够将
java 9 代码编译运行 在低版本
Java
中。

 

 

它的目的是什么?

我们鼓励那些正在开发大型项目并经常在开发过程中重新编译代码库的人试用 sjavac 。 (请注意,该工具目前正在开发中,但仍存在未解决的问题。)

 

 

 

如何使用它?

OpenJDK尚未附带该工具,因此您必须从。此外,还没有启动器,所以你用 java com.sun.tools.sjavac.Main 调用它。

您可以在这里尝试sjavac的jdk 8后端:

你可能感兴趣的文章
海龟交易法则01_玩风险的交易者
查看>>
CTA策略02_boll
查看>>
vnpy通过jqdatasdk初始化实时数据及历史数据下载
查看>>
设计模式19_状态
查看>>
设计模式20_观察者
查看>>
vnpy学习10_常见坑02
查看>>
用时三个月,终于把所有的Python库全部整理了!拿去别客气!
查看>>
pd.stats.ols.MovingOLS以及替代
查看>>
vnpy学习11_增加测试评估指标
查看>>
资金流入流出计算方法
查看>>
海龟交易法则07_如何衡量风险
查看>>
海龟交易法则08_风险与资金管理
查看>>
海龟交易法则09_海龟式积木
查看>>
海龟交易法则10_通用积木
查看>>
海龟交易法则14_掌控心魔
查看>>
海龟交易法则16_附原版海龟交易法则
查看>>
克罗谈投资策略01_期货交易中的墨菲法则
查看>>
克罗谈投资策略02_赢家和输家
查看>>
克罗谈投资策略03_你所期望的赌博方式
查看>>
克罗谈投资策略04_感觉与现实
查看>>