草庐IT

concrypt_openjdk_jni

全部标签

java - 使用 JNA 或 JNI 模拟在 Windows 中按下的键

我想用Java模拟按键。其他人使用Robot尝试过此操作。这只允许原子按键,我想在其中模拟按键保持(比如一秒钟)和释放。所以,我需要使用JNA或JNI。我调查了JNative,但这似乎是为了在操作系统级别使用关键事件,而不是在操作系统级别生成它们。我如何从Java生成此类事件?谢谢 最佳答案 实际上,使用Robot,您可以按住一个键一秒钟。Robotr=...r.keyPress(KeyEvent.VK_A);Thread.sleep(1000);r.keyRelease(KeyEvent.VK_A);

java - 我必须使用 JNI 分离附加线程吗?

我有一些native线程需要调用Java。为此,我需要使用AttachCurrentThread将线程附加到VM。由于此回调会经常发生,因此线程可能应该保持连接状态。多次调用AttachCurrentThread没问题(“尝试附加已附加的线程是空操作。”)我是否必须在线程退出前调用DetachCurrentThread,它会自动发生,还是根本不需要?如果我必须调用detach但没有调用,会发生什么情况?它会只是“泄漏”,还是会破坏VM状态?我已经检查了JavaNativeInterface规范,但是要么错过了这个,要么它真的是未指定的。我的问题特别适用于WindowsXP上的SunJD

c++ - 对 `JNI_CreateJavaVM' 窗口的 undefined reference

我正在尝试熟悉JNIAPI,但无法获得要编译的示例C++程序。我得到了相同的示例在linux中编译和运行(在下面的链接中发布问题之后)但无法在Windows中编译它;我正在使用mingwg++。我已将所有包含路径更改为Windows路径,并且jni.h在编译时定位,但不是jvm.dll。undefinedreferenceto`JNI_CreateJavaVM'linux以下是我尝试用来编译的命令:g++-g-I"C:\ProgramFiles(x86)\Java\jdk1.7.0_21\include"-I"C:\ProgramFiles(x86)\Java\jdk1.7.0_21\

android - "Your APP_BUILD_SCRIPT points to an unknown file: ./jni/Android.mk"

我搜索了整个网络(我认为)。和它说的我试过但仍然没有运气不工作。我在cygwin和windows下测试它这是我的项目文件/目录:D:\Java_2\workspace_indigo\JniTest\.classpathD:\Java_2\workspace_indigo\JniTest\.projectD:\Java_2\workspace_indigo\JniTest\AndroidManifest.xmlD:\Java_2\workspace_indigo\JniTest\assetsD:\Java_2\workspace_indigo\JniTest\binD:\Java_2\w

windows - 如何在 Windows 上安装 OpenJDK 11?

过去,Oracle曾发布适用于Windows的可执行安装程序:解压文件添加指示安装版本和路径的注册表项将JRE添加到系统PATH向Windows注册卸载程序。从Java11开始,Oracle的免费Java版本(OracleOpenJDK)似乎不包含安装程序。它只是一个包含二进制文件的zip文件。鉴于上述集成不再存在,我们应该如何在Windows上安装OpenJDK11?他们不是必需的吗? 最佳答案 将zip文件解压到一个文件夹中,例如C:\ProgramFiles\Java\它将创建一个jdk-11文件夹(其中bin文件夹是一个直接

Android JNI详解

目录一、前言:二、JNI简介三、JNI函数注册3.1静态注册:3.2动态注册四、函数签名 4.1什么是函数签名:4.2为什么需要函数的签名:4.3如何获取函数的签名五、JNIEnv5.1何为JNIEnv:5.2通过JNIEnv调用java对象方法5.3跨线程如何调用java方法六、垃圾回收一、前言:    本篇文章是针对android开发过程中的使用的jni技术做一些的原理上的解析,不再介绍具体的jni的使用,关于如何在android中使用jni开发的教程可以去网上搜索然后自行尝试。本篇文章主要介绍的比如jni函数的注册、jni和java层的线程映射关系等二、JNI简介    2.1JNI是J

Android JNI详解

目录一、前言:二、JNI简介三、JNI函数注册3.1静态注册:3.2动态注册四、函数签名 4.1什么是函数签名:4.2为什么需要函数的签名:4.3如何获取函数的签名五、JNIEnv5.1何为JNIEnv:5.2通过JNIEnv调用java对象方法5.3跨线程如何调用java方法六、垃圾回收一、前言:    本篇文章是针对android开发过程中的使用的jni技术做一些的原理上的解析,不再介绍具体的jni的使用,关于如何在android中使用jni开发的教程可以去网上搜索然后自行尝试。本篇文章主要介绍的比如jni函数的注册、jni和java层的线程映射关系等二、JNI简介    2.1JNI是J

java - AdoptOpenJDK 和 Red Hat OpenJDK for Windows 之间的技术差异

红帽提供了RedHatOpenJDK8适用于Windows仅供开发使用(需要注册)。AdoptOpenJDK为Windows(AdoptOpenJDK8Windows)提供OpenJDK8构建,没有任何限制。当使用相同的版本/更新(例如8u181)时,这两个软件包之间是否存在任何技术差异?“技术差异”是指缺少类/函数、不同的默认JVM设置等。 最佳答案 RedHat在与AdoptOpenJDK和任何其他开源OpenJDK8构建完全相同的许可下提供OpenJDK8Windows二进制文件-在GNUGPLv.2withclasspath

java - 如何克隆 OpenJDK Java 8 存储库?

如何使用mercurial克隆OpenJDK存储库?我想从那里克隆Java源代码以了解他们在JDK8中开发的内容,并希望在可能的情况下进行合作。 最佳答案 存储库链接在http://openjdk.java.net/.克隆它并执行get_source.sh脚本。$hgclonehttp://hg.openjdk.java.net/jdk8/jdk8$cdjdk8&&shget_source.shAguidetotheOpenJDKrepositories和一个Howtocontribute也可用。

java - 通过 JNI 更快的 Math.exp()?

我需要经常从java计算Math.exp(),是否有可能让native版本比java的Math运行得更快.exp()??我只尝试了jni+C,但它比普通的java慢。 最佳答案 这已经被要求多次(参见例如here)。这是Math.exp()的近似值,复制自thisblogposting:publicstaticdoubleexp(doubleval){finallongtmp=(long)(1512775*val+(1072693248-60801));returnDouble.longBitsToDouble(tmp它基本上与具有