zoukankan      html  css  js  c++  java
  • Java系统属性与Preferences API的简单介绍

    系统属性在和Preferences API都是键值对,前者只能当前应用程序中共享数据,而后者可以在用户的各个应用或用户之间共享数据。

    系统属性

    Java 的系统属性决定了 Java 程序实际运行的环境,默认情况下,JVM 启动时采用系统默认属性值。系统属性顾名思义是指与用户程序相关的操作系统配置信息以及软件信息,位于java.lang包中。

    设计到的方法:

    //获取当前的所有系统属性
    public static Properties getProperties()
    //设置当前的系统属性
    public static void setProperties(Properties props)
    //获取指定键的系统属性
    public static String getProperty(String key)
    //获取指定键的系统属性,def为默认值
    public static String getProperty(String key,String def)
    //设置指定键的系统属性
    public static String setProperty(String key,String value)
    //移除指定键指示的系统属性
    public static String clearProperty(String key)

    示例

    package net.oseye;
    
    public class RunMain {
    
    	public static void main(String[] args) {
    		System.out.println(System.getProperty("java.home"));
    		System.setProperty("website", "oseye.net");
    		System.out.println(System.getProperty("website"));
    	}
    }

    输出

    C:Program FilesJavajre7
    oseye.net

    系统属性还可以在执行程序的时使用 -D的方式设置这个属性的值,如这样执行示例:

    java -Djava.home=mytest net.oseye.RunMain

    输出

    mytest

    Java的所有默认的系统属性

    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 用户的当前工作目录

    Preferences API首选项和配置数据

    Preferences API 是轻型的、跨平台的持久性 API,用来存储少量数据的,它是在 JDK 1.4中引入的。它不是为了为传统数据库引擎提供一个接口,而是用恰当的、操作系统特定的后端以实现真正的持久性,位于java.util.prefs包中。

    此数据持久存储在依赖于实现的内部存储中。有两个独立的首选项节点树,一个用于用户首选项(userRoot),一个用于系统首选项(sysRoot)。

    用户首选项是同一用户共享数据,而系统首选项是所有用户共享。

    示例

    package net.oseye;
    
    import java.util.prefs.Preferences;
    
    public class RunMain {
    
    	public static void main(String[] args) {
    		Preferences root = Preferences.userRoot();
    		root.put("website", "oseye.net");
    		System.out.println(root.get("website", "NotFound"));
    	}
    }

    输出

    oseye.net

    相关的方法:

    //将指定值与此首选项节点中的指定键相关联
    public abstract void put(String key,String value)
    //返回与此首选项节点中指定键相关联的值,def为默认值
    public abstract String get(String key,String def)

    还有很多相应类型的get和put如:getInt,putInt,getLong,putLong等等。

    示例中使用的是用户首选项,所以同一个用户的其他应用程序同样可以获取键“website”的值,可以自己动手试试。

    出处:http://www.zhaiqianfeng.com    
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。
    VGA显示器如何连接HDMI接口主机
    h5ai搭建自己的文件分享程序
    阿里钉钉智能硬件产品上线企业0元购买
    chevereto搭建自己的图床站点
    简单配置webpack自动刷新浏览器
    简易nodejs爬虫抓取博客园指定用户的文章及浏览量
    使用es6的set和map实现数组去重复
    promise实例小球运动
    ImportError: Couldn't import Django.
  • 原文地址:https://www.cnblogs.com/zhaiqianfeng/p/4620123.html
Copyright © 2011-2022 走看看