Java中System的详细用法
System.arraycopy
System.arraycopy的函数原型是:
public static void arraycopy(Object src,
int srcPos,
Object dest,
int destPos,
int length)
其中:src表示源数组,srcPos表示源数组要复制的起始位置,desc表示目标数组,length表示要复制的长度。
public final class System
extends Object
System 类包含一些有用的类字段和方法。它不能被实例化。
在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。
字段摘要
static PrintStream
err
“标准”错误输出流。
static InputStream
in
“标准”输入流。
static PrintStream
out
“标准”输出流。
方法摘要
static void
arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
static String
clearProperty(String key)
移除指定键指示的系统属性。
static Console
console()
返回与当前 Java 虚拟机关联的唯一 Console 对象(如果有)。
static long
currentTimeMillis()
返回以毫秒为单位的当前时间。
static void
exit(int status)
终止当前正在运行的 Java 虚拟机。
static void
gc()
运行垃圾回收器。
static Map<String,String>
getenv()
返回一个不能修改的当前系统环境的字符串映射视图。
static String
getenv(String name)
获取指定的环境变量值。
static Properties
getProperties()
确定当前的系统属性。
static String
getProperty(String key)
获取指定键指示的系统属性。
static String
getProperty(String key, String def)
获取用指定键描述的系统属性。
static SecurityManager
getSecurityManager()
获取系统安全接口。
static int
identityHashCode(Object x)
返回给定对象的哈希码,该代码与默认的方法 hashCode() 返回的代码一样,无论给定对象的类是否重写 hashCode()。
static Channel
inheritedChannel()
返回从创建此 Java 虚拟机的实体中继承的信道。
static void
load(String filename)
从作为动态库的本地文件系统中以指定的文件名加载代码文件。
static void
loadLibrary(String libname)
加载由 libname 参数指定的系统库。
static String
mapLibraryName(String libname)
将一个库名称映射到特定于平台的、表示本机库的字符串中。
static long
nanoTime()
返回最准确的可用系统计时器的当前值,以毫微秒为单位。
static void
runFinalization()
运行处于挂起终止状态的所有对象的终止方法。
static void
runFinalizersOnExit(boolean value)
已过时。 该方法具有固有的不安全性。它可能对正在使用的对象调用终结方法,而其他线程同时正在操作这些对象,从而导致不正确的行为或死锁。
static void
setErr(PrintStream err)
重新分配“标准”错误输出流。
static void
setIn(InputStream in)
重新分配“标准”输入流。
static void
setOut(PrintStream out)
重新分配“标准”输出流。
static void
setProperties(Properties props)
将系统属性设置为 Properties 参数。
static String
setProperty(String key, String value)
设置指定键指示的系统属性。
static void
setSecurityManager(SecurityManager s)
设置系统安全性。
获得系统属性参数:
getProperties
public static Properties getProperties()
确定当前的系统属性。
首先,如果有安全管理器,则不带参数直接调用其 checkPropertiesAccess 方法。这可能导致一个安全性异常。
将 getProperty(String)方法使用的当前系统属性集合作为 Properties 对象返回。如果没有当前系统属性集合,则先创建并初始化一个系统属性集合。这个系统属性集合总是包含以下键的值:
键
相关值的描述
java.version
Java 运行时环境版本
java.vendor
Java 运行时环境供应商
java.vendor.url
Java 供应商的 URL
java.home
Java 安装目录
java.vm.specification.version
Java 虚拟机规范版本
java.vm.specification.vendor
Java 虚拟机规范供应商
Java 虚拟机规范名称
java.vm.version
Java 虚拟机实现版本
java.vm.vendor
Java 虚拟机实现供应商
Java 虚拟机实现名称
java.specification.version
Java 运行时环境规范版本
java.specification.vendor
Java 运行时环境规范供应商
Java 运行时环境规范名称
java.class.version
Java 类格式版本号
java.class.path
Java 类路径
java.library.path
加载库时搜索的路径列表
java.io.tmpdir
默认的临时文件路径
java.compiler
要使用的 JIT 编译器的名称
java.ext.dirs
一个或多个扩展目录的路径
操作系统的名称
os.arch
操作系统的架构
os.version
操作系统的版本
file.separator
文件分隔符(在 UNIX 系统中是“/”)
path.separator
路径分隔符(在 UNIX 系统中是“:”)
line.separator
行分隔符(在 UNIX 系统中是“/n”)
用户的账户名称
user.home
用户的主目录
user.dir
用户的当前工作目录
系统属性值中的多个路径是用平台的路径分隔符分隔的。
注意,即使安全管理器不允许执行 getProperties 操作,它可能也会选择允许执行 getProperty(String)操作。
返回:
系统属性
抛出:
SecurityException - 如果安全管理器存在并且其 checkPropertiesAccess 方法不允许访问系统属性。
另请参见:
setProperties(java.util.Properties),SecurityException,SecurityManager.checkPropertiesAccess(),Properties
常用例子:
publicclass Test1 {
publicstaticvoidmain(String[] args) {
int[] arr1 ={5,6,7,0,6,6,1,2,3};
int[] arr2 ={12,14,67};
//数组拷贝
//第一个参数:要拷贝数组
//第二个参数:要拷贝数组的起始索引
//第三个参数:目标数组
//第四个参数:目标数组的索引起始位置
//第五个参数:要拷贝的长度
//把原来的位置的参数替换
System.arraycopy(arr2, 1 , arr1, 3 , 2);
for (inti = 0; i < arr1.length; i++) {
System.out.print(arr1[i]+ ",");
}
System.out.println();
//获得当前时间的毫秒数,从1970年到现在的毫秒数
longtm = System.currentTimeMillis();
System.out.println("从1970年到现在的毫秒数:" + tm);
//计算程序的运行时间
longstartTime = System.currentTimeMillis();
try {
Thread.sleep(200);
} catch(InterruptedException e) {
// TODOAuto-generated catch block
e.printStackTrace();
}
longendTime = System.currentTimeMillis();
System.out.println("程序的运行时间是:" + (endTime - startTime));
//退出jvm
//System.exit(0);
//调用垃圾回收器
System.gc();
//
String path = System.getProperty("java.home");
System.out.println(path);
}
}
结果:
5,6,7,14,67,6,1,2,3,
从1970年到现在的毫秒数:1521189519381
程序的运行时间是:200
Java中System的详细用法的更多相关文章
- Java中stream的详细用法
来自于:Java 8 stream的详细用法_旅行者-CSDN博客_java stream 一.概述 Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行 ...
- Java中TreeSet的详细用法
第1部分 TreeSet介绍 TreeSet简介 TreeSet 是一个有序的集合,它的作用是提供有序的Set集合.它继承于AbstractSet抽象类,实现了NavigableSet, Clonea ...
- Java中Collections类详细用法
1.sort(Collection)方法的使用(含义:对集合进行排序). 例:对已知集合c进行排序? public class Practice { public static void main(S ...
- Java中继承的详细用法
关于上一篇构造方法后的继承方法 构造方法链接 extends是继承的关键字 例: 下面的代码BB和CC就是AA的子类 允许一个父类有多个子类,但不允许一个子类有多个父类 /*final*/ class ...
- Java中的Socket的用法
Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...
- Java中Date各种相关用法
Java中Date各种相关用法(一) 1.计算某一月份的最大天数 Java代码 Calendar time=Calendar.getInstance(); time.clear(); time.set ...
- JAVA中enum的常见用法
JAVA中enum的常见用法包括:定义并添加方法.switch.遍历.EnumSet.EnumMap 1.定义enum并添加或覆盖方法 public Interface Behaviour{ void ...
- python中print()函数的“,”与java中System.out.print()函数中的“+”
python中的print()函数和java中的System.out.print()函数都有着打印字符串的功能. python中: print("hello,world!") 输出 ...
- 巨人大哥谈Java中的Synchronized关键字用法
巨人大哥谈Java中的Synchronized关键字用法 认识synchronized 对于写多线程程序的人来说,经常碰到的就是并发问题,对于容易出现并发问题的地方价格synchronized基本上就 ...
随机推荐
- JDBC07 事务
事务 事务基本概念 一组要么同时执行成功,要么同时执行失败的SQL语句,是数据库操作的一个执行单元(比如:银行中,对账户的操作和日志的记录是一组事务) 事务开始于: -连接到数据库上,并执行一条DML ...
- 可能会导致.NET内存泄露的8种行为
原文连接:https://michaelscodingspot.com/ways-to-cause-memory-leaks-in-dotnet/作者 Michael Shpilt.授权翻译,转载请保 ...
- HDU 2004 (水)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2004 题目大意: 给你成绩让你根据成绩打分解题思路: 简单的if...else 应用 需要注意是,if ...
- vue项目开发中遇到的问题总结
(转自)https://www.cnblogs.com/zifayin/p/8312677.html 1.路由变化页面数据不刷新问题 这种情况一般出现在vue-router的history模式下,初次 ...
- Java注解的定义和使用
注解也叫元数据,一种代码级别的说明.是jdk1.5后产生的一个特性,与类.接口.枚举同一个档次,他可以在包.类.字段.方法.局部变量.方法参数等的前面,用来对这些元素进行说明.注释: <!--m ...
- AI技术原理|机器学习算法
摘要 机器学习算法分类:监督学习.半监督学习.无监督学习.强化学习 基本的机器学习算法:线性回归.支持向量机(SVM).最近邻居(KNN).逻辑回归.决策树.k平均.随机森林.朴素贝叶斯.降维.梯度增 ...
- 9.1 Go 反射
9.1 Go 反射 反射:可以在运行时,动态获取变量的信息,比如变量的类型,类别 1.对于结构体变量,还可以获取到结构体的字段,方法 2.实现这个功能的是 reflect包 reflect.TypeO ...
- 日志文件的配置----【logback-spring.xml】
一.引入相关包 <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-c ...
- Python实现批量处理文件的缩进和转码问题
最近把很久前的C代码传到Github上的时候,发现全部上百个源文件的代码缩进都变成了8格,而且里面的中文都出现了乱码,所以决定写个程序来批量处理所有文件的格式.这段关于转码的代码可以适用于很多场合,比 ...
- CF894B Ralph And His Magic Field
题目链接:http://codeforces.com/contest/894/problem/B 题目大意: 往一个 \(n \times m\) 的网格中填数字 \((1 \le n,m \le 1 ...