`
cakin24
  • 浏览: 1396388 次
  • 性别: 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__List典型用法详解

    ### C# List&lt;T&gt; 典型用法详解 在C#编程中,`List&lt;T&gt;`是`System.Collections.Generic`命名空间中的一个非常重要的类,它提供了动态数组的灵活性,允许在运行时添加或删除元素,而无需手动管理数组的大小。`List&lt;T&gt;`...

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

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

    System Identification

    文中提到的几个典型的应用问题,例如RC电路(包含连续时间和离散时间模型)和太阳能加热系统,都是系统识别技术能够发挥作用的场景。 系统识别的过程可以从一个简单的数学模型开始,例如在给定的描述中,有一个一阶...

    Java学习之Iterator(迭代器)的一般用法

    以下是一个典型的遍历示例: ```java while (iterator.hasNext()) { String str = iterator.next(); System.out.println(str); } ``` #### 删除元素 迭代器提供了一个`remove()`方法,允许在遍历过程中删除当前...

    C#数据库操作的用法

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

    Visual Basic.NET数据库开发典型实例

    《Visual Basic.NET数据库开发典型实例》是一本专为.NET开发者设计的指南,旨在通过实际案例深入浅出地讲解如何利用Visual Basic.NET进行数据库应用程序的开发。在这个领域,开发者需要掌握的关键知识点包括: 1. *...

    JAVA 程序典型例题

    ##### app3_7.java - Scanner 类的其他用法 ```java public class app3_ { public static void main(String[] args) { String s1, s2; Scanner reader = new Scanner(System.in); System.out.print("请输入第一...

    Java开发中static.this.super.final用法

    在示例中,`System`类中的`out`字段被声明为`final`和`static`,这意味着它是一个类级别的常量,不能被修改且所有实例共享。 - **final变量**:对于非静态的`final`变量,它必须在构造函数执行完毕前初始化。如果类...

    C#典型模块开发源码456

    8. **.NET框架类库**:C#开发离不开.NET Framework提供的大量类库,如System.IO(文件I/O)、System.Net(网络编程)、System.Drawing(图形绘制)等,通过源码可以深入理解这些类库的用法。 9. **UI编程**:如果...

    weka源码解析 instances类

    - **阅读官方文档**:详细了解`Instances`类及其方法的功能和用法。 - **扩展功能实现**:尝试自己编写代码实现数据预处理功能,如缺失值填充、数据转换等。 - **参与社区讨论**:加入Weka相关的开发者社区或论坛,...

    C#开发典型模块大全之文件管理模块源代码

    在C#中,`System.IO`命名空间包含了处理文件和目录的基本类。例如,`File`类用于基本文件操作,如`File.Create()`用于创建文件,`File.WriteAllText()`用于写入文本到文件,`File.ReadAllLines()`用于读取文件的所有...

    standard的用法总结大全.doc

    度量衡标准 [C] The standard unit of length in the metric system is the meter. 在公制中,长度的基本单位是米。 5.标准版,普通版 [C] The car comes in a standard model and a luxury model. 这款车有标准型和...

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

    1. 使用 Stopwatch 类(System.Diagnostics.Stopwatch) Stopwatch 类是 C# 中一种常用的计时器类,用于测量时间间隔的运行时间。Stopwatch 实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行...

    《C#编程典型实例解析》源代码

    《C#编程典型实例解析》源代码是一本深入探讨C#编程实践的书籍,通过丰富的实例来帮助读者理解和掌握C#语言的核心特性和高级用法。这本书的源代码包含了书中各个实例的完整实现,是学习C#编程的宝贵资源。 在C#编程...

    Net Remoting配置文件的用法.doc

    - **`type="ComponentHost.CustomerManager,ComponentHost"`**:指定了远程对象的类型,即命名空间为`ComponentHost`,类名为`CustomerManager`的对象,且位于`ComponentHost`程序集中。 - **`objectUri=...

    几种using 的用法小结

    例如,如果我们需要使用System命名空间中的Console类,那么我们可以在代码文件的开头添加using System;指令,之后就可以直接使用Console.WriteLine()方法而不需要写成System.Console.WriteLine()。 接下来是"using...

    Solaris 10 man(2)_ System Calls

    ### Solaris 10 System Calls #### 概述 Solaris 10 是一款由Sun Microsystems开发的操作系统,它基于Unix系统。在Solaris 10中,系统调用是应用程序与内核交互的主要方式之一。系统调用使得用户空间程序能够请求...

    C#开发典型模块大全之超级兔子功能实现源代码

    在数据处理方面,C#提供了丰富的类库,如System.Collections和System.Linq,可用于存储和操作数据。"超级兔子"可能有内部数据结构来存储兔子的各种状态信息,比如位置、速度、生命值等。此外,可能还会有数据持久化...

    Java并发包之CountDownLatch用法.docx

    例如,以下场景中`CountDownLatch`的应用非常典型: 1. **多线程读取批量文件**:主线程创建多个子线程读取不同的文件,所有文件读取完成后,主线程进行汇总处理。 2. **多线程读取Excel多个sheet**:主线程启动多...

Global site tag (gtag.js) - Google Analytics