`
cakin24
  • 浏览: 1336155 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

System类典型用法

    博客分类:
  • java
 
阅读更多

System类说明

  • System类代表当前Java程序的运行平台,程序不能创建System类的对象,所以它提供了一些类属性和类方法,允许直接通过System类名来调用这些属性和方法。
  • System类提供了代表标准输入、标准输出和错误输出的类属性;并提供了一些静态方法用于访问环境变量、系统属性的方法。

代码示例

 

import java.io.*;
import java.util.*;
public class SystemTest {

	/**
	 * @param args
	 * @throws Exception 
	 * @throws FileNotFoundException 
	 */
	public static void main(String[] args) throws FileNotFoundException, Exception {
		// 获取系统所有的环境变量
		Map<String,String> env = System.getenv();
		for (String name : env.keySet())
		{
			System.out.println(name + " ---> " + env.get(name));
		}
		// 获取指定环境变量的值
		System.out.println(System.getenv("JAVA_HOME"));
		// 获取所有的系统属性
		Properties props = System.getProperties();
		// 将所有系统属性保存到props.txt文件中
		props.store(new FileOutputStream("props.txt")
			, "System Properties");
		// 输出特定的系统属性
		System.out.println(System.getProperty("os.name"));

	}

}

 运行结果

 

USERPROFILE ---> C:\Users\lenovo

ProgramData ---> C:\ProgramData

PATHEXT ---> .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

ProgramFiles(x86) ---> C:\Program Files (x86)

TEMP ---> C:\Users\lenovo\AppData\Local\Temp

SystemDrive ---> C:

ProgramFiles ---> C:\Program Files (x86)

Path ---> D:/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin/client;D:/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;D:\Java\jdk1.8.0_101\bin;C:\Users\lenovo\AppData\Local\Microsoft\WindowsApps;D:\Java\jdk1.8.0_101\bin

HOMEDRIVE ---> C:

PROCESSOR_REVISION ---> 4e03

USERDOMAIN ---> LAPTOP-RL60HVJ9

ALLUSERSPROFILE ---> C:\ProgramData

ProgramW6432 ---> C:\Program Files

PROCESSOR_IDENTIFIER ---> Intel64 Family 6 Model 78 Stepping 3, GenuineIntel

SESSIONNAME ---> Console

FPS_BROWSER_USER_PROFILE_STRING ---> Default

TMP ---> C:\Users\lenovo\AppData\Local\Temp

CommonProgramFiles ---> C:\Program Files (x86)\Common Files

LOGONSERVER ---> \\LAPTOP-RL60HVJ9

PROCESSOR_ARCHITECTURE ---> x86

OS ---> Windows_NT

PROCESSOR_ARCHITEW6432 ---> AMD64

HOMEPATH ---> \Users\lenovo

FPS_BROWSER_APP_PROFILE_STRING ---> Internet Explorer

PROCESSOR_LEVEL ---> 6

CommonProgramW6432 ---> C:\Program Files\Common Files

USERDOMAIN_ROAMINGPROFILE ---> LAPTOP-RL60HVJ9

configsetroot ---> C:\WINDOWS\ConfigSetRoot

LOCALAPPDATA ---> C:\Users\lenovo\AppData\Local

COMPUTERNAME ---> LAPTOP-RL60HVJ9

windir ---> C:\WINDOWS

SystemRoot ---> C:\WINDOWS

NUMBER_OF_PROCESSORS ---> 4

USERNAME ---> lenovo

PUBLIC ---> C:\Users\Public

PSModulePath ---> C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules

CommonProgramFiles(x86) ---> C:\Program Files (x86)\Common Files

ComSpec ---> C:\WINDOWS\system32\cmd.exe

APPDATA ---> C:\Users\lenovo\AppData\Roaming

null

 

Windows Vista

该程序还会在当前路径下生成一个props.txt文件,文件的内容是:

#System Properties

#Mon Aug 29 21:50:25 CST 2016

java.runtime.name=Java(TM) SE Runtime Environment

sun.boot.library.path=D\:\\Genuitec\\Common\\binary\\com.sun.java.jdk.win32.x86_1.6.0.013\\jre\\bin

java.vm.version=11.3-b02

java.vm.vendor=Sun Microsystems Inc.

java.vendor.url=http\://java.sun.com/

path.separator=;

java.vm.name=Java HotSpot(TM) Client VM

file.encoding.pkg=sun.io

sun.java.launcher=SUN_STANDARD

user.country=CN

sun.os.patch.level=

java.vm.specification.name=Java Virtual Machine Specification

user.dir=F\:\\java\\workspace\\first

java.runtime.version=1.6.0_13-b03

java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment

java.endorsed.dirs=D\:\\Genuitec\\Common\\binary\\com.sun.java.jdk.win32.x86_1.6.0.013\\jre\\lib\\endorsed

os.arch=x86

java.io.tmpdir=C\:\\Users\\lenovo\\AppData\\Local\\Temp\\

line.separator=\r\n

java.vm.specification.vendor=Sun Microsystems Inc.

user.variant=

os.name=Windows Vista

sun.jnu.encoding=GBK

java.library.path=D\:\\Genuitec\\Common\\binary\\com.sun.java.jdk.win32.x86_1.6.0.013\\bin;.;C\:\\WINDOWS\\Sun\\Java\\bin;C\:\\WINDOWS\\system32;C\:\\WINDOWS;D\:/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin/client;D\:/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin;C\:\\WINDOWS\\system32;C\:\\WINDOWS;C\:\\WINDOWS\\System32\\Wbem;C\:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C\:\\Program Files (x86)\\ATI Technologies\\ATI.ACE\\Core-Static;C\:\\Program Files\\Intel\\WiFi\\bin\\;C\:\\Program Files\\Common Files\\Intel\\WirelessCommon\\;D\:\\Java\\jdk1.8.0_101\\bin;C\:\\Users\\lenovo\\AppData\\Local\\Microsoft\\WindowsApps;D\:\\Java\\jdk1.8.0_101\\bin

java.specification.name=Java Platform API Specification

java.class.version=50.0

sun.management.compiler=HotSpot Client Compiler

os.version=6.2

user.home=C\:\\Users\\lenovo

user.timezone=Asia/Shanghai

java.awt.printerjob=sun.awt.windows.WPrinterJob

file.encoding=GBK

java.specification.version=1.6

java.class.path=F\:\\java\\workspace\\first\\bin

user.name=lenovo

java.vm.specification.version=1.0

java.home=D\:\\Genuitec\\Common\\binary\\com.sun.java.jdk.win32.x86_1.6.0.013\\jre

sun.arch.data.model=32

user.language=zh

java.specification.vendor=Sun Microsystems Inc.

awt.toolkit=sun.awt.windows.WToolkit

java.vm.info=mixed mode

java.version=1.6.0_13

java.ext.dirs=D\:\\Genuitec\\Common\\binary\\com.sun.java.jdk.win32.x86_1.6.0.013\\jre\\lib\\ext;C\:\\WINDOWS\\Sun\\Java\\lib\\ext

sun.boot.class.path=D\:\\Genuitec\\Common\\binary\\com.sun.java.jdk.win32.x86_1.6.0.013\\jre\\lib\\resources.jar;D\:\\Genuitec\\Common\\binary\\com.sun.java.jdk.win32.x86_1.6.0.013\\jre\\lib\\rt.jar;D\:\\Genuitec\\Common\\binary\\com.sun.java.jdk.win32.x86_1.6.0.013\\jre\\lib\\sunrsasign.jar;D\:\\Genuitec\\Common\\binary\\com.sun.java.jdk.win32.x86_1.6.0.013\\jre\\lib\\jsse.jar;D\:\\Genuitec\\Common\\binary\\com.sun.java.jdk.win32.x86_1.6.0.013\\jre\\lib\\jce.jar;D\:\\Genuitec\\Common\\binary\\com.sun.java.jdk.win32.x86_1.6.0.013\\jre\\lib\\charsets.jar;D\:\\Genuitec\\Common\\binary\\com.sun.java.jdk.win32.x86_1.6.0.013\\jre\\classes

java.vendor=Sun Microsystems Inc.

file.separator=\\

java.vendor.url.bug=http\://java.sun.com/cgi-bin/bugreport.cgi

sun.io.unicode.encoding=UnicodeLittle

sun.cpu.endian=little

sun.desktop=windows

sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86

代码示例

public class IdentityHashCodeTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// 下面程序中s1和s2是两个不同对象
		String s1 = new String("Hello");
		String s2 = new String("Hello");
		// String重写了hashCode()方法——改为根据字符序列计算hashCode值,
		// 因为s1和s2的字符序列相同,所以它们的hashCode方法返回值相同
		System.out.println(s1.hashCode()
			+ "----" + s2.hashCode());
		// s1和s2是不同的字符串对象,所以它们的identityHashCode值不同
		System.out.println(System.identityHashCode(s1)
			+ "----" + System.identityHashCode(s2));
		String s3 = "Java";
		String s4 = "Java";
		// s3和s4是相同的字符串对象,所以它们的identityHashCode值相同
		System.out.println(System.identityHashCode(s3)
			+ "----" + System.identityHashCode(s4));

	}

}

 运行结果

69609650----69609650

31843011----25860399

 

5184781----5184781

代码说明

通过identityHashCode(Object o)方法可以获取对象的identityHashCode值,这个特殊的值可以唯一地标识该对象。因为identityHashCode值是根据对象的地址计算得到的,所以任何两个对象的identityHashCode值都是不一样的。

0
0
分享到:
评论

相关推荐

    c#数据库操作的3种典型用法

    using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; namespace DatabaseOperate { class SqlOperateInfo { ...

    C#数据库操作的用法

    本人也是第一次用C#操作数据库,所以这三种典型用法对初学者还是挺有帮助的。 以下是我在visual studio 2005上写的一个类(连的是SQL Server 2005),已经过测试通过。里面有3个方法比较典型,源码如下: using ...

    C#中各种计时器用法小结

    1、使用 Stopwatch 类 (System.Diagnostics.Stopwatch) Stopwatch 实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间。在典型的 Stopwatch 方案中,先调用 Start 方法,然后调用 Stop 方法,...

    Oracle JOB 用法小结

     sql&gt; alter system set job_queue_processes=n;(n&gt;0)  job_queue_processes最大值为1000    查看job queue 后台进程  sql&gt;select name,description from v$bgprocess;    二,dbms_job package 用法...

    matlab汉宁窗代码-MatlabAudioBuffer:用于方便音频块处理的MATLAB类

    matlab汉宁窗代码Matlab音频缓冲区 这个类旨在提供一个方便的界面来处理按块(音频)信号。...以下示例显示了该类的典型用法。 obj = AudioBuffer( ... signal, sampleRate, ... ' BlockLengthSec ' , 32e-3 , ...

    疯狂JAVA讲义

    9.2.1 System类 319 9.2.2 Runtime类 321 9.3 常用类 322 9.3.1 Object类 322 9.3.2 String、StringBuffer和StringBuilder类 322 9.3.3 Math类 327 9.3.4 Random类 328 9.3.5 BigDecimal类 330 9.4 处理日期...

    java 面试题 总结

    引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始...

    BattleyeRconToolLinux:简单的多平台 Battleye rcon 工具

    典型用法: rconTool server.name.com 2302 这个时候只能按Ctrl+C退出 依赖关系 是唯一需要的依赖项。 此外,仅使用 boost::asio 和 boost::system 。 该项目包括 eclipse CDT 项目文件,但不需要 eclipse 来...

    ipydatawidgets:一组小部件,有助于促进跨小部件重用大型数据集

    典型安装需要运行以下三个命令: pip install ipydatawidgets jupyter nbextension install --py [--sys-prefix | --user | --system] ipydatawidgets jupyter nbextension enable --py [--sys-prefix | --user | -...

    Url重写篇视频------本讲将通过实例比较ASP.NET下的三种典型URL重写方案

    本讲将通过实例比较ASP.NET下的三种典型URL重写方案——ISAPI重写(使用开源组件IIRF),ASP.NET2.0内置的urlMappings和基于自定义HTTPModule的URL重写(使用NBear.Web中的UrlRewriteModule实现),并探讨URL重写中...

    Scripts:我每天使用随机脚本执行各种任务

    剧本我每天都会使用随机脚本来执行各种任务。 以下是脚本的名称以及它们的功能的简要说明1. count_distinct.py 给定文件名作为第一个也是唯一的... 典型用法如下import cpucorecount as cprint 'This system has %d phy

    c#学习笔记.txt

    委托声明定义从类 System.Delegate 派生的类。委托实例封装一个或多个方法,每个方法都被称为可调用实体。对于实例方法,可调用实体由一个实例和该实例上的方法组成。对于静态方法,可调用实体仅由一个方法组成。...

    码头工人

    典型的情况是依赖Linux发行版提供的库的C或C ++项目。 您还可以在sample存储库中找到这些脚本的样本用法。 用法 Usage: mid COMMAND Make and run projects (typically system dependent ones, e.g. C/C++ ones) ...

    JAVA面试题最全集

    试举例说明一个典型的垃圾回收算法? 42.请用java写二叉树算法,实现添加数据形成二叉树功能,并以先序的方式打印出来. 43.请写一个java程序实现线程连接池功能? 44.给定一个C语言函数,要求实现在java类中...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    1. 层次结构模型: 层次结构模型实质上是一种有根结点的定向有序树,IMS(Information Manage-mentSystem)是其典型代表。 2. 网状结构模型:按照网状数据结构建立的数据库系统称为网状数据库系统,其典型代表是DBTG...

    超级有影响力霸气的Java面试题大全文档

    引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    【JVM】能不能自己写个类叫java.lang.System? 57 【JVM】类的加载过程 58 【JVM】类的初始化 58 类什么时候才被初始化: 58 类的初始化步骤: 59 【*JVM】什么是JVM线程死锁?JVM线程死锁,你该如何判断是因为什么...

    CliWrap:用于运行命令行进程的库

    通过System.Diagnostics.Process气密性抽象 流利的界面,用于配置命令 灵活支持各种来源和目标的管道 完全异步和取消感知的API 设计时牢记严格不变 在典型死锁情况下的安全性 在Windows,Linux和macOS上测试 面向...

    一个快速、安全且易于使用的 Rust 强化学习框架。

    RSRL (api )强化学习应该是快速、安全和...用法下面的代码展示了如何使用rsrl来评估 QLearning 代理,使用线性函数逼近器和傅立叶基投影来解决典型的山地车问题。查看示例/了解更多...let env= MountainCar::default

    如何编写批处理文件批处理文件批处理文件

    usebackq - 指定新语法已在下类情况中使用: 在作为命令执行一个后引号的字符串并且 引号字符为文字字符串命令并允许在 fi 中使用双引号扩起文件名称。 sample1: FOR /F "eol=; tokens=2,3* delims=, " %i in ...

Global site tag (gtag.js) - Google Analytics