Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 嵌入到C中的JVM,不会出现在正在运行的程序下_Java_Jvm_Java Native Interface - Fatal编程技术网

Java 嵌入到C中的JVM,不会出现在正在运行的程序下

Java 嵌入到C中的JVM,不会出现在正在运行的程序下,java,jvm,java-native-interface,Java,Jvm,Java Native Interface,我有一个C程序(在Solaris SPARC中工作),它正在创建JVM并通过JNI调用Java应用程序 JVM已经创建,java程序按照预期工作,但是我没有看到使用ps-ef | grepJava命令的java过程 你知道原因是什么吗?@apangin和@8472都是正确的,使用JNI\u CreateJavaVM你不会在任何地方找到java进程,你正在进程中嵌入JVM功能 我将尝试通过引用文档来证明这一点(JNI文档很少,但我会尝试) 从: 创建虚拟机 JNI\u CreateJavaVM()

我有一个C程序(在Solaris SPARC中工作),它正在创建JVM并通过JNI调用Java应用程序

JVM已经创建,java程序按照预期工作,但是我没有看到使用
ps-ef | grepJava
命令的java过程


你知道原因是什么吗?

@apangin和@8472都是正确的,使用
JNI\u CreateJavaVM
你不会在任何地方找到
java
进程,你正在进程中嵌入JVM功能

我将尝试通过引用文档来证明这一点(JNI文档很少,但我会尝试)

从:

创建虚拟机

JNI\u CreateJavaVM()
函数加载并初始化Java VM,并返回指向JNI接口指针的指针。调用
JNI\u CreateJavaVM()
的线程被认为是主线程。

下面几行:

附加的线程应该有足够的堆栈空间来执行合理的工作量


这确认JVM实例位于调用JNI的
createJavaVM
方法的同一上下文中,因此没有外部专用进程。

@apangin和@the8472都是正确的,您在任何地方都找不到
java
进程,使用
JNI\u CreateJavaVM
可以在流程中嵌入JVM功能

我将尝试通过引用文档来证明这一点(JNI文档很少,但我会尝试)

从:

创建虚拟机

JNI\u CreateJavaVM()
函数加载并初始化Java VM,并返回指向JNI接口指针的指针。调用
JNI\u CreateJavaVM()
的线程被认为是主线程。

下面几行:

附加的线程应该有足够的堆栈空间来执行合理的工作量


这确认JVM实例与调用JNI的
createJavaVM
方法的上下文相同,因此没有外部专用进程。

java
是标准启动器的名称。当您从程序启动JVM时,显然应该看到进程的名称,而不是
java
。用C创建JVM的AIUI不会产生新进程(除非您执行fork/exec舞蹈),它只是在进程中运行,共享地址空间等等。
java
是标准启动器的名称。当您从程序启动JVM时,显然应该看到进程的名称,而不是
java
。用C创建JVM的AIUI不会产生新进程(除非您执行fork/exec舞蹈),它只是在进程中运行,共享地址空间等等。
java
是标准启动器的名称。当您从程序启动JVM时,显然应该看到进程的名称,而不是
java
。用C创建JVM的AIUI不会产生新进程(除非您执行fork/exec舞蹈),它只是在进程中运行,共享地址空间等等。