java学习笔记45:System类的使用

System类的使用
  • system中代表程序所在系统,提供了对应的一些系统属性信息和系统操作。
  • system类不能手动创建对象
  • System类中的都是静态方法
long currentTimeMillis()    //获取当前时间戳,单位为毫秒,获取当前系统时间与1970年01月01日00:00点之前的毫秒差值
long nanoTime()    //获取当前时间戳,单位为纳秒
lineSeparator()     //行分隔符,等同于System.getProperty("line.separator")
runFinalization()      //内部调用了Runtime.getRuntime().runFinalization()方法,虚拟机会尽最大努力去调用垃圾对象的 finalize() 方法,但不能保证其一定执行
load(String filepath)   //用于加载库文件,参数为库文件的绝对路径,库文件 (动态链接库(ddl: Dynamic Link Library)),是一个包含可由多个程序同时使用的代码和数据的库,实现了程序模块化
loadLibrary(String libname)     //用于加载库文件,参数为库文件名,该库文件必须在java.library.path所指向的路径中
System.mapLibraryName(String libname)      //将库名称映射到特定的字符串中
getenv()   //获取操作系统的环境变量 (即本地系统中的环境变量),参数为空:获取操作系统的所有环境变量。参数不为空:获取操作系统的指定环境变量 (例如:参数为 "path")。
setIn(InputStream in)    //重新分配标准输入流
setErr(PrintStream err)    //重新分配标准错误输出流
setOut(PrintStream out)     //重新分配标准输出流
System.err  //标准错误输出流,没有缓存,会立即输出
System.out     //标准输出流,有缓存,不一定会立即输出
identityHashCode(Object obj)    //根据对象<font color=red>内存地址</font>来计算得到哈希值,注意,这里需要与 <font color=red>hashCode()</font> 方法进行区分,当一个类没有重写 Object 类的 hashCode() 方法时,其 hashCode() 方法与 identityHashCode() 方法得到的值是一致的,当一个类重写了 Object 类的 hashCode() 方法时,则其 hashCode() 方法得到的值由其实现逻辑决定,一般不再与 identityHashCode() 方法得到的值相同,当 null 调用 hashCode() 方法时,会报空指针异常;当调用 identityHashCode(null) 方法时,会返回 0
setSecurityManager(SecurityManager securityManager)    //设置安全管理器,接收一个SecurityManager类型的参数
getSecurityManager()   //获取安全管理器
inheritedChannel()   //返回从创建此 Java 虚拟机的实体继承得到的 channel
void exit(int status)   //参数传入一个数字即可。通常传入0记为正常状态,其它为异常状态。
void gc()   //用来运行JVM中的垃圾回收器,完成内存中垃圾的清除。
runFinalization()    //运行处于挂起终止状态的所有对象的终止方法。方法没有返回值。
runFinalizersOnExit(boolean value)     //已过时。 该方法具有固有的不安全性。它可能对正在使用的对象调用终结方法,而其他线程同时正在操作这些对象,从而导致不正确的行为或死锁。  
notive void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)    //用来实现将源数组部分元素复制到目标数组的指定位置。各个参数功能如下:Object src:要复制的原数组;Int srcPos:数组源的起始索引;Object dest:复制后的目标数组;int destPos:目标数组起始索引;int length,指定复制的长度;
setProperties(Properties props)      //设置虚拟机 (JVM) 的环境变量(批量)
setProperty(String key, String value)    //设置虚拟机 (JVM) 的环境变量(单个)
clearProperty(String key)     //清除设置的虚拟机 (JVM) 的环境变量
console()      //从控制台设备读取字符信息,只能通过命令执行,在 IDE 中会报错
String getProperties()   //确定当前的系统属性
String getProperty(String key)  //获取相应的属性

各个属性对应:

在这里插入图片描述

System.console()

  • 从控制台设备读取字符信息,只能通过命令执行,在 IDE 中会报错

    Console console = System.console();
    System.out.println("please input your name:");
    String name = console.readLine();
    System.out.println("please input password:");
    char[] chars = console.readPassword();
    String password = String.valueOf(chars);
    System.out.println("your name:" + name + " your password:" + password);
    
  • 在cmd中先用 javac 命令进行编译,再用 java 命令进行运行

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值