Java SE学习之System.getProperties

本文是学习网络上的文章时的总结,感谢大家无私的分享。

Java提供的java System.getProperties()方法是获取运行环境的系统参数的,综合了网上各位大神的帖子我总结出一些可用属性。

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.vm.specification.name Java 虚拟机规范名称
java.vm.version Java 虚拟机实现版本
java.vm.vendor Java 虚拟机实现供应商
java.vm.name Java 虚拟机实现名称
java.specification.version Java 运行时环境规范版本
java.specification.vendor Java 运行时环境规范供应商
java.specification.name Java 运行时环境规范名称
java.class.version Java 类格式版本号
java.class.path Java 类路径
java.library.path 加载库时搜索的路径列表
java.io.tmpdir 默认的临时文件路径
java.compiler 要使用的 JIT 编译器的名称
java.ext.dirs 一个或多个扩展目录的路径
os.name 操作系统的名称
os.arch 操作系统的架构
os.version 操作系统的版本
file.separator 文件分隔符(在 UNIX 系统中是“/”)
path.separator 路径分隔符(在 UNIX 系统中是“:”)
line.separator 行分隔符(在 UNIX 系统中是“/n”)
user.name 用户的账户名称
user.home 用户的主目录
user.dir 用户的当前工作目录

我本机测试时,还有一些属性没有弄明白,还需研究。

测试代码:

package SE;
import java.util.Enumeration;
import java.util.Properties;
import java.util.Set;

public class JavaProperties {

	/**
	 * <p>
	 * </p>
	 * @author zhangjunshuai
	 * @date 2014-10-22 下午5:11:57
	 * @param args
	 */
	public static void main(String[] args) {

		Properties p = System.getProperties();

		System.out.println("Java 运行时环境版本: "+p.getProperty("java.version"));
		System.out.println("Java 运行时环境供应商: "+p.getProperty("java.vendor"));
		System.out.println("Java 供应商的 URL: "+p.getProperty("java.vendor.url"));
		System.out.println("Java 的安装路径: "+p.getProperty("java.home"));
		System.out.println("Java 虚拟机规范版本: "+p.getProperty("java.vm.specification.version"));
		System.out.println("Java 虚拟机规范供应商: "+p.getProperty("java.vm.specification.vendor"));
		System.out.println("Java 虚拟机规范名称: "+p.getProperty("java.vm.specification.name"));
		System.out.println("Java 虚拟机实现版本: "+p.getProperty("java.vm.version"));
		System.out.println("Java 虚拟机实现供应商: "+p.getProperty("java.vm.vendor"));
		System.out.println("Java 虚拟机实现名称: "+p.getProperty("java.vm.name"));
		System.out.println("Java 运行时环境规范版本: "+p.getProperty("java.specification.version"));
		System.out.println("Java 运行时环境规范供应商: "+p.getProperty("java.specification.vendor"));
		System.out.println("Java 运行时环境规范名称: "+p.getProperty("java.specification.name"));
		System.out.println("当前类的格式版本号: "+p.getProperty("java.class.version"));
		System.out.println("当前类所在的路径: "+p.getProperty("java.class.path"));
		System.out.println("加载库时搜索的路径列表: "+p.getProperty("java.library.path"));
		System.out.println("默认的临时文件路径: "+p.getProperty("java.io.tmpdir"));
		System.out.println("要使用的 JIT 编译器的名称: "+p.getProperty("java.compiler"));
		System.out.println("一个或多个扩展目录的路径: "+p.getProperty("java.ext.dirs"));
		System.out.println("操作系统的名称: "+p.getProperty("os.name"));
		System.out.println("操作系统的架构: "+p.getProperty("os.arch"));
		System.out.println("操作系统的版本: "+p.getProperty("os.version"));
		System.out.println("当前操作系统的文件分隔符: "+p.getProperty("file.separator"));
		System.out.println("当前操作系统的路径分隔符: "+p.getProperty("path.separator"));
		System.out.println("当前操作系统的行分隔符: "+p.getProperty("line.separator"));

		System.out.println("用户的当前账户名称: "+p.getProperty("user.name"));
		System.out.println("用户的当前工作目录: "+p.getProperty("user.dir"));
		System.out.println("用户的主目录: "+p.getProperty("user.home"));

		Properties prop = System.getProperties();
        Set<Object> keySet = prop.keySet();
        for(Object obj : keySet){
            System.out.println("System Property: {"+obj.toString()+","+System.getProperty(obj.toString())+"}");
        }

	}

}

最后的遍历是循环出所有的属性。

参考:

java 通过System.getProperties()获取系统参数

时间: 2024-10-15 17:23:27

Java SE学习之System.getProperties的相关文章

java SE学习之线程同步(详细介绍)

       java程序中可以允许存在多个线程,但在处理多线程问题时,必须注意这样一个问题:               当两个或多个线程同时访问同一个变量,并且一些线程需要修改这个变量时,那么这个程序是该如何执行?              也就是先访问这个变量还是先修改这个变量.              在学习线程的这段时间里,我也一直被这个问题所困扰!但是今天终于算是搞明白了.              于是将这些好的列子一一列举出来,分享一下. (1)什么是线程同步 ?      

Java SE学习之printf 日期转换符

本文是学习网络上的文章时的总结,感谢大家无私的分享. System.out.printf()方法能够对日期做处理输出. 相应列表 转换符 类型 举例 c 完整的日期和时间 Mon Feb 09 18:05:11 PST 2004 F ISO 8061日期 2004-02-09 D 美国格式的日期 02/09/2004 T 24小时时间 18:03:23 r 12小时时间 05:03:23 pm R 24小时时间没有秒 18:05 Y 4位数字的年(前面补0) 2004 y 年的后两位数字(前面补

Java SE学习之数组——匿名数组和不规则数组

本文是学习网络上的文章时的总结以及自己的一点实践,感谢大家无私的分享. 最近偶然遇到了数组的问题,学习了匿名数组和不规则数组. 匿名数组适用于只使用一次的情况:不规则数组适用是每行数据总数不确定的情况. 下面贴上我的小例子 package SE; import java.util.Random; /** * <p> * Description: 此方法是对匿名数组和不规则数组的学习 * </p> * @author zhangjunshuai * @version 1.0 * Cr

Java SE学习之Random

本文是学习网络上的文章时的总结以及自己的一点实践,感谢大家无私的分享. 昨天在项目中想使用几个随机数,结果使用Random时居然出现随机数相同的情况,忍不住查了些资料. 现将代码总结如下: package SE; import java.util.Random; public class RandomUnit { /** * * <p> * 无种子参数的构造方法使用一个和当前系统时间对应的相对时间有关的数字作为种子数, * 然后使用这个种子数构造Random对象. * </p> *

Java SE学习之方法参数的使用

本文是学习网络上的文章时的总结以及自己的一点实践,感谢大家无私的分享. Java程序设计语言对对象采用的不是引用调用,实际上,对象引用进行的是值传递. 在Java程序设计语言中,方法参数的使用情况: 1.一个方法不能修改一个基本数据类型的参数(即数值型和布尔型): 2.一个方法可以改变一个对象参数的状态: 3.一个方法不能实现让对象参数引用一个新的对象. 下面是测试代码 package SE; public class ParamTest { /** * <p> * </p> *

Java SE学习之枚举总结

本文是学习网络上的文章时的总结以及自己的一点实践,感谢大家无私的分享. 最近在看Java基础方面的书的时候,又遇到了枚举的介绍.在网上查了一些资料,对这些资料进行一些总结. 用法一:常量 package meiju; /** * * @ClassName: Color * @Description: 枚举变量的常量用法 * @author zhangjunshuai [email protected] * @date 2014-11-16 下午07:29:40 * */ public enum

java se学习(一)

环境:java jdk1.8+eclipse 1.HelloWorld public class HelloWorld { public static void main(String[] args){ System.out.println("Hello World"); } } 在eclipse下编译运行正常输出Hello World,但是在dos,进入到工程src目录下执行 javac HelloWorld.java java  HelloWorld a.执行java 命令时,不可

Java SE学习笔记-IO

1.主要内容 2.详细内容 2.1.IO流概念 (1)用来处理设备(硬盘,控制台,内存)之间的数据: (2)Java中对数据的操作都是通过流的方式: (3)Java中用于操作流的类都是放在IO包内: (4)按照流操作的数据类型不同,可以分为字节流和字符流:而字符流是为了方便中文的操作而来的: (5)按照流的流向不同分为:输入流和输出流. 2.2.IO流常用基类 2.2.1.字节流的抽象基类 完整图如下图所示: 其中重点的类如下图所示: (1)InputStream:输入字节流,字节读取流抽象类:

java se学习(二)数组与字符串、数据类型转

一.数组与字符串特点 1.数组一旦初始化,其容量即限定 2.字符串一旦初始化,其长度是固定的,内容也是固定的,如果要改变值,只能放弃原来的内存空间,重新申请内存空间. 二. 数据类型转换的种类 java数据类型的转换一般分三种,分别是: (1). 简单数据类型之间的转换 (2). 字符串与其它数据类型的转换 (3). 其它实用数据类型转换 三. 简单数据类型之间的转换 在Java中整型.实型.字符型被视为简单数据类型,这些类型由低级到高级分别为 (byte,short,char)--int--l