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值都是不一样的。
相关推荐
### C# List<T> 典型用法详解 在C#编程中,`List<T>`是`System.Collections.Generic`命名空间中的一个非常重要的类,它提供了动态数组的灵活性,允许在运行时添加或删除元素,而无需手动管理数组的大小。`List<T>`...
using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; namespace DatabaseOperate { class SqlOperateInfo { ...
文中提到的几个典型的应用问题,例如RC电路(包含连续时间和离散时间模型)和太阳能加热系统,都是系统识别技术能够发挥作用的场景。 系统识别的过程可以从一个简单的数学模型开始,例如在给定的描述中,有一个一阶...
以下是一个典型的遍历示例: ```java while (iterator.hasNext()) { String str = iterator.next(); System.out.println(str); } ``` #### 删除元素 迭代器提供了一个`remove()`方法,允许在遍历过程中删除当前...
本人也是第一次用C#操作数据库,所以这三种典型用法对初学者还是挺有帮助的。 以下是我在visual studio 2005上写的一个类(连的是SQL Server 2005),已经过测试通过。里面有3个方法比较典型,源码如下: using ...
《Visual Basic.NET数据库开发典型实例》是一本专为.NET开发者设计的指南,旨在通过实际案例深入浅出地讲解如何利用Visual Basic.NET进行数据库应用程序的开发。在这个领域,开发者需要掌握的关键知识点包括: 1. *...
##### 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("请输入第一...
在示例中,`System`类中的`out`字段被声明为`final`和`static`,这意味着它是一个类级别的常量,不能被修改且所有实例共享。 - **final变量**:对于非静态的`final`变量,它必须在构造函数执行完毕前初始化。如果类...
8. **.NET框架类库**:C#开发离不开.NET Framework提供的大量类库,如System.IO(文件I/O)、System.Net(网络编程)、System.Drawing(图形绘制)等,通过源码可以深入理解这些类库的用法。 9. **UI编程**:如果...
- **阅读官方文档**:详细了解`Instances`类及其方法的功能和用法。 - **扩展功能实现**:尝试自己编写代码实现数据预处理功能,如缺失值填充、数据转换等。 - **参与社区讨论**:加入Weka相关的开发者社区或论坛,...
在C#中,`System.IO`命名空间包含了处理文件和目录的基本类。例如,`File`类用于基本文件操作,如`File.Create()`用于创建文件,`File.WriteAllText()`用于写入文本到文件,`File.ReadAllLines()`用于读取文件的所有...
度量衡标准 [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. 这款车有标准型和...
1. 使用 Stopwatch 类(System.Diagnostics.Stopwatch) Stopwatch 类是 C# 中一种常用的计时器类,用于测量时间间隔的运行时间。Stopwatch 实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行...
《C#编程典型实例解析》源代码是一本深入探讨C#编程实践的书籍,通过丰富的实例来帮助读者理解和掌握C#语言的核心特性和高级用法。这本书的源代码包含了书中各个实例的完整实现,是学习C#编程的宝贵资源。 在C#编程...
- **`type="ComponentHost.CustomerManager,ComponentHost"`**:指定了远程对象的类型,即命名空间为`ComponentHost`,类名为`CustomerManager`的对象,且位于`ComponentHost`程序集中。 - **`objectUri=...
例如,如果我们需要使用System命名空间中的Console类,那么我们可以在代码文件的开头添加using System;指令,之后就可以直接使用Console.WriteLine()方法而不需要写成System.Console.WriteLine()。 接下来是"using...
### Solaris 10 System Calls #### 概述 Solaris 10 是一款由Sun Microsystems开发的操作系统,它基于Unix系统。在Solaris 10中,系统调用是应用程序与内核交互的主要方式之一。系统调用使得用户空间程序能够请求...
在数据处理方面,C#提供了丰富的类库,如System.Collections和System.Linq,可用于存储和操作数据。"超级兔子"可能有内部数据结构来存储兔子的各种状态信息,比如位置、速度、生命值等。此外,可能还会有数据持久化...
例如,以下场景中`CountDownLatch`的应用非常典型: 1. **多线程读取批量文件**:主线程创建多个子线程读取不同的文件,所有文件读取完成后,主线程进行汇总处理。 2. **多线程读取Excel多个sheet**:主线程启动多...