Runtime

  • 属性说明
/**
* 每一个 Java 应用程序都有一个关联的运行时对象
*
* @author unascribed
* @see java.lang.Runtime#getRuntime()
* @since 1.0
*/
public class Runtime {
/**
* 当前 JVM 的运行时对象
*/
private static final Runtime currentRuntime = new Runtime(); /**
* JavaSE 的版本
*/
private static Version version;
  • 常用方法
    /**
* 获取当前 Java 应用程序的运行时对象
*/
public static Runtime getRuntime() {
return currentRuntime;
} /**
* 终止当前运行的 Java 虚拟机,非 0 状态码表示异常退出。
*
* @param status 终止状态码
*/
public void exit(int status) {
final SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkExit(status);
}
Shutdown.exit(status);
} /**
* 返回此 JVM 可用的逻辑处理器数量
* @since 1.4
*/
public native int availableProcessors(); /**
* 此 JVM 能使用的最大内存
* @since 1.4
*/
public native long maxMemory(); /**
* 返回此 JVM 当前可用的内存总量
*/
public native long totalMemory(); /**
* 返回此 JVM 空闲的近似内存总量
*/
public native long freeMemory(); /**
* 注册一个 JVM 关闭钩子
*
* @param hook 关闭钩子
*/
public void addShutdownHook(Thread hook) {
final SecurityManager sm = System.getSecurityManager();
if (sm != null) {
sm.checkPermission(new RuntimePermission("shutdownHooks"));
}
ApplicationShutdownHooks.add(hook);
} /**
* 强制终止此 JVM
*
* @param status 终止状态
*/
public void halt(int status) {
final SecurityManager sm = System.getSecurityManager();
if (sm != null) {
sm.checkExit(status);
}
Shutdown.halt(status);
} /**
* 运行垃圾收集器,建议此 JVM 在合适的时刻执行垃圾收集
*/
public native void gc(); /**
* 在单独的进程中执行目标命令
*
* @param command 一个特定的系统命令
*/
public Process exec(String command) throws IOException {
return exec(command, null, null);
} /**
* 在工作目录下执行目标命令,并提供指定的环境变量。
*
* @param cmdarray 目标命令及参数
* @param envp 以 name=value 指定的环境变量数组
* @param dir 子进程的工作目录
* @since 1.3
*/
public Process exec(String[] cmdarray, String[] envp, File dir)
throws IOException {
return new ProcessBuilder(cmdarray)
.environment(envp)
.directory(dir)
.start();
}

Runtime 源码阅读的更多相关文章

  1. ONNX Runtime 源码阅读:Graph::SetGraphInputsOutputs() 函数

    目录 前言 正文 总结 前言 为了深入理解ONNX Runtime的底层机制,本文将对 Graph::SetGraphInputsOutputs() 的代码逐行分析. 正文 首先判断Graph是否从O ...

  2. 【原】AFNetworking源码阅读(三)

    [原]AFNetworking源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇的话,主要是讲了如何通过构建一个request来生成一个data tas ...

  3. 【原】SDWebImage源码阅读(五)

    [原]SDWebImage源码阅读(五) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 前面的代码并没有特意去讲SDWebImage的缓存机制,主要是想单独开一章节专门讲 ...

  4. [Erlang 0119] Erlang OTP 源码阅读指引

      上周Erlang讨论群里面提到lists的++实现,争论大多基于猜测,其实打开代码看一下就都明了.贴出代码截图后有同学问这代码是哪里找的?   "代码去哪里找?",关于Erla ...

  5. 源码阅读系列:EventBus

    title: 源码阅读系列:EventBus date: 2016-12-22 16:16:47 tags: 源码阅读 --- EventBus 是人们在日常开发中经常会用到的开源库,即使是不直接用的 ...

  6. Hive cli源码阅读和梳理

    对Cli的重新认识*). hive cli有两种模式, 本地模式: 采用持有的driver对象来处理, 远程模式: 通过连接HiveServer来实现, 由此可见之前的架构图中的描述还是模糊且带有误导 ...

  7. 转-OpenJDK源码阅读导航跟编译

    OpenJDK源码阅读导航 OpenJDK源码阅读导航 博客分类: Virtual Machine HotSpot VM Java OpenJDK openjdk 这是链接帖.主体内容都在各链接中.  ...

  8. Spring-Framework 源码阅读之AnnotationBeanUtils

    Java程序员,就是要学会一个名字叫做"春"的东西,这玩意运用的非常的广泛,现在如果你的业务系统或者软件没有在这个东西上开发,都不要意思拿出来.因为你更不上时代了.在平时的工作的中 ...

  9. openjdk源码阅读导航

    转自:http://rednaxelafx.iteye.com/blog/1549577 这是链接帖.主体内容都在各链接中. 怕放草稿箱里过会儿又坑掉了,总之先发出来再说…回头再慢慢补充内容. 先把I ...

随机推荐

  1. MongoDB 各个位版本下载地址

    官网首页下载需要填写资料 windows版本 Linux版本

  2. Linux 链接脚本分析

    作者:答疑助手lizuobin 原文: https://blog.csdn.net/lizuobin2/article/details/51779064 在前面学习的过程中,看代码时遇到 arch_i ...

  3. Rectangle Puzzle CodeForces - 281C (几何)

    You are given two rectangles on a plane. The centers of both rectangles are located in the origin of ...

  4. H265码流格式

    一.H265码流格式 VPS:视频参数集,用于传输视频分级信息,有利于兼容标准在可分级视频编码或多视点视频的扩展. NALU header定义: NALU header(){ Descriptor f ...

  5. JVM锁说明

          以前Synchronised关键字加锁效率问题,经常受到吐槽.后来java的开发团队进行了优化,引入了偏向锁.自旋锁.轻量锁,性能有了很大的提升.下面我们来分析下这里面的过程和原理.   ...

  6. Mybatis mapper.xml 配置

    <!-- xml的标准格式 --><?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE ...

  7. java 使用poi读取word文档存入数据库

    使用的poi jar包需要自己下载 读取的word文档中含有多个图片,所以分为两个部分,一个部分读取各个表格中内容,一个是将所有图片截取出来: /** * 遍历段落内容 * docxReadPath ...

  8. 开始学习shell

    运行shell脚本有两种方法: 作为可执行程序,假如在某个目录下,编写了一个shell脚本test.sh,想要执行这个脚本,就需要先cd进入脚本所在目录, chmod +x ./test.sh # 是 ...

  9. jpa单向一对多

    单向一对多是一个类中的一条记录可对应另一个类的多条记录: 比如一个部门可对应多个员工:   jpa中的实现步骤:     one-to-many的one类中添加一个many类类型的set;比如部门类D ...

  10. 解压 压缩 C#

    public class SharpZip { public SharpZip() { } /// <summary> /// 压缩 /// </summary> /// &l ...