草庐IT

concrypt_openjdk_jni

全部标签

java - 将第三方 JNI 库添加到 Nexus

我目前正在使用具有jni依赖项的第3方java库“foo”。jni依赖项也使用软链接(softlink)。目录结构看起来像foo//foo.jar/libfoo.so->libfoo.so.1.0/libfoo.so.1.0如何使用软链接(softlink)打包.jar和.so,并上传到我的本地Nexus“第3方”存储库?Thereisasimilarquestion但不幸的是,提问者问的是如何部署他们可以控制和操纵的自己的项目。就我而言,我使用的是.jar和.so,所以我无法更改。提前感谢您的考虑和回复。 最佳答案 我觉得在Nex

java - 不同的 java JDK 文件 : default-java , java-1.8.0-openjdk-amd64 , java-8-openjdk-amd64 , java-8-oracle 之间有什么区别

它们都在我的ubuntu机器的/usr/lib/jvm/..文件中。有人可以解释这4个文件之间的区别以及为什么名为java1.8.0_91的文件不被视为JDK吗?我在为androidstudio寻找JDK时遇到了这些文件。 最佳答案 这些目录中的大部分是symlinks对彼此。您可能安装了两个JDK/JRE:OpenJDK和OracleJDK。参见here和here了解OpenJDK/OracleJDK之间以及JDK和JRE之间的区别。java1.8.0_91可能是JRE,不是JDK。

java - Java 垃圾收集器会停止我从 JNI 调用创建的 POSIX 线程吗?

我有一个时间紧迫的应用程序,需要按设定的时间表发送UDP数据报。接收端对抖动的容忍度非常低。用javaScheduledThreadPoolExecutor实现它是不够的,因为当GC执行“停止世界”收集时,我的线程暂停,而GC执行它的工作。我想在Java中实现业务逻辑,同时在C++中使用POSIX线程实现时间关键部分(顺便说一句,native环境是Linux)。这将使我们能够节省数千行用Java编写的代码,并从native系统调用中获得我们需要的节奏。我的问题是:如果我调用创建单独POSIX线程的JNI函数,当JavaGC执行“停止世界”收集时,该线程是否会“暂停”?经验丰富的JNI大

java - 在 Windows 10 上使用 OpenJDK 11 启动 Eclipse 时出现问题

我在这里下载了面向JavaEE开发人员的EclipseIDE:https://www.eclipse.org/downloads/packages/release/oxygen/2/eclipse-ide-java-ee-developers我在这里下载了OpenJDK版本11:http://jdk.java.net/11/我将环境变量JAVA_HOME设置为java目录,将PATH设置为java可执行文件。在这两种情况下,我都下载了64位Windows版本。我的操作系统是Windows10。ThefollowingErrormessageappearswhenilauncheclip

java - 从 JNI 方法中创建 JVM

是否可以使用JNIAPI从JNI方法中创建JVM?我尝试使用JNI函数“JNI_CreateJavaVM()”来执行此操作,但它不起作用(该函数一直返回小于零的值)。这是我使用的基本代码(C++):JNIEnv*env;JavaVM*jvm;jintres;#ifdefJNI_VERSION_1_2JavaVMInitArgsvm_args;JavaVMOptionoptions[2];options[0].optionString="-Djava.class.path="USER_CLASSPATH;options[1].optionString="-verbose:jni";vm_

Java JNI 调用比预期慢(至少 2 毫秒/调用)

我从其他几份报告中读到,人们通常在4-80ns上花费一个普通的、基本的JNI调用:来自WhatmakesJNIcallsslow?Fortrivialnativemethods,lastyearIfoundcallstoaverage40nsonmyWindowsdesktop,and11nsonmyMacdesktop..来自PossibleincreaseofperformaceusingJNI?HoweverJNIcallsoftentakearound30ns..当我在我的JNI代码中调用简单方法时(简单的意思是不超过一个时间int返回类型int的参数),我得到的往返调用时间(

java - 是否可以通过 JNI 将静态库链接到 Java?

是否可以构建HelloWorld.lib并将其加载到使用JNI的Java应用程序中?或者它只适用于共享库?我在JNI文档中找不到明确的答案,没有提到“静态库”。 最佳答案 需要是动态库。幸运的是,您可以从静态库构建动态库。 关于java-是否可以通过JNI将静态库链接到Java?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/15433684/

OpenJDK 和 OracleJDK 哪个jdk更好更稳定,正式项目用哪个呢?关注者

OpenJDK和OracleJDK:哪个JDK更好更稳定,正式项目应该使用哪个呢?我会从,从开源性质、更新和支持、功能差异等方面进行比较,如何选择,哪个jdk更好更稳定,正式项目用哪个呢,进行比较回答本文已收录于,我的技术网站ddkk.com,有大厂完整面经,工作技术,架构师成长之路,等经验分享开源性质1、OpenJDK:OpenJDK是一个完全开源的Java开发工具包(JDK),由Oracle领导,并得到了广泛的社区支持。它的源代码可以在公共域中自由访问和修改,这使得开发人员可以根据自己的需求自定义JDK。最近无意间获得一份阿里大佬写的刷题笔记,一下子打通了我的任督二脉,进大厂原来没那么难。

java - 通过 JNI 将双字节 (WCHAR) 字符串从 C++ 传递到 Java

我有一个Java应用程序,它通过JNI使用C++DLL。DLL的一些方法采用字符串参数,其中一些方法返回也包含字符串的对象。目前DLL不支持Unicode,所以字符串处理比较简单:Java调用String.getBytes()并将生成的数组传递给DLL,DLL将数据简单地视为char*。DLL使用NewStringUTF()从constchar*创建jstring。我现在正在修改DLL以支持Unicode,切换到使用TCHAR类型(当定义UNICODE时使用Windows的WCHAR数据类型)。修改DLL进行得很顺利,但我不确定如何修改代码的JNI部分。我现在唯一能想到的是:Java调

java - 使用 long 将指针从 JNI 传递到 Java

我正在尝试将结构作为指针从JNI传递到Java,以便稍后能够将它从Java传递回JNI。我读过这个帖子:PassingpointersbetweenCandJavathroughJNI,但我没有成功。我有一个非常复杂的结构:structmyStruct_smyStruct;在Java中,我调用一个JNI函数来初始化结构并返回一个long(指向结构的指针):JNIEXPORTjlongJNICALLJava_example_ExampleJNI_getStruct(JNIEnv*jenv,jclassjcls){structmyStruct_smystruct;long*lp=(long