PS: Java程序在不同操作系统上运行时,可能需要取得平台相关的属性,或者调用平台命令来完成特定功能。java提供了System类与Runtime类来与程序的运行平台进行交互。

System类:

1.代表当前java程序的运行平台,程序不能创建System类的对象,System类提供了一些类变量和类方法,允许直接通过Sytem类来调用这些类变量和类方法。

2. System类提供了代表标准输入、标准输出和错误输出的类变量,并提供了一些静态方法用于访问环境变量、系统属性的方法,还提供了加载文件和动态链接库的方法(主要对native方法有用)

3.提供了通知系统进行垃圾回收的gc()方法,以及通知系统进行资源清理的runFinalization()方法

4.提供两个获取系统当前时间的方法:currentTimeMillis()和nanoTime(),返回一个long型整数,返回的是与1970年1月1日与当前的时间差,前者以毫秒为单位,后者以纳秒

5.in.out.err分别代表系统的标准输入(通常是键盘)标准输出(通常是显示器)和错误输出流,并提供了setIn、setOut、setErr方法来改变系统的标准输入、标准输出、标准错误输出流

6.提供identityHashCode(Object x)方法,获取根据该对象地址计算得到的hashCode值,如果两个对象的hashCode值相等,一定是同一个对象

Runtime类:

代表java程序的运行时环境,每个java程序都有一个与之对应的RunTime实例,应用程序通过该对象与其运行时环境相连(应用程序不能创建自己的RunTime实例,但是可以通过getRuntime()方法获取与之相关的Runtime对象)

1.也提供了通知系统进行垃圾回收的gc()方法,以及通知系统进行资源清理的runFinalization()方法

2.提供了load()和 loadLibrary()方法来加载文件和动态链接库

3.Runtime类代表java程序的运行时环境,可以获取JVM的相关信息,如处理器数量、内存信息等

4.可以直接单独启动一个进程来运行操作系统的命令

System类与Runtime类的更多相关文章

  1. Java常用类之【Math类、Random类、System类、Runtime类】

    一.Math类 Math类 [绝对值]Math.abs();//返回对应类型的绝对值 [最大值和最小值]Math.max(int a, int b) ,Math.min(int a,int b);(其 ...

  2. java基础21 System类和Runtime类

    一.System系统类 1.1.System系统类 主要用于获取系统信息 1.2.System类的常用方法 arraycopy(Object src, int srcPos, Object dest, ...

  3. 适配器、工厂模式、线程池、线程组、互斥锁、Timer类、Runtime类、单例设计模式(二十四)

    1.多线程方法 * Thread 里面的俩个方法* 1.yield让出CPU,又称为礼让线程* 2.setPriority()设置线程的优先级 * 优先级最大是10,Thread.MAX_PRIORI ...

  4. Runtime 类初探

    Runtime类 认识 Runtime类 在每一个JVM进程中都会存在一个Runtime类,这个类的主要功能是取得一些与运行时有关的环境属性或创建进程等操作. 在Runtime类定义的时候,它的构造方 ...

  5. System 和 Runtime 类

    package day13; import java.util.Arrays; import java.util.Properties; public class Demo1 { /* 讲解syste ...

  6. 深入研究java.lang.Runtime类

    一.概述      Runtime类封装了运行时的环境.每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接.      一般不能实例化一个Runtime对象, ...

  7. 浅析Java.lang.Runtime类

    一.概述      Runtime类封装了运行时的环境.每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接.      一般不能实例化一个Runtime对象, ...

  8. Runtime类

    Runtime类表示运行时的操作类,是一个封装了JVM进程的类,每一个JVM都对应着一个Runtime类的实例,此实例由JVM运行时为其实例化. //========================= ...

  9. JAVA基础学习之final关键字、遍历集合、日期类对象的使用、Math类对象的使用、Runtime类对象的使用、时间对象Date(两个日期相减)(5)

    1.final关键字和.net中的const关键字一样,是常量的修饰符,但是final还可以修饰类.方法.写法规范:常量所有字母都大写,多个单词中间用 "_"连接. 2.遍历集合A ...

随机推荐

  1. 3种shell自动交互的方法【转】

    一.背景 shell脚本在处理自动循环或大的任务方面可节省大量的时间,通过创建一个处理任务的命令清单,使用变量.条件.算术和循环等方法快速创建脚本以完成相应工作,这比在命令行下一个个敲入命令要省时省力 ...

  2. mysql系列七、mysql索引优化、搜索引擎选择

    一.建立适当的索引 说起提高数据库性能,索引是最物美价廉的东西了.不用加内存,不用改程序,不用调sql,只要执行个正确的'create index',查询速度就可能提高百倍千倍,这可真有诱惑力.可是天 ...

  3. linux windows 传输文件

    其中两种方式,当然,只是我自己试验的两个,其实还有别的方法,但是我也懒得实践了. 1  pscp c:\abc.sql root@192.168.1.1:/home/person/hww 2  Lrz ...

  4. CentOS 6.5环境下使用HAProxy+apache实现web服务的动静分离

    HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持 ...

  5. 修改tomcat的server.xml配置web项目

    <!-- VideoWeb:自己编写的web项目名 path:表示当输入访问项目.. 如果path="" URL=localhost:8080就可以访问项目了 如果path= ...

  6. Account的简单架构

    前几天,有园友私下问我,博客中的AccountDemo后端架构为什么是那样的,是不是分层太多太冗余,故这里简单介绍下.先看解决方案工程截图: 每个工程的含义,见https://www.cnblogs. ...

  7. maven 跳过test

    -DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下. -Dmaven.test.skip=true,不执行测试用例,也不编译测试 ...

  8. laravel 列表搜索查询(when,with用法以及关联图像id处理图像路径)

    laravel中比较常规的列表查询: /** * 活动列表 * @param Request $request * @return \Illuminate\Http\JsonResponse */ p ...

  9. Ubuntu 16.4 安装anaconda 详细教程

    下载 官方下载地址:https://www.continuum.io/downloads 所有安装包地址:https://repo.continuum.io/archive/ 这里使用 Python ...

  10. 《剑指offer》-铺地砖方案数

    我们可以用21的小矩形横着或者竖着去覆盖更大的矩形.请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 又是斐波那契...稍微变形一下. class Solution { pub ...