有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在IKVM静态和动态模式之间进行选择?

我正在我的系统中部署一些Java库。NET应用程序。我应该使用ikvmc将Java库转换为DLL,还是应该在运行时使用动态特性进行转换

我希望使用ikvmc可以减少应用程序的初始负载。有没有人有任何经验来验证这一点?另一方面,如果采用动态路线,我的构建过程将相当简单

理论上,预先转换也可以更早地捕获转换错误。然而,我的测试覆盖应该可以缓解这个问题

另外,我认为ikvm可以将动态转换的程序集缓存在磁盘上的某个位置,这样只有第一次加载(可能是安装的一部分)会更慢。不过,我在ikvm文档中没有看到任何迹象表明情况如此


共 (1) 个答案

  1. # 1 楼答案

    如果性能是您的一个因素,那么您应该将其转换为DLL。时差很大。如果您只有一个小jar文件(一些KB),那么您可以这样做,因为编译时间与大小成线性关系

    但保持对URLClassloader的单个实例的引用是很重要的。如果您创建了一个新的URLClassloader,那么它必须一直编译。而且,JIT无法工作,因为您使用的是不断更新的类

    如果您想知道需要多长时间,请调用ikvmc yourJarFile.jar一次。这是您的程序在附加开始时间中需要的时间