jni相关内容

是否有Unix函数的Java库?

我正在寻找一个与标准Unix函数接口的Java库,即 stat(), getpwuid(), readlink()。 这曾经存在,被称为 javaunix 。它于2000年发布。请参阅此公告。但是项目页面现在已经消失。 今天Java中是否有这些类型的函数的现代替代品?可以对 / bin / ls -l 进行系统调用并解析输出,或编写自定义JNI方法,但这些方法比简单使用旧方法更有效。 ..
发布时间:2018-11-27 23:38:01 Java开发

什么是Java中的本机实现?

如果我们查看Java Object类,那么我们可以找到一些方法,如: public native int hashCode( ) protected native object clone() 这些原生代码是什么以及这些方法如何工作? 解决方案 这些方法是 Intrinsic 或在“本机”代码中用Java编写,即,特定于给定的机器。 您提到的是 Int ..
发布时间:2018-11-27 22:29:25 Java开发

Java Native Access不做C ++,对吧?

我发现许多在线(包括一些关于stackoverflow)的参考资料用于JNA用于C ++库,但我在JNA文档中找不到的任何内容表明这是可能的。似乎没有任何方法可以包装C ++类,特别是。 我需要本机访问才能使用RTAudio,但所有RTAudio的函数都是RTAudio类。所以只是为了确认,JNA不是正确的方法吗? 解决方案 这个问题相当于问如何使用JNA调用C ++实例方法,它是可 ..
发布时间:2018-11-27 21:55:20 Java开发

使用JNI而不是JNA来调用本机代码?

与JNI相比,使用JNA似乎更容易调用本机代码。在什么情况下你会使用JNI而不是JNA? 解决方案 JNA不支持c ++类的映射,所以如果你正在使用c ++库你将需要一个jni包装器 如果你需要大量的内存复制。例如,您调用一个返回大字节缓冲区的方法,更改其中的某些内容,然后需要调用另一个使用此字节缓冲区的方法。这将要求您将此缓冲区从c复制到java,然后将其从java复制回c。在这种 ..
发布时间:2018-11-27 13:18:14 Java开发

在哪里可以找到java.lang本机方法的源代码?

我模糊地熟悉 JNI ,我很想看到我的机器 - java.lang包中某些本机方法的特定实现。 Thread#currentThread(),例如。 我在[JDK_HOME] /中发现了一堆DLL jre / bin,但就像我说我正在尝试查找源代码。 有谁知道可以找到原生源代码的位置?它是否可用,或者它是否被Sun分类(oops我的意思是“我们在其中赢得它”Oracle)? 解决 ..
发布时间:2018-11-26 20:43:27 Java开发

是什么让JNI呼叫变慢?

我知道在Java中进行JNI调用时“跨越边界”很慢。 但是我想知道是什么这会让它变慢吗? 在进行JNI调用时,底层的jvm实现做了什么让它变得如此之慢? 解决方案 首先,它是值得注意的是,通过“慢”,我们谈论的事情可能需要几十纳秒。对于简单的原生方法,在2010年,我在Windows桌面上平均测量了40秒的呼叫,在我的Mac桌面上测量了11 ns。除非您正在进行许多调用,否则您将不 ..
发布时间:2018-11-26 20:35:37 Java开发

如何从默认包中导入类

可能重复:如何访问默认包中的java-classes? I我正在使用Eclipse 3.5,我创建了一个包含一些包结构和默认包的项目。我在默认包中有一个类 - Calculations.java ,我想在任何包中使用该类(例如在 com.company.calc )。当我尝试使用默认包中的类时,它给了我一个编译器错误。它无法识别默认包中的类。问题出在哪里? Calculations.j ..
发布时间:2018-11-26 12:54:37 Java开发

Java中的native关键字是什么?

在播放这个谜题(这是一个Java关键字琐事游戏)时,我遇到了 native keyword。 Java中的native关键字用于什么? 解决方案 native 关键字应用于方法,以指示该方法是使用JNI(Java Native Interface)在本机代码中实现的。 ..
发布时间:2018-11-26 12:50:38 Java开发

如何从java调用c ++功能

我有一个主要是GUI的Java程序,它显示了从c ++命令行工具写入xml文件的数据。现在我想在java程序中添加一个按钮来刷新数据。这意味着我的程序必须调用c ++功能。 是通过系统调用从java调用程序的最佳方法吗? 将为mac os和windows编译c ++程序,并且应始终与java程序位于同一目录中。 我想生成一个可执行文件可以将c程序存储在jar中并从我的程序中调用吗? ..
发布时间:2018-11-19 13:40:09 Java开发

Java - 通过相对路径加载dll并将它们隐藏在jar中

第1部分 我正在开发一个应该作为jar发布的Java应用程序。该程序依赖于JNI调用的C ++外部库。要加载它们,我使用方法 System.load 使用绝对路径,这样可以正常工作。 但是,我真的想在JAR中“隐藏”它们,所以我创建了一个包来收集它们。这迫使我加载一个相对路径 - 包路径。通过这种方法,我让用户在任何目录中运行JAR,而不用担心链接DLL或厌倦以前的安装过程。 这 ..
发布时间:2018-11-19 13:02:20 Java开发

IntelliJ Idea和JNI:确定DLL是他们需要执行的地方

我正在使用项目中的第三方库,它包含两个.dll文件和一个.jar fie来提供JNI Wrapper。可以使用以下命令调用.jar文件中包含的第三方供应商的测试项目: java -cp product .jar com.company.samples.product.Test 这个工作正常,只要。 jar和两个dll都在同一个目录中。 在我的项目中,我将jar文 ..
发布时间:2018-08-08 17:02:24 Java开发

如何在Android Activity中调用Jni对象?

我正在制作文档扫描仪。我正在使用opencv进行图像处理。在相机视图中,我是最大轮廓上的矩形。处理用Native-lib.cpp编写的部分。它正确地检测最大轮廓。现在我想只捕获用native-lib.cpp编写的boudingRect。所以我想在java类中使用native-lib对象。帮助实现这一点。 Native-lib.cpp extern“C” JNIEXPORT void ..
发布时间:2018-07-31 08:01:46 Java开发

使用Java实现Windows资源管理器图标叠加的方法

我正在用Java编写云同步应用程序,使用.jni集成来在Windows资源管理器中虚拟化云文件系统。 现在我要实现图标叠加像owncloud一样可以看到这样一个节点的状态: 我找到了一些C#的解决方案。如果使用jni接口来访问图标处理程序,这对Java也是可行的。 任何人都知道现有的解决方案吗? PS最后一个问题是4年,所以最终有一个新的解决方案,现代系统与java8结合使 ..
发布时间:2018-07-13 11:08:55 Java开发

Java和Haskell之间的通信

我搜索了一些答案,可以通过GCJNI(现在网站已关闭)和LambdaVM完成Java与Haskell之间的通信。要使用LambdaVM / GCJNI,是否需要下载任何构建工具?我在哪里可以了解更多关于他们的信息,因为我没有在网上找到很多资源? 我想开发一个在Java和Haskell之间进行通信的应用程序(我将从Java的输入中将其传递给Haskell并在那里处理并返回结果Java)。这是我 ..
发布时间:2018-06-04 14:35:08 Java开发

如何通过JNI将HashMap从Java发送到C

我有一个 Object ,它有一个 HashMap 字段。当 Object 传递给C时,我如何访问该字段? 对象的 Class 包含以下字段: private String hello; 私人地图 params = new HashMap(); 解决方案 您的问题的答案可以归结为为什么你想要将 Map ..
发布时间:2018-06-04 13:35:44 Java开发

JNI:创建HashMap

如何在JNI中创建一个HashMap对象? 解决方案 这里是代码,您需要修改 jclass mapClass =(* env) - > FindClass(env,“java / util / HashMap”); if(mapClass == NULL) { return NULL; } jsize map_len = 1; jmethodID in ..
发布时间:2018-06-04 13:23:59 其他开发