草庐IT

JNI_ASSERT

全部标签

java - OSX Yosemite - JVM 共享库不包含 JNI_CreateJavaVM 符号

下载了OSXYosemiteBeta3,我正在尝试运行一些基于Eclipse的IDE,即TitaniumStudio和AptanaStudio。当我尝试启动应用程序时遇到此错误消息。启动时不起作用,所以我下载了JDK1.8.0_40,仍然没有骰子。它在正确的位置查找,文件存在并且使用正确的java版本。不知道是什么问题,如有任何帮助,将不胜感激。 最佳答案 从Apple下载适用于OSX2014-001的最新Java版本。http://support.apple.com/kb/DL1572?viewlocale=en_US&local

java - 在 JNI 代码中抛出异常的最佳方法?

我想要一种在JNI代码中抛出异常的一致且简单的方法;处理链式异常的东西(隐含地来自env->ExceptionOccurred方法,或显式地通过参数,任何一种方式都很好)并且每次我想这样做时都可以节省我查找构造函数的时间。以上所有内容最好用C语言编写,尽管我可以根据需要从C++翻译它。SO上有没有人可以分享类似的东西? 最佳答案 我们只是为我们想要抛出的每种异常类型编写实用方法。以下是一些示例:jintthrowNoClassDefError(JNIEnv*env,char*message){jclassexClass;char*c

java - 在 JNI 代码中抛出异常的最佳方法?

我想要一种在JNI代码中抛出异常的一致且简单的方法;处理链式异常的东西(隐含地来自env->ExceptionOccurred方法,或显式地通过参数,任何一种方式都很好)并且每次我想这样做时都可以节省我查找构造函数的时间。以上所有内容最好用C语言编写,尽管我可以根据需要从C++翻译它。SO上有没有人可以分享类似的东西? 最佳答案 我们只是为我们想要抛出的每种异常类型编写实用方法。以下是一些示例:jintthrowNoClassDefError(JNIEnv*env,char*message){jclassexClass;char*c

java - java的assert语句可以让你指定消息吗?

似乎在断言失败时让断言显示一条消息可能很有用。当前抛出一个AssertionError,你可以为它指定一个自定义消息吗?您能否展示一个执行此操作的示例机制(除了创建您自己的异常类型并抛出它)? 最佳答案 你当然可以:assertx>0:"xmustbegreaterthanzero,butx="+x;见ProgrammingwithAssertions了解更多信息。 关于java-java的assert语句可以让你指定消息吗?,我们在StackOverflow上找到一个类似的问题:

java - java的assert语句可以让你指定消息吗?

似乎在断言失败时让断言显示一条消息可能很有用。当前抛出一个AssertionError,你可以为它指定一个自定义消息吗?您能否展示一个执行此操作的示例机制(除了创建您自己的异常类型并抛出它)? 最佳答案 你当然可以:assertx>0:"xmustbegreaterthanzero,butx="+x;见ProgrammingwithAssertions了解更多信息。 关于java-java的assert语句可以让你指定消息吗?,我们在StackOverflow上找到一个类似的问题:

java - 通过 JNI 在 C 和 Java 之间传递指针

目前,我正在尝试创建一个使用CUDA功能的Java应用程序。CUDA和Java之间的连接工作正常,但我遇到了另一个问题,想问一下,我的想法是否正确。当我从Java调用native函数时,我将一些数据传递给它,这些函数会计算一些东西并返回一个结果。是否有可能让第一个函数返回一个指向该结果的引用(指针),我可以将其传递给JNI并调用另一个对结果进行进一步计算的函数?我的想法是通过将数据留在GPU内存中并仅传递对它的引用以便其他函数可以使用它,从而减少将数据复制到GPU和从GPU复制数据的开销。尝试了一段时间后,我自己想,这应该是不可能的,因为指针在应用程序结束后被删除(在这种情况下,当C函

java - 通过 JNI 在 C 和 Java 之间传递指针

目前,我正在尝试创建一个使用CUDA功能的Java应用程序。CUDA和Java之间的连接工作正常,但我遇到了另一个问题,想问一下,我的想法是否正确。当我从Java调用native函数时,我将一些数据传递给它,这些函数会计算一些东西并返回一个结果。是否有可能让第一个函数返回一个指向该结果的引用(指针),我可以将其传递给JNI并调用另一个对结果进行进一步计算的函数?我的想法是通过将数据留在GPU内存中并仅传递对它的引用以便其他函数可以使用它,从而减少将数据复制到GPU和从GPU复制数据的开销。尝试了一段时间后,我自己想,这应该是不可能的,因为指针在应用程序结束后被删除(在这种情况下,当C函

java - 异步调用如何获取JNI接口(interface)指针(JNIEnv *)

了解到JNI接口(interface)指针(JNIEnv*)只在当前线程中有效。假设我在native方法中启动了一个新线程;它如何将事件异步发送到Java方法?因为这个新线程不能引用(JNIEnv*)。为(JNIEnv*)存储一个全局变量显然不起作用? 最佳答案 您可以通过JNIEnv->GetJavaVM获得指向JVM(JavaVM*)的指针。.您可以安全地将该指针存储为全局变量。稍后,在新线程中,您可以使用AttachCurrentThread将新线程附加到JVM,如果你是用C/C++创建的,或者只是GetEnv如果你在java

java - 异步调用如何获取JNI接口(interface)指针(JNIEnv *)

了解到JNI接口(interface)指针(JNIEnv*)只在当前线程中有效。假设我在native方法中启动了一个新线程;它如何将事件异步发送到Java方法?因为这个新线程不能引用(JNIEnv*)。为(JNIEnv*)存储一个全局变量显然不起作用? 最佳答案 您可以通过JNIEnv->GetJavaVM获得指向JVM(JavaVM*)的指针。.您可以安全地将该指针存储为全局变量。稍后,在新线程中,您可以使用AttachCurrentThread将新线程附加到JVM,如果你是用C/C++创建的,或者只是GetEnv如果你在java

Java中进行单元测试junit.Assert断言、Mockito模拟对象、verify验证模拟结果、Java8中lambda的peek方法使用

场景Java8新特性-Stream对集合进行操作的常用API:Java8新特性-Stream对集合进行操作的常用API_霸道流氓气质的博客-CSDN博客_javalist.stream在上面使用流操作时需要用到单元测试的情况。在Junit单元测试方法中使用org.junit.Assert进行断言校验。org.junit.Assert常用方法如下//   voidassertEquals(Objectobject,Objectobject) 判断输入的参数值是否相等//   voidassertFalse(booleancondition) 判断输入参数是否为false//   voidasse