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 Files\Java\jre7
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”的值,可以自己动手试试。
Java系统属性与Preferences API的简单介绍的更多相关文章
- java系统属性
java系统属性 1. java.runtime.name:java的运行环境名称. 2. sun.boot.library.path:jdk\jre中的bin的路径 3. java.vm.versi ...
- JAVA 文件编译执行与虚拟机(JVM)简单介绍
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytpo3 java程序的内存分配 JAVA 文件编译执行与虚拟机(JVM)介绍 ...
- maven中可以直接引用的java系统属性和环境变量属性
一.查看命令: 1 mvn help :system 二.引用 在pom文件中通过 ${变量名}来引用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...
- java 系统属性
java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java ...
- java 系统属性设置
一.语法: java -Dproperty=value 二.注意事项: value如果有空格,需用使用双引号如:java -Dfoo="some string" 三.常见使用地方: ...
- java中io对文件操作的简单介绍
11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程 ...
- Django框架----路由系统、视图和模板(简单介绍)
一.路由配置系统(urls) URL配置(URLconf)就像Django所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表: 你就是以这种方式告诉Django,对于这个URL ...
- Java中的Number和Math类简单介绍
Java Number类 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double 等. 实例: int a = 5000; float b = 13.65 ...
- Delphi的Win32的API调用简单介绍
1. 介绍Win32 API和Win32系统.还要讨论Win32系统的功能以及它与16位系统在功能上的几个主要区别.只是让对Win32系统有一个基本的了解.当已经基本了解Win32操作后,就可 ...
随机推荐
- bootstrap的alert提示框的关闭后再显示问题
bootstrap中有alert组件,如果点击关闭按钮后该组件会被删除而不是被隐藏,想再显示怎么办呢? bootstrap-alert.js源码片段: function removeElement() ...
- ORACLE Postgresql中文排序
当我们order排序不能够实现我们想要的内容时候,尝试一下NLSSORT这个函数吧 他不仅仅按照姓氏排序,名也会排序: nls_param用于指定语言特征,格式为nls_sort = sor ...
- javascript与java编码互转
java:java.net.URLEncoder.encode(s, "UTF-8");java.net.URLDecoder.decode(chezhanInEn,"U ...
- java操作redis redis连接池
redis作为缓存型数据库,越来越受到大家的欢迎,这里简单介绍一下java如何操作redis. 1.java连接redis java通过需要jedis的jar包获取Jedis连接. jedis-2.8 ...
- tomact配置域名和端口直接访问网站
tomact配置域名和端口直接访问网站,就是使用域名解析到主机,通过端口执行网站地址,实现访问,在上一章节中发布了两个web项目,但是都是执行同一个根文件夹,通过 http://localhost:8 ...
- 实现一个类 Vue 的 MVVM 框架
Vue 一个 MVVM 框架.一个响应式的组件系统,通过把页面抽象成一个个组件来增加复用性.降低复杂性 主要特色就是数据操纵视图变化,一旦数据变化自动更新所有关联组件~ 所以它的一大特性就是一个数据响 ...
- We Chall-Training: Get Sourced-Writeup
MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...
- 初始化css样式的原因
不同的浏览器对有些标签属性的默认值是不同的,如果没有做初始化处理,往往会出现不同浏览器页面表现的差异
- JavaScript中国象棋程序(3) - 电脑自动走棋
"JavaScript中国象棋程序" 这一系列教程将带你从头使用JavaScript编写一个中国象棋程序.这是教程的第3节. 这一系列共有9个部分: 0.JavaScript中国象 ...
- UML类图中的关系和表示方法
类图是用来描述程序中的类以及它们之间的关系的,使用类图可以帮助我们简化对系统的理解.在UML类图中比较常见的关系有六种,它们分别是:依赖.关联.聚合.组合.泛化.实现,这六种关系中类之间的紧密程度是依 ...