草庐IT

check_jni

全部标签

java - 使用Hudson中的Ant或其他CI工具自动 check out 并编译Eclipse项目的最佳方法?

我们有几种产品具有很多共享的代码,并且必须保持几个版本。为了解决这个问题,我们使用了许多Eclipse项目,一些包含库jar,一些包含共享源代码(在一些项目中,是为了避免获得具有大量依赖项的巨大堆,同时能够从头开始编译所有内容,以确保源和二进制文件是持续的)。我们使用projectSet.psf来管理这些项目,因为它们可以直接从CVS中提取所有项目并留下一个充分准备的工作区。我们不直接构建或使用Maven。现在,我们希望能够将所有这些项目及其各个版本放入一个ContinuousIntegration工具中(我喜欢Hudson,但这只是一个口味问题),这实际上意味着我们需要一种自动方式来

Java 反射 : Checking the type of the method parameter at runtime

我需要检查方法第一个参数的类型是List>或不。有人能提出比将它与字符串进行比较更好的解决方案吗?Methodm=Foo.class.getMethod("m1",List.class);if(m.getGenericParameterTypes()[0].toString().equals("java.util.List>")){...}我的意思是这样的:List.class.isAssignableFrom((Class)((ParameterizedType)m.getGenericParameterTypes()[0]).getRawType()));检查它是否是一个列表。但是

java - 为 JDK 10 中的类文件生成 JNI 头文件

Javanative接口(interface)(JNI)的一个组成部分是通过Cheader桥接JVM代码和native代码。过去生成这些头文件的方法非常简单:只需在类文件上调用命令行实用程序javah。然后,此过程将为任何标有native修饰符的方法生成原型(prototype)。然而,从Java10开始,javah实用程序hasbeenremoved,它的建议替换是javac的新标志“-h”。如果有可用的Java源文件,替换工作正常,但在只有编译的类文件可用的情况下就不够用了。(引发这个问题的问题是我试图从Scala源代码生成JNI绑定(bind)。我目前的方法是先编译它们,然后在生

Android Java代码与JNI交互 JNI方法Java类字段 (六)

🔥AndroidStudio版本🔥   🔥Java基础类型数据对应Native层的字母🔥 通过jni查找java某个类中相应字段对应的数据类型,需要使用到jni中的GetFieldID()函数jfieldIDGetFieldID(jclassclazz,constchar*name,constchar*sig){returnfunctions->GetFieldID(this,clazz,name,sig);}*|Java|JNI|*|boolean|Z|*|byte|B|*|char|C|*|short|S|*|int|I|*|long|J|*|float|F|*|double|D|🔥Jav

java - BigDecimal 到 SQL NUMBER : check for value larger than precision

在我的应用程序中,我将数字处理为BigDecimal,并将它们存储为NUMBER(15,5)。现在我需要在Java上正确检查BigDecimal值是否适合该列,这样我就可以在不执行SQL、捕获异常和验证供应商错误代码的情况下生成正确的错误消息。我的数据库是Oracle10.3,此类错误导致error1438.谷歌搜索后,我找不到这样的代码,所以我想出了自己的代码。但我对这段代码真的很不满意……简单,但同时简单到让人怀疑它的正确性。我用许多值、随机值和边界对其进行了测试,它似乎有效。但由于我对数字真的很糟糕,所以我想要一些更健壮且经过良好测试的代码。//noconstantsforeas

java - 通过jni将jint数组从c返回到java

我在java中创建了一个整数数组,并通过jni将数组传递给cpp程序我的代码是:importjava.util.*;classSendArray{//Nativemethoddeclarationnativeint[]loadFile(int[]name);//Loadthelibrarystatic{System.loadLibrary("nativelib");}publicstaticvoidmain(Stringargs[]){intarr[]={1,2,3,4,5,6,7,8,9,10};//CreateclassinstanceSendArraymappedFile=new

Java : When to skip null checks on an object?

我一直在我的Java代码中使用大量防御性空值检查。尽管它们很好地达到了目的(大部分时间),但它们与“丑陋”的代码进行了巨大的权衡。一直放入这些空检查真的有意义吗?例如:if(object==null){log.error("...")thrownewSomeRuntimeException("");}else{object.someMethod();}实际上,上面这段代码等同于语句object.someMethod();如果object的值为null,则在这两种情况下都会抛出异常(后面的NullpointerException)。屏蔽NullpointerExcetion(NPE)并抛

java - 从 JNI/NDK 将二维原始数组从 C 返回到 Java

我找到了大量关于如何在JNI中生成二维基元数组并将其返回给Java的文档。但是这些信息无法描述如何在C中给定上下文传递一个已经存在的2Dfloat组(float**)。为了明确描述我的问题,我将添加一些我想要实现的C伪代码://Returnsa2DfloatarrayfromCtoJavajfloatArrayndk_test_getMy2DArray(JNIEnv*env,jobjectthiz,jlongcontext){//CastmycontextreferenceMyContextRefcontextRef=(MyContextRef)context;//Incasewene

java - 如何确定 JNI 全局引用内存泄漏的原因?

我正在使用Tomcat,在停止我的Web应用程序后,仍然存在对我的Web应用程序的类加载器实例的引用。结果是大量内存(主要与静态数据相关)不会被释放。这迟早会导致OutOfMemoryError。我做了一个heapdump,然后我意识到它由一个JNIglobalreference持有防止类加载器将是garbagecollected.我的应用程序不使用JNI。我也没有使用ApacheTomcatNativeLibrary。我正在使用Sun/OracleJDK。我想追查这个全局引用的原因/来源。(我的猜测是JVM内部引用了类加载器-但为什么/在哪里?)。问题:有哪些方法/工具集可以实现这一

java - 使用相对路径名从不同目录加载 JNI 库的可移植语句?

是否有独立于平台的Java语句从不同于Java源代码所在的目录加载native库?我想使用这样的东西:publicclassHelloWorld{static{System.loadLibrary("../some_project/HelloWorld");}publicstaticnativevoidprint();}问题是System.loadLibrary()不支持路径名参数中的目录分隔符。另外,不幸的是,System.load()需要一个绝对路径名,这不仅意味着我不能像上面那样指定一个相对目录(我想这样做),而且还需要参数包含,例如,前面的Linux系统上JNI库名称的“lib