code: def startJVM(jvm=None, *args, **kwargs):
      
      if jvm is None:
          jvm = get_default_jvm_path()
  
          # Check to see that the user has not set the classpath
          # Otherwise use the default if not specified
          if not _hasClassPath(args) and 'classpath' not in kwargs:
             kwargs['classpath']=_classpath.getClassPath()
             print("Use default classpath")
  
      if 'ignoreUnrecognized' not in kwargs:
          kwargs['ignoreUnrecognized']=False
  
      # Classpath handling
      args = list(args)
      if 'classpath' in kwargs and kwargs['classpath']!=None:
          args.append('-Djava.class.path=%s'%(kwargs['classpath']))
          print("Set classpath")
  
      _jpype.startup(jvm, tuple(args), kwargs['ignoreUnrecognized'])
      _initialize()
  
      # start the reference daemon thread
      if _usePythonThreadForDaemon:
          _refdaemon.startPython()
      else:
          _refdaemon.startJava()
docs: Starts a Java Virtual Machine.  Without options it will start
      the JVM with the default classpath and jvm.  The default classpath
      will be determined by jpype.getClassPath().  The default JVM is 
      determined by jpype.getDefaultJVMPath().
  
      Args:
        jvm (str):  Path to the jvm library file (libjvm.so, jvm.dll, ...)
          default=None will use jpype.getDefaultJVMPath()
        *args (str[]): Arguments to give to the JVM
        classpath (Optional[string]): set the classpath for the jvm.
          This will override any classpath supplied in the arguments
          list.
        ignoreUnrecognized (Optional[bool]): option to jvm to ignore
          invalid jvm arguments.  (Default False)