圆圆网络 手游攻略 新游动态 深基坑验收记录表范本,aot键

深基坑验收记录表范本,aot键

时间:2024-05-02 01:02:11 来源:头条 浏览:0

刚开始使用AOT的时候,可以说是有很多限制,但有时也有流程没有效果,最后根本就没有使用AOT。这些都是大大小小的陷阱。请记录如下。下面会用到之前的一些资料,不过链接地址先介绍一下aot。

修复启动参数

深基坑验收记录表范本,aot键

jaotc允许您通过添加-J参数来指定jvm启动参数。让我们使用cms编译库文件。

运行jaotc -J-XX:+UseConcMarkSweatGC --output libtest.so AotTest.class 的结果包括两条消息。

Java HotSpot(TM) 64 位服务器VM warning: UseConcMarkSoupGC 选项在版本9.0 中已弃用,并且可能会在将来的版本中删除。初始化VMJVMCI 时发生错误。编译器不支持选定的GC: 同步标记扫描GC。第一个已经被cms 标记为过时。其次,jvmci不支持cms。根据官方文档,当前aot支持ps和g1。其他不支持。默认是g1,所以接下来我们试试ps。

发现jaotc -J-XX:+UseParallelGC --output libtest.so AotTest.class 成功。

如果有两种配置,则必须先使用jaotc 编译两个版本的库并选择何时使用它们,因为启动参数需要固定。

编译和启动参数必须一致

我们尝试根据上面ps 生成的libtest.so 更改启动参数。

java -XX:+UseConcMarkSoupGC -XX:AOTLibrary=./libtest.so AotTestjava -XX:+UseParallelGC -XX:AOTLibrary=./libtest.so AotTestjava -XX:+UseG1GC -XX:AOTLibrary=./libtest.so AotTest 以上三个启动参数如下所示将。它运行正确。没有报告错误。你觉得这违反了官方要求编译和启动一致的要求吗?参数如下。

-XX:+PrintAOT 该参数允许您使用aot 打印类和方法。现在让我们尝试一下G1(上面ps 中指定的库)。

java -XX:+UseG1GC -XX:+PrintAOT -XX:AOTLibrary=./libtest.so 在AotTest 中你会发现另一个输出。

Shared file ./libtest.so error:used 'Parallel gc' is Different from current 'g1 gc' 7 1 Skiped ./libtest.so aot library 这里说libtest.so正在使用ps并且当前会显示错误消息。 g1 则不同。该库将被跳过。接下来,比较PS结果。

12 1 加载./libtest.so aot 库113 1 aot[ 1] AotTest.()V 113 2 aot[ 1] AotTest.main([Ljava/lang/String;)V ps 调用aot 方法我发现这是可能的打印。

类文件必须存在

现在我已经编译了可执行文件,我可以删除类文件吗?答案是否定的。下面,我们用一个更复杂的案例。

public class TestB{public static void main(String[] args) {System.out.println('this is TestB');}} 准备调用类。然后在另一个文件中调用B。

public class AotTest{ public static void main(String[] args) { TestB.main(null); }} 这次,我们将B 编译成一个单独的库并按原样使用它。

jaotc --output libB.so TestB.class 现在删除TestB.class 并再次运行。发现报如下错误:

线程“main”中出现异常java.lang.noclassefounderror: testbat aottest.main (aottest.java:3) 原因: Java.lang.classnotFoundException3 3360 Testbat java.base/jdk.internal.loader.builtincloader.loadclass base /jdk.internal.loader。 ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521). 剩下的直接就是NoClassDefFoundError了。

了解aot

jvm的整体流程保持不变。 aot 的存在取代了jit 的一部分,并不意味着生成的二进制文件将包含所有数据。 aot不会将java转换为c等可执行文件,它只是让你直接得到现成的结果,而不需要动态编译。

标题:深基坑验收记录表范本,aot键
链接:https://yyuanw.com/news/xydt/13349.html
版权:文章转载自网络,如有侵权,请联系删除!
资讯推荐
更多
阴阳师4月22日更新内容:帝释天上线技能调整,红莲华冕活动来袭

阴阳师4月22日更新内容:帝释天上线技能调整,红莲华冕活动来袭[多图],阴阳师4月22日更新的内容有哪些?版本更新

2024-05-02
四川电视台经济频道如何培养孩子的学习习惯与方法直播在哪看?直播视频回放地址

四川电视台经济频道如何培养孩子的学习习惯与方法直播在哪看?直播视频回放地址[多图],2021四川电视台经济频

2024-05-02
湖北电视台生活频道如何培养孩子的学习兴趣直播回放在哪看?直播视频回放地址入口

湖北电视台生活频道如何培养孩子的学习兴趣直播回放在哪看?直播视频回放地址入口[多图],湖北电视台生活频道

2024-05-02
小森生活金币不够用怎么办?金币没了不够用解决方法

小森生活金币不够用怎么办?金币没了不够用解决方法[多图],小森生活金币突然就不够用的情况很多人都有,金币没

2024-05-02