Java 嵌入到C中的JVM,不会出现在正在运行的程序下
我有一个C程序(在Solaris SPARC中工作),它正在创建JVM并通过JNI调用Java应用程序 JVM已经创建,java程序按照预期工作,但是我没有看到使用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()
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舞蹈),它只是在进程中运行,共享地址空间等等。