微软的system类库和java_Java常用类库----System 类
System 类基本使用
System.out.println()本身就是一个系统提供好的类,而且out.println()方法也是经常使用到的。
System类是一些与系统相关的属性和方法的集合,在System类中所有的属性都是静态的。想要引用这些属性和方法,直接使用System类调用即可。
public static void exit(int status) 系统退出,如果status为非0就表示退出
public static void gc() 运行垃圾收集机制,调用的是Runtime类中的gc方法
public static long currentTimeMillis() 返回以毫秒为单位的当前时间
public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length) 数组拷贝操作
public static Properties getProperties() 取得当前的系统全部属性
public static String getProperty(String key) 根据键值取得属性的具体内容
System类除了可以进行内容的输出外,还可以通过方法取得一个操作的计算时间:
public classSystemDemo01{public static voidmain(String args[]){long startTime = System.currentTimeMillis() ; //取得开始计算之前的时间
int sum = 0 ; //声明变量
for(int i=0;i<30000000;i++){ //执行累加操作
sum +=i ;
}long endTime = System.currentTimeMillis() ; //取得计算之后的时间//结束时间减去开始时间
System.out.println("计算所花费的时间:" + (endTime-startTime) +"毫秒") ;
}
};
View Code
列出本机的全部属性:
public classSystemDemo02{public static voidmain(String args[]){
System.getProperties().list(System.out) ;//列出系统的全部属性
}
};
View Code
列出的属性:
-- listing properties --java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=D:\Work\Java\jdk1.8.0_20\jre\bin
java.vm.version=25.20-b23
java.vm.vendor=Oracle Corporation
java.vendor.url=http://java.oracle.com/
path.separator=;
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg=sun.io
user.script=user.country=CN
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=java.vm.specification.name=Java Virtual Machine Specification
user.dir=G:\eclipse\workspace\Test
java.runtime.version=1.8.0_20-b26
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=D:\Work\Java\jdk1.8.0_20\jre\lib\endo...
os.arch=amd64
java.io.tmpdir=C:\Users\lenovo\AppData\Local\Temp\La...
line.separator=java.vm.specification.vendor=Oracle Corporation
user.variant=os.name=Windows 8.1sun.jnu.encoding=GBK
java.library.path=D:\Work\Java\jdk1.8.0_20\bin;C:\windo...
java.specification.name=Java Platform API Specification
java.class.version=52.0sun.management.compiler=HotSpot 64-Bit Tiered Compilers
os.version=6.3user.home=C:\Users\lenovo
user.timezone=java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=GBK
java.specification.version=1.8user.name=lenovo
java.class.path=G:\eclipse\workspace\Test\bin
java.vm.specification.version=1.8sun.arch.data.model=64java.home=D:\Work\Java\jdk1.8.0_20\jre
sun.java.command=Test
java.specification.vendor=Oracle Corporation
user.language=zh
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode
java.version=1.8.0_20
java.ext.dirs=D:\Work\Java\jdk1.8.0_20\jre\lib\ext;...
sun.boot.class.path=D:\Work\Java\jdk1.8.0_20\jre\lib\reso...
java.vendor=Oracle Corporation
file.separator=\
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.desktop=windows
sun.cpu.isalist=amd64
View Code
如果现在只需要取得几个固定属性的话,则就可以通过以下取得:
public classSystemDemo03{public static voidmain(String args[]){
System.out.println("系统版本:" + System.getProperty("os.name")+ System.getProperty("os.version")+ System.getProperty("os.arch")) ;
System.out.println("系统用户:" + System.getProperty("user.name")) ;
System.out.println("当前用户目录:" + System.getProperty("user.home")) ;
System.out.println("当前用户工作目录:" + System.getProperty("user.dir")) ;
}
};
View Code
垃圾对象的回收
一个对象如果不使用,则肯定要等待进行垃圾收集,垃圾收集可以自动调用也可以手动调用,手工调用的时候就是调用System.gc()或者Runtime.getRuntime().gc()。但是,如果一个对象在回收之前需要做一些收尾的工作,则就必须覆写Object类中:
protected void finalize() throws Throwable
在对象被回收之前进行调用,以处理对象回收前的若干操作,比如释放资源等等。
classPerson{privateString name ;private intage ;public Person(String name,intage){this.name =name ;this.age =age;
}public String toString(){ //覆写toString()方法
return "姓名:" + this.name + ",年龄:" + this.age ;
}public void finalize() throws Throwable{ //对象释放空间时默认调用此方法
System.out.println("对象被释放 --> " + this) ;
}
};public classSystemDemo04{public static voidmain(String args[]){
Person per= new Person("张三",30) ;
per= null ; //断开引用
System.gc() ; //强制性释放空间
}
};
View Code
只有强制性调用gc()的时候才可以发现对象被回收,当然,如果不调用,则系统也会在一定时间内自动进行回收。
总结:System类本身提供的静态属性都是与IO操作有关的。
微软的system类库和java_Java常用类库----System 类相关推荐
- JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)
第1节 常用类库(下) 六.java.util.Date Date类表示特定的时刻,精度为毫秒. 在JDK 1.1之前, Date类还有两个附加功能. 它允许将日期解释为年,月,日,小时,分钟和秒值. ...
- 类库java_Java类库和常用类库介绍
Java类库和常用类库介绍 2018-09-20 Java 类库和常用类库介绍--序 作者: zccst Java 类库概念: Java 的应用程序接口 (API) 以包的形式来组织,每个包提供了大量 ...
- Java常用类库(Object类、String类、StringBuffer类、包装类、Math类、System类)详解
常用类库 java.lang java.lang包下放置了Java开发中常用的类和接口,所以为简化该包下类的使用,java.lang包下的类在使用时不需要导入这些类 java.lang包下常用类有: ...
- Java常用类库以及简介,具体使用细节进行百度(爬虫爬取的数据)
来至于互联网 Office文档的Java处理包 POI [推荐] Apache POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目.目前POI已经有了Ruby版本. 结构: ...
- java 常用类库_JAVA(三)JAVA常用类库/JAVA IO
成鹏致远 |lcw.cnblog.com|2014-02-01 JAVA常用类库 1.StringBuffer StringBuffer是使用缓冲区的,本身也是操作字符串的,但是与String类不同, ...
- JavaSE——常用类库(String类)
第1节 常用类库--String 因为String相对之前的类来说更加常用一些,所以对字符串类进行专门的整理. 1. 概述 String类表示字符串,Java中的所有字符串文字都实现为此类的实例. 字 ...
- JavaSE——常用类库(上)(泛型、Objects、Math、ArraysBigDecimal类)
第1节 常用类库(上) 面向对象更多是思想上的东西,常用类库更多是工具上的东西,熟能生巧,多整理笔记. 一.泛型 1.1 概述 泛型,即"参数化类型".就是将类型由原来具体类型进行 ...
- JAVA计时函数的库_JAVA开发常用类库UUID、Optional、ThreadLocal、TimerTask、Base64使用方法与实例详解...
1.UUID类库 UUID 根据时间戳实现自动无重复字符串定义 // 获取UUID public static UUID randomUUID() // 根据字符串获取UUID public stat ...
- JAVA笔记:Java常用类库
这篇文章我们来总结下Java中的常用类库.类库中的这些类和方法都是精心设计的,其运行的效率高.质量高,这些类和方法几乎包含在所有的Java软件中,所以可移植性很高. 下面我们详细学习下. String ...
最新文章
- Coursera吴恩达《卷积神经网络》课程笔记(2)-- 深度卷积模型:案例研究
- Ubuntu 12.04: virtualenv下安装 numpy, scipy, matpl...
- VIM-配置-.vimrc
- Ubuntu16.04下安装MySQL
- 创建struct fib_info
- java的jdk是什么_什么是jdk?
- [EACL17]K-best Iterative Viterbi Parsing(K-best迭代维特比句法分析)
- Linux里如何查找文件内容
- 案例7-1 模拟EXCEL排序 (25 分)(根据结构体某一元素排序)
- ESP8266-Arduino编程实例-BME280环境传感器驱动
- 电气阀门定位器调试方法
- (PTA)7-5 查询水果价格 (15分)
- 项目中的鉴权是如何实现的?
- Android:高德SDK的基本使用
- 柔性机械臂_Soft robotics:香港大学研发全新柔性驱动方式为仿生机器人设计提供新思路!...
- house of grey
- Oracle ERP系统月结与年结流程
- eclipse将web项目打包成war包
- 数据库 高性能服务器,高性能数据库服务器配置
- WPF中获取Canvas中控件的坐标方法