记录--java.lang.System类

java.lang.System类

一,引入的包:   java.io.*  java.util.Properties;
  java.util.PropertyPermission;
  java.util.StringTokenizer;
  java.security.AccessController;
  java.security.PrivilegedAction;
  java.security.AllPermission;
  java.nio.channels.Channel;
  java.nio.channels.spi.SelectorProvider;
  sun.nio.ch.Interruptible;
  sun.reflect.Reflection;
  sun.security.util.SecurityConstants;
  sun.reflect.annotation.AnnotationType;  

    官方API文档中对这个类的介绍是:System这个类包含了几个很有用的类属性和方法。它不能被实例化,不能被继承!这个类提供的工具中囊括了标准输入、输出流和错误输出流,访问外部定义的属性和环境变量的方法;载入文件和库的方法;复制子数组的辅助方法;

    二,主要方法介绍

1,registerNatives          注册本地变量,具体实现过程不清楚

2,in,out,err               成员变量 都是标准输入输出流

3,SecurityManager          对象, 不清楚具体有什么用,根据后面的代码判断是用来检测输入输出权限的

4,几个设置前面提到的流的set方法略过,例如setErr(PrintStream err)

5,Console类方法,          返回控制台对象

6,inheritedChannel()       获取创建java虚拟机的实体类的子Channel类

7,checkIO()              检查是否有设置输入输出流的权限

8,setSecurityManager(final SecurityManager s)    设置安全管理者对象,主要控制输入输出流的权限

9,setErr0,...,setSecurityManager0, 这几个方法是作为备份的存在

10,currentTimeMillis()     获取当前时间,不过单位是微秒

11,nanoTime()              获取当前时间,单位是纳秒,这个方法重点说下,在检测程序执行时间时经常使用这个方法例如:             long  startTime = System.nanoTime();
                    // ... the code being measured ...
                    long estimatedTime = System.nanoTime() - startTime;

12,arraycopy(Object src,  int  srcPos, Object dest, int destPos,int length); 复制子数组

13,identityHashCode(Object x)        返回哈希编码,引用为null的对象返回0

14,Properties props,initProperties(Properties props), String getProperty(String key)setProperty(String key, String value),  都是与系统变量有关的操作类,用这些方法可以获取很多有用的与JRE,JVM有关的信息,比如user.dir代表用户目录,java工程下的工程路径。
      java.version=Java Runtime Environment version
      java.vendo = Java Runtime Environment vendor
      java.vendor.url=Java vendor URL
      java.home=Java installation directory
      java.vm.specification.version=Java Virtual Machine specification version
      java.vm.specification.vendor=Java Virtual Machine specification vendor
      java.vm.specification.name=Java Virtual Machine specification name
      java.vm.version=Java Virtual Machine implementation version
      java.vm.vendor=Java Virtual Machine implementation vendor
      java.vm.name=Java Virtual Machine implementation name
      java.specification.version=Java Runtime Environment specification  version
      java.specification.vendor=Java Runtime Environment specification  vendor
      java.specification.name=Java Runtime Environment specification  name
      java.class.version=Java class format version number
      java.class.path=Java class path
      java.library.path=List of paths to search when loading libraries</td></tr>
      java.io.tmpdir=Default temp file path
      java.compiler=Name of JIT compiler to use
      java.ext.dirs=Path of extension directory or directories
      os.name=Operating system name
      os.arch=Operating system architecture
      os.version=Operating system version
      file.separator=File separator ("/" on UNIX)
      path.separator=Path separator (":" on UNIX)
      line.separator=Line separator ("\n" on UNIX)
      user.name=User's account name
      user.home=User's home directory
      user.dir=User's current working directory

15,exit(int status),gc()这两个函数太熟悉了,就不介绍了

16,load(String filename) 加载文件17,loadLibrary(String libname) 加载类库文件

三、总结

   常用的方法也就这些了,希望能给路过的朋友一些帮助。        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值