Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Java
Expertise: Intermediate
Aug 25, 2000



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Creating a Java VM

Here is the code ready to use and written in C, to create a JDK 1.1 Java Virtual Machine.


 int main()
    JDK1.1InitArgs data;
    JNIEnv    *env;
    JavaVM    *jvm;
    jclass    MyClass;
    jObject   MyObject;
    jMethodID MyMethod;
    jint      Result;
    data.version = 0x00010001; /*select version of your jvm, jdk1.1*/
    if (Result<0)
          printf("Error when creating the JVM...");

Here we locate our class and our initialization method ...*/

       MyClass = (*env)->FindClass(env,"MyDesiredClass");
       MyMethod= (*env)->GetStaticMethodID(env,MyClass,"AnyMethod");
       printf("Exiting Virtual Machine ...");
     }/*end of else*/

  }/*end of code*/
This code creates a VM ready to load a class and execute one of its static methods; &jvm is a pointer to the JVM. We have also the choice of using the function:
 jint JNI_GetCreatedjavaVMs(JavaVM**,jsize,jsize*); 

This allows me to see which VMs are created and select one on the pointers array JavaVM**, although in JDK1.1 no more than one VM is allowed, this would allow me to see if there's a VM created and use it.

Jose Antonio
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date