⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 runtime.java

📁 this gcc-g++-3.3.1.tar.gz is a source file of gcc, you can learn more about gcc through this codes f
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
   * <code>false</code>. There is a security check, <code>checkExit(0)</code>.   *   * @param finalizeOnExit whether to finalize all Objects on exit   * @throws SecurityException if permission is denied   * @see #exit(int)   * @see #gc()   * @since 1.1   * @deprecated never rely on finalizers to do a clean, thread-safe,   *             mop-up from your code   */  public static void runFinalizersOnExit(boolean finalizeOnExit)  {    SecurityManager sm = securityManager; // Be thread-safe!    if (sm != null)      sm.checkExit(0);    current.finalizeOnExit = finalizeOnExit;  }  /**   * Create a new subprocess with the specified command line. Calls   * <code>exec(cmdline, null, null)<code>. A security check is performed,   * <code>checkExec</code>.   *   * @param cmdline the command to call   * @return the Process object   * @throws SecurityException if permission is denied   * @throws IOException if an I/O error occurs   * @throws NullPointerException if cmdline is null   * @throws IndexOutOfBoundsException if cmdline is ""   */  public Process exec(String cmdline) throws IOException  {    return exec(cmdline, null, null);  }  /**   * Create a new subprocess with the specified command line and environment.   * If the environment is null, the process inherits the environment of   * this process. Calls <code>exec(cmdline, env, null)</code>. A security   * check is performed, <code>checkExec</code>.   *   * @param cmdline the command to call   * @param env the environment to use, in the format name=value   * @return the Process object   * @throws SecurityException if permission is denied   * @throws IOException if an I/O error occurs   * @throws NullPointerException if cmdline is null, or env has null entries   * @throws IndexOutOfBoundsException if cmdline is ""   */  public Process exec(String cmdline, String[] env) throws IOException  {    return exec(cmdline, env, null);  }  /**   * Create a new subprocess with the specified command line, environment, and   * working directory. If the environment is null, the process inherits the   * environment of this process. If the directory is null, the process uses   * the current working directory. This splits cmdline into an array, using   * the default StringTokenizer, then calls   * <code>exec(cmdArray, env, dir)</code>. A security check is performed,   * <code>checkExec</code>.   *   * @param cmdline the command to call   * @param env the environment to use, in the format name=value   * @param dir the working directory to use   * @return the Process object   * @throws SecurityException if permission is denied   * @throws IOException if an I/O error occurs   * @throws NullPointerException if cmdline is null, or env has null entries   * @throws IndexOutOfBoundsException if cmdline is ""   * @since 1.3   */  public Process exec(String cmdline, String[] env, File dir)    throws IOException  {    StringTokenizer t = new StringTokenizer(cmdline);    String[] cmd = new String[t.countTokens()];    for (int i = 0; i < cmd.length; i++)      cmd[i] = t.nextToken();    return exec(cmd, env, dir);  }  /**   * Create a new subprocess with the specified command line, already   * tokenized. Calls <code>exec(cmd, null, null)</code>. A security check   * is performed, <code>checkExec</code>.   *   * @param cmd the command to call   * @return the Process object   * @throws SecurityException if permission is denied   * @throws IOException if an I/O error occurs   * @throws NullPointerException if cmd is null, or has null entries   * @throws IndexOutOfBoundsException if cmd is length 0   */  public Process exec(String[] cmd) throws IOException  {    return exec(cmd, null, null);  }  /**   * Create a new subprocess with the specified command line, already   * tokenized, and specified environment. If the environment is null, the   * process inherits the environment of this process. Calls   * <code>exec(cmd, env, null)</code>. A security check is performed,   * <code>checkExec</code>.   *   * @param cmd the command to call   * @param env the environment to use, in the format name=value   * @return the Process object   * @throws SecurityException if permission is denied   * @throws IOException if an I/O error occurs   * @throws NullPointerException if cmd is null, or cmd or env has null   *         entries   * @throws IndexOutOfBoundsException if cmd is length 0   */  public Process exec(String[] cmd, String[] env) throws IOException  {    return exec(cmd, env, null);  }  /**   * Create a new subprocess with the specified command line, already   * tokenized, and the specified environment and working directory. If the   * environment is null, the process inherits the environment of this   * process. If the directory is null, the process uses the current working   * directory. A security check is performed, <code>checkExec</code>.   *   * @param cmd the command to call   * @param env the environment to use, in the format name=value   * @param dir the working directory to use   * @return the Process object   * @throws SecurityException if permission is denied   * @throws IOException if an I/O error occurs   * @throws NullPointerException if cmd is null, or cmd or env has null   *         entries   * @throws IndexOutOfBoundsException if cmd is length 0   * @since 1.3   */  public Process exec(String[] cmd, String[] env, File dir)    throws IOException  {    SecurityManager sm = securityManager; // Be thread-safe!    if (sm != null)      sm.checkExec(cmd[0]);    return execInternal(cmd, env, dir);  }  /**   * Returns the number of available processors currently available to the   * virtual machine. This number may change over time; so a multi-processor   * program want to poll this to determine maximal resource usage.   *   * @return the number of processors available, at least 1   */  public native int availableProcessors();  /**   * Find out how much memory is still free for allocating Objects on the heap.   *   * @return the number of bytes of free memory for more Objects   */  public native long freeMemory();  /**   * Find out how much memory total is available on the heap for allocating   * Objects.   *   * @return the total number of bytes of memory for Objects   */  public native long totalMemory();  /**   * Returns the maximum amount of memory the virtual machine can attempt to   * use. This may be <code>Long.MAX_VALUE</code> if there is no inherent   * limit (or if you really do have a 8 exabyte memory!).   *   * @return the maximum number of bytes the virtual machine will attempt   *         to allocate   */  public native long maxMemory();  /**   * Run the garbage collector. This method is more of a suggestion than   * anything. All this method guarantees is that the garbage collector will   * have "done its best" by the time it returns. Notice that garbage   * collection takes place even without calling this method.   */  public native void gc();  /**   * Run finalization on all Objects that are waiting to be finalized. Again,   * a suggestion, though a stronger one than {@link #gc()}. This calls the   * <code>finalize</code> method of all objects waiting to be collected.   *   * @see #finalize()   */  public native void runFinalization();  /**   * Tell the VM to trace every bytecode instruction that executes (print out   * a trace of it).  No guarantees are made as to where it will be printed,   * and the VM is allowed to ignore this request.   *   * @param on whether to turn instruction tracing on   */  public native void traceInstructions(boolean on);  /**   * Tell the VM to trace every method call that executes (print out a trace   * of it).  No guarantees are made as to where it will be printed, and the   * VM is allowed to ignore this request.   *   * @param on whether to turn method tracing on   */  public native void traceMethodCalls(boolean on);  /**   * Load a native library using the system-dependent filename. This is similar   * to loadLibrary, except the only name mangling done is inserting "_g"   * before the final ".so" if the VM was invoked by the name "java_g". There   * may be a security check, of <code>checkLink</code>.   *   * @param filename the file to load   * @throws SecurityException if permission is denied   * @throws UnsatisfiedLinkError if the library is not found   */  public void load(String filename)  {    SecurityManager sm = securityManager; // Be thread-safe!    if (sm != null)      sm.checkLink(filename);    _load(filename, false);  }  /**   * Load a native library using a system-independent "short name" for the   * library.  It will be transformed to a correct filename in a   * system-dependent manner (for example, in Windows, "mylib" will be turned   * into "mylib.dll").  This is done as follows: if the context that called   * load has a ClassLoader cl, then <code>cl.findLibrary(libpath)</code> is   * used to convert the name. If that result was null, or there was no class   * loader, this searches each directory of the system property   * <code>java.library.path</code> for a file named   * <code>System.mapLibraryName(libname)</code>. There may be a security   * check, of <code>checkLink</code>.   *   * @param filename the file to load   * @throws SecurityException if permission is denied   * @throws UnsatisfiedLinkError if the library is not found   * @see System#mapLibraryName(String)   * @see ClassLoader#findLibrary(String)   */  public void loadLibrary(String libname)  {    // This is different from the Classpath implementation, but I    // believe it is more correct.    SecurityManager sm = securityManager; // Be thread-safe!    if (sm != null)      sm.checkLink(libname);    _load(libname, true);  }  /**   * Return a localized version of this InputStream, meaning all characters   * are localized before they come out the other end.   *   * @param in the stream to localize   * @return the localized stream   * @deprecated <code>InputStreamReader</code> is the preferred way to read   *             local encodings   */  public InputStream getLocalizedInputStream(InputStream in)  {    return in;  }  /**   * Return a localized version of this OutputStream, meaning all characters   * are localized before they are sent to the other end.   *   * @param out the stream to localize   * @return the localized stream   * @deprecated <code>OutputStreamWriter</code> is the preferred way to write   *             local encodings   */  public OutputStream getLocalizedOutputStream(OutputStream out)  {    return out;  }  /**   * Native method that actually shuts down the virtual machine.   *   * @param status the status to end the process with   */  native void exitInternal(int status);  /**   * Load a file. If it has already been loaded, do nothing. The name has   * already been mapped to a true filename.   *   * @param filename the file to load   * @param do_search True if we should search the load path for the file   */  native void _load(String filename, boolean do_search);  /**   *This is a helper function for the ClassLoader which can load   * compiled libraries.  Returns true if library (which is just the   * base name -- path searching is done by this function) was loaded,   * false otherwise.   */  native boolean loadLibraryInternal(String libname);  /**   * A helper for the constructor which does some internal native   * initialization.   */  private native void init ();  /**   * Map a system-independent "short name" to the full file name, and append   * it to the path.   * XXX This method is being replaced by System.mapLibraryName.   *   * @param pathname the path   * @param libname the short version of the library name   * @return the full filename   */  static native String nativeGetLibname(String pathname, String libname);  /**   * Execute a process. The command line has already been tokenized, and   * the environment should contain name=value mappings. If directory is null,   * use the current working directory; otherwise start the process in that   * directory.   *   * @param cmd the non-null command tokens   * @param env the non-null environment setup   * @param dir the directory to use, may be null   * @return the newly created process   * @throws NullPointerException if cmd or env have null elements   */  native Process execInternal(String[] cmd, String[] env, File dir);  /**   * Get the system properties. This is done here, instead of in System,   * because of the bootstrap sequence. Note that the native code should   * not try to use the Java I/O classes yet, as they rely on the properties   * already existing. The only safe method to use to insert these default   * system properties is {@link Properties#setProperty(String, String)}.   *   * <p>These properties MUST include:   * <dl>   * <dt>java.version         <dd>Java version number   * <dt>java.vendor          <dd>Java vendor specific string   * <dt>java.vendor.url      <dd>Java vendor URL   * <dt>java.home            <dd>Java installation directory   * <dt>java.vm.specification.version <dd>VM Spec version   * <dt>java.vm.specification.vendor  <dd>VM Spec vendor   * <dt>java.vm.specification.name    <dd>VM Spec name   * <dt>java.vm.version      <dd>VM implementation version   * <dt>java.vm.vendor       <dd>VM implementation vendor   * <dt>java.vm.name         <dd>VM implementation name   * <dt>java.specification.version    <dd>Java Runtime Environment version   * <dt>java.specification.vendor     <dd>Java Runtime Environment vendor   * <dt>java.specification.name       <dd>Java Runtime Environment name   * <dt>java.class.version   <dd>Java class version number   * <dt>java.class.path      <dd>Java classpath   * <dt>java.library.path    <dd>Path for finding Java libraries   * <dt>java.io.tmpdir       <dd>Default temp file path   * <dt>java.compiler        <dd>Name of JIT to use   * <dt>java.ext.dirs        <dd>Java extension path   * <dt>os.name              <dd>Operating System Name   * <dt>os.arch              <dd>Operating System Architecture   * <dt>os.version           <dd>Operating System Version   * <dt>file.separator       <dd>File separator ("/" on Unix)   * <dt>path.separator       <dd>Path separator (":" on Unix)   * <dt>line.separator       <dd>Line separator ("\n" on Unix)   * <dt>user.name            <dd>User account name   * <dt>user.home            <dd>User home directory   * <dt>user.dir             <dd>User's current working directory   * </dl>   *   * @param p the Properties object to insert the system properties into   */  static native void insertSystemProperties(Properties p);} // class Runtime

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -