问题标签 [jaotc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4713 浏览

java - 如何运行用 jaotc 编译的类?

我使用以下命令使用Java 9 Ahead-Of-Time Compiler编译了一个简单的类:jaotc

这会生成一个名为unnammed.so. 如何运行编译好的程序?我是否需要编写引导程序来链接 .so 文件?

0 投票
0 回答
526 浏览

java - jaotc 无法从 java.base 中找到类

如何设置/运行 jaotc 以便它可以找到标准的 JDK 类?
使用 JDK 9 过期的 AOT 编译器来预构建一些库,许多库由于类似的原因而失败。例如

结果

0 投票
1 回答
1083 浏览

java - 您可以将 jaotc(Java Ahead-of-Time 编译器)与 jlink(模块组装器/优化器来创建运行时映像)一起使用吗?

这里的目标是:

  1. 创建一个运行时映像,它自己剥离了 JRE(最小化大小)——这就是 jlink 给我们的

  2. 创建本机可执行库而不是使用字节码(改善加载时间并希望消除混淆的需要)——这就是 jaotc 给我们的

但是,没有任何好的文档可以将两者关联起来。似乎有很多矛盾的方式来处理这两个流程。

是否可以使用使用 jaotc 生成的二进制文件的 jlink 构建运行时映像?

0 投票
1 回答
411 浏览

java - 使用 Java 10 的 jaotc 编译单个类

我想用jaotc. 虽然我能够构建 Java 10 模块的共享库,但我无法弄清楚如何编译单个类。我班的 FQCN 是net.sweblog.jm18.aot.hw.HelloWorld,它的完整路径是target/classes/net/sweblog/jm18/aot/hw/HelloWorld.class.

所以尝试jaotc如下调用:

有谁知道如何jaotc正确调用来编译我的类文件?

0 投票
3 回答
469 浏览

java - 如何下载jaotc?

每个人都将 jaotc 称为http://openjdk.java.net/jeps/295。但是从那个网页上,我无法弄清楚如何下载 jaotc。

0 投票
2 回答
237 浏览

java - Original class file still needed after jaotc compilation?

For those who know jaotc, I have a simple question for you.

After you do

#xA;

You can run

#xA;

without any problem. This is what has been shown on the internet everywhere. Fine with me.

However, if you move your HelloWorld.class somewhere else that is not in your classpath, and run

#xA;

again, then you will get a class not found error.

So the original .class file is still needed? Then what's the point of doing the AOT?

0 投票
1 回答
241 浏览

java - jaotc 库无法在 javac 中运行;java说没有main方法

我正在尝试为在 WSL 上运行的 Ubuntu 18.04 编译一个迷你基准测试本机代码。我将它与用 C# 编写的功能相同的代码进行比较,该代码正在编译为 Dotnet Native,其运行速度比 MSIL 代码快约 10 倍。我希望这是一个苹果对苹果的测试。我正在使用 OpenJDK 12 来执行此操作。下面是正在使用的命令和代码。

jaotc -J-XX:+UseParallelGC -J-XX:-UseCompressedOops --output Java/Chain.so --class-name Java.Chain:Java.Person

其次是

java -XX:AOTLibrary=Java/Chain.so Java.Chain

结果是

代码:Chain.java

人.java

我需要知道我做错了什么。我在互联网上找到的每一个例子都让我想到了这一点。

0 投票
1 回答
29 浏览

android - 这句话关于 AoT 是否正确?

ART 基于 AOT(ahead-of-time)技术,在安装应用程序期间编译代码,增加应用程序的安装时间

0 投票
0 回答
49 浏览

java - 为什么我的程序使用 Java AOT 比传统的 java 执行慢

我目前正在尝试 java Ahead of Time 功能。

我执行以下代码:

我启动:

仅需 3267 毫秒

现在我决定用 AOT 功能编译相同的代码

然后我运行 AOT:

它需要 5 秒,因此比经典执行多 2 秒!
我不明白为什么我会得到这种行为?

谢谢你的时间

0 投票
0 回答
124 浏览

java - jaotc for Java Ahead of Time Compilation 是否可用于 armv7(32 位)

我的带有单个 armv7 CPU 的慢速 BlackBox 设备使用 Java 14。JRE 是自定义构建的(不是我自己构建的),但jaotc不幸的是缺少 JRE,因为我真的希望在这个设备上尝试一下。

我认为jaotc现在可用于所有环境,或者它不包括诸如armv7之类的 32 位,如果当前不可用,它是否有可能在更高版本的 Java 中可用?