问题标签 [javonet]

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 投票
1 回答
149 浏览

java - 使用 Javanet 从 .NET System.DrawingImage 获取 Java 对象中的 Image 对象

我有一个关于使用 Javonet 的问题。在 .NET 代码中,我有一个返回 System.DrawingImage 的方法,我必须在我的 Java 代码端获取它。因此,当我通过 Javonet API 发出属性的“get”时,它会返回一个 NObject。这是示例:


.NET 代码:



Java 代码


我必须将“res”转换为 Image 或 ImageIcon 或 Java 中的类似内容。有什么建议吗?我是否将其作为字节数组或其他东西获取,或者在 Javonet 上有另一种机制?

0 投票
1 回答
150 浏览

java - javanet:如何在泛型类上创建 NNull

我正在评估 java 以从 java 调用 C# dll。正如我所看到的,它更符合我的上下文(jni4net 的通用失败,并且 JnBridge 不会导出我的所有类型)

我想在复杂的泛型上调用具有空实例的方法。

我尝试在没有泛型的情况下调用,但 javonet 找不到该方法。

我尝试使用 return 调用,但 javonet 再次找不到该方法。

我没有找到调用 NNull 的通用方法?有没有 ?

在此先感谢您的帮助;o)

0 投票
1 回答
198 浏览

tomcat - 可以使用 javanet 从 Web 应用程序调用本机 dll

我正在使用 javanet 将 ac# 或 .NET dll 加载到 java 中,它在作为控制台应用程序运行时完美运行,但不适用于 Web 应用程序。

它甚至适用于 Web 应用程序吗?

0 投票
1 回答
119 浏览

javonet - java - 如何避免在javonet中对数组中的基元进行自动装箱

根据https://www.javonet.com/java-devs/guides/working-with-net-arrays-and-collections-from-java-with-javonet/中的示例,如果 Java 调用的 dll 返回一个整数数组,Javonet 将只显示一个整数类数组(不是原语)。由于在我的情况下数组很大(大约 2GB 的数组),Javonet 有什么办法不自动装箱,而是返回一个原语数组?

0 投票
1 回答
368 浏览

jni4net - Javonet的性能

到目前为止,我已经让 Javonet 开始调用 .net dll。创建javonet 代码就像宣传的那样简单。

但是,就我而言,我有一个运行大约 1000 万次的循环,在该循环中,我通过 Javonet 调用了一个 dll 方法。我的问题是:由于我似乎将方法名称作为字符串传递给 Javonet(基于 java 的做事方式),我假设 Javonet 使用某种反射来查找相应的 dll 方法......但不会t 这很慢(在 1000 万个循环中),特别是因为我们已经为 javonet 注册了大约十几个不同的 dll(或者比 jni4net 和 jnbridge 之类的解决方案慢,这些解决方案似乎生成了允许我参考的实际代理我的 java 代码将 dll 方法命名为自己,而不将方法名称作为字符串传递?)

此外,Javonet 是否“智能”足以将整个数组(原语)复制到“Java VM 的内存/堆栈”中,以便当我尝试访问(非常大,大约 2GB 数组)中的每个元素时,它不会尝试为每个元素访问执行 JNI 调用?

最后,一般来说,在我上面的场景中,Javonet 会(实质上)比 jni4net 或 jnbridgePro 快/慢(一个大小为 1000 万的循环和包含大约 2GB 原始浮点数的原语数组),是否有任何理论(或观察到的)原因)?

0 投票
1 回答
149 浏览

javonet - 与本机 .net 代码相比,Javonet 性能慢 10 倍?可能是由于对象数组?

在另一篇文章中,我谈到了在 javonet 中支持原始数组的必要性。这可以解释为什么拉动约 2GB 的双数组比 .net 中的可比代码慢约 10 倍吗?我附上了 JProfiler 的屏幕截图以防万一。(此外,虽然没有显示,JProfiler 还显示了大约 1GB 的 Double 对象,如果我们只有原语,我认为它们不应该存在;但是,这是缓慢的原因还是因为对 .net 的约 40,000 次调用方法,以及与 Javonet 等之间的所有“东西”最终需要几百毫秒左右?)

JProfiler 主机点视图

2018 年 5 月 3 日更新:

如果您阅读对第一个响应的评论,您最终会看到一个解决缓慢问题的构建 (hf16)。Javonet 出现得相当快……我想这个构建最终会成为核心产品。

0 投票
1 回答
64 浏览

javonet - JavoNet 是线程安全库吗?更重要的是,它是否允许使用所有线程?

javanet线程安全吗?我无法以一种或另一种方式找到任何文档。即使它是线程安全的,是否有某种“互斥锁”阻止了所有线程的完全使用?

当我尝试并行运行 javonet 时,它确实工作了,但是 CPU 使用率并没有显着增加超过顺序负载(即在 10CPU 系统上,并行负载的 CPU 使用率徘徊在 20% 左右,这只是顺序负载的两倍CPU 负载为 10%);然而,如果我运行 10 个版本的完全相同的顺序代码(使用了 javanet),我实现了 100% 的 CPU 使用率......所以它“感觉”就像 javanet 必须有一些阻止完全并行使用的内置互斥锁。

0 投票
1 回答
110 浏览

javonet - Javonet 是否支持单声道(开箱即用)并因此可以在 Mac 和 Linux 上运行?

Javonet 是否支持单声道(开箱即用)并因此可以在 Mac 和 Linux 上运行?(JNBridge 声称支持它;j4net 并未正式支持它,尽管一些帖子声称它在某些情况下确实有效。)

0 投票
1 回答
60 浏览

javonet - javanet 是否支持 java 9、10 和 11

Javonet 是否支持 Java 9、Java 10 和 Java 11?我找不到任何支持或反驳最新 jdk 版本的文档。

0 投票
2 回答
91 浏览

javonet - 如何使用构造函数参数创建 NObject (JavoNet)

当 .Net 对象的构造函数具有一个或多个参数时,从 java 代码 (NObject) 创建 .Net 对象的语法是什么?

谢谢