jni相关内容

hadoop 2.5.0未能启动datanode

我试图部署独立版本的hadoop 2.5.0。但Datanode无法启动。日志打印: 2014-10-20 13:42:13,288 FATAL org.apache.hadoop.hdfs.server.datanode。 DataNode:secureMain中的异常 java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.native ..
发布时间:2018-05-31 20:09:24 Java开发

在HBase MapReduce任务中加载Native共享库

最近我试图在JNI代码中实现我的算法(使用C ++)。我这样做并生成了一个共享库。 这是我的JNI类。 public class VideoFeature { // JNI代码Begin public native static float Match(byte [] testFileBytes,byte [] tempFileBytes); static { System. ..
发布时间:2018-05-31 19:39:10 Java开发

在Tomcat中找不到本机库

我开发了一个GWT应用程序,其中包含一些带有JNI的本地库。当我从eclipse测试它时,一切正常,但是当我尝试将它部署到Eclipse服务器上时,它找不到本地库。 我跟着本教程适用于JNI和Tomcat java.library.path 时,它与我启动Tomcat时得到的不同(使用 设置路径)。 解决方案最简单的答案可能是编辑Tomcat安装的 bin / startu ..
发布时间:2018-05-31 12:21:20 服务器开发

如何从Grails应用程序使用JNI本地库

我正在开发一个Grails web应用程序,我需要使用一个JNI本地库来访问某些特定的硬件。对于一个简单的Java应用程序(见下文),它工作正常。为此,我只需将JAR添加到Java构建路径并指定“本机库位置”(我使用Windows7上的SpringSource工具套件)。 工作示例: 导入conceptacid.nativedriver.Driver; public class M ..
发布时间:2018-05-24 18:58:11 Java开发

如何在Linux上使用GDB调试Java -JNI?

任何人都可以指导如何使用GDB调试器在Linux上调试JNI代码(如果可能的话,请提供其他选项)。 - 在Linux上运行时,我的JNI项目导致JVM崩溃。 - CPP代码已被编译为.so文件。 -I像这样运行项目:* java xyz.jar -commandline_args_to_project *。 我已经安装了Gdb,但没有得到我们如何使用它调试项 ..
发布时间:2018-04-21 14:25:49 Java开发

JNI代码中的UnsatisfiedLinkError

我试图创建一个简单的JNI项目来获取JNI的挂件,但我一直在遇到这个错误: 线程“main”中的异常java.lang.UnsatisfiedLinkError:HPAProgram.sayHello() I don没有太多代码,所以我可以在这里粘贴大部分代码。 我运行以下命令: javac HPAProgram.java javah HPAPro ..
发布时间:2018-04-21 11:23:30 Java开发

麻烦编译JNI

我通过引用已经用JNI生成的头文件实现了以下C代码: #include #include #include“HelloWorld.h” JNIEXPORT void JNICALL Java_HelloWorld_print(JNIEnv * env,jobject obj) {“Hello World! \\\ “); return; } ..
发布时间:2018-04-21 10:55:57 Java开发

Java本地资源映射的有效性(以及如何保持它们同步)

请考虑这种情况: Java和一些(昂贵的)本地资源之间存在连接,这是要映射到Java的要求。问题是关于资源的生命周期以及如何在native和java上使用这些资源,只要它们是需要的。假设我们可以根据需要使用两种方式来激活JNI连接。 规则如下: 只要包装器Java对象需要它们,资源就会保持活动状态。如果需要,可以对Java对象进行垃圾回收。 只要本地部分需要,资源就会保持活动状态 ..
发布时间:2018-04-19 18:36:42 Java开发

垃圾收集时JNI库释放内存?

我正在使用JCUDA,想知道JNI对象是否足够聪明以便在垃圾收集时释放它们?我可以理解为什么这可能不适用于所有情况,但我知道它适用于我的情况,所以我的后续问题是:我该如何实现?有没有可以设置的“模式”?我需要建立一个抽象层吗?或者,答案可能是“不要尝试”,那么为什么不呢? 编辑:我指的只是通过JNI创建的本机对象,而不是Java对象。我知道所有的Java对象都被同等对待W.R.T.垃圾收集。 ..
发布时间:2018-04-19 18:36:32 Java开发

NewGlobalRef的弱引用仍然可以防止垃圾收集对象

为了实现从本地代码到Java代码的回调函数,我必须使用 NewGloabRef 创建一个全局引用。从内存配置文件中,我发现一旦我调用 env-> NewGlobalRef(weak_this),即使它是播放器对象的弱引用,Player对象也会可用作根对象,我认为这将防止它被垃圾收集。 但我的理解是,弱引用不会阻止垃圾收集对象。 // java代码 播放器{ $ b $ nati ..
发布时间:2018-04-19 18:31:32 Java开发

从本地方法返回由JNI创建的本地引用

JNI引用说明: “本地引用在本机方法调用期间有效,它们在本机之后自动释放方法返回。 来源: http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/functions.html#global_local 我有点迷失在这里,根据上面的介绍,我必须显式调用 NewGlobalRef ,并将调用返回的对象传递给 N ..
发布时间:2018-04-19 18:23:32 Java开发

是否有可能使GC管理本地对象的生命周期?

使用C ++和C#经验和一些小Java知识,我现在开始一个Java + JNI(C ++)项目(Android,如果这很重要的话)。 我有一个本地方法,它创建一些C ++类并将它作为一个Java long值(比如句柄)返回一个指针。然后从这里和那里的Java代码中调用的其他本​​地方法使用该句柄作为参数对此类执行一些本机操作。 C ++方面不拥有这个对象,它是Java方面的。但在当前的架构设 ..
发布时间:2018-04-19 18:18:49 Java开发

强制GC收集JNI代理对象

尽管我尽最大努力在使用结束时清理JNI对象以释放本地内存,但仍有一些长期存在,浪费系统本地内存。 有没有办法强制GC优先收集这些JNI代理? 我的意思是说有一种方法可以使GC集中精力一种特殊的对象,即JNI代理? 感谢。 解决方案 如果您正在讨论在本机代码中分配的内存(以及扩展名为句柄),那么它不在JVM的垃圾收集器的权限范围之内 - 没有办法做到这一点,所以您是独立的。 ..
发布时间:2018-04-19 18:16:13 其他开发

GC.AddMemoryPressure等同于Java

项目:Java,JNI(C ++),Android。 我将通过创建托管包装类来管理本机C ++对象的生命周期,指向本地对象的指针(作为一个长成员),并将在其重写的finalize()方法中删除本地对象。有关详细信息,请参见此问题。 C ++对象不会占用其他类型的资源,只会占用内存。该对象的内存占用不是非常高,但它实质上高于Java中的64位长。有没有什么办法可以告诉Java的GC,我的 ..
发布时间:2018-04-19 18:14:14 Java开发

如何识别JNI全局引用内存泄漏的原因?

我使用的是Tomcat,在停止我的web应用程序之后,仍然有对我的web应用程序的类加载器实例的引用。 结果是,大量的内存(主要与静态数据有关)不会被释放。迟早会导致 OutOfMemoryError 。 我花了一个堆转储 code>,我意识到它由 JNI全局引用 ,防止类加载器将 垃圾回收 。 我的应用程序不使用JNI 。我也没有使用 Apache Tomcat原生库。我正在使用S ..
发布时间:2018-04-19 18:11:19 Java开发