This commit is contained in:
Looly 2019-09-19 17:00:08 +08:00
parent 0aeb4d2512
commit a8e9de0ffb
3 changed files with 198 additions and 61 deletions

View File

@ -10,6 +10,7 @@
* 【http】 body方法传null跳过而非报错issue#I12AP2@Gitee * 【http】 body方法传null跳过而非报错issue#I12AP2@Gitee
* 【core】 TimeInterval增加intervalPretty方法issue#I12A6T@Gitee * 【core】 TimeInterval增加intervalPretty方法issue#I12A6T@Gitee
* 【core】 改进ArrayUtil.toString提高性能 * 【core】 改进ArrayUtil.toString提高性能
* 【system】 增加SystemPropsKeysissue#550@Github
### Bug修复 ### Bug修复
* 【core】 修复DateUtil.offset导致的时区错误问题issue#I1294O@Gitee * 【core】 修复DateUtil.offset导致的时区错误问题issue#I1294O@Gitee

View File

@ -0,0 +1,136 @@
package cn.hutool.system;
/**
* 系统属性名称常量池
*
* <p>
* 封装了包括Java运行时环境信息Java虚拟机信息Java类信息OS信息用户信息等<br>
*
*
* @author Looly
* @since 4.6.7
*/
public interface SystemPropsKeys {
// ----- Java运行时环境信息 -----/
/**
* Java 运行时环境规范名称
*/
String SPECIFICATION_NAME = "java.specification.name";
/**
* Java 运行时环境版本
*/
String VERSION = "java.version";
/**
* Java 运行时环境规范版本
*/
String SPECIFICATION_VERSION = "java.specification.version";
/**
* Java 运行时环境供应商
*/
String VENDOR = "java.vendor";
/**
* Java 运行时环境规范供应商
*/
String SPECIFICATION_VENDOR = "java.specification.vendor";
/**
* Java 供应商的 URL
*/
String VENDOR_URL = "java.vendor.url";
/**
* Java 安装目录
*/
String HOME = "java.home";
/**
* 加载库时搜索的路径列表
*/
String LIBRARY_PATH = "java.library.path";
/**
* 默认的临时文件路径
*/
String TMPDIR = "java.io.tmpdir";
/**
* 要使用的 JIT 编译器的名称
*/
String COMPILER = "java.compiler";
/**
* 一个或多个扩展目录的路径
*/
String EXT_DIRS = "java.ext.dirs";
// ----- Java虚拟机信息 -----/
/**
* Java 虚拟机实现名称
*/
String VM_NAME = "java.vm.name";
/**
* Java 虚拟机规范名称
*/
String VM_SPECIFICATION_NAME = "java.vm.specification.name";
/**
* Java 虚拟机实现版本
*/
String VM_VERSION = "java.vm.version";
/**
* Java 虚拟机规范版本
*/
String VM_SPECIFICATION_VERSION = "java.vm.specification.version";
/**
* Java 虚拟机实现供应商
*/
String VM_VENDOR = "java.vm.vendor";
/**
* Java 虚拟机规范供应商
*/
String VM_SPECIFICATION_VENDOR = "java.vm.specification.vendor";
// ----- Java类信息 -----/
/**
* Java 类格式版本号
*/
String CLASS_VERSION = "java.class.version";
/**
* Java 类路径
*/
String CLASS_PATH = "java.class.path";
// ----- OS信息 -----/
/**
* 操作系统的名称
*/
String OS_NAME = "os.name";
/**
* 操作系统的架构
*/
String OS_ARCH = "os.arch";
/**
* 操作系统的版本
*/
String OS_VERSION = "os.version";
/**
* 文件分隔符 UNIX 系统中是/
*/
String FILE_SEPARATOR = "file.separator";
/**
* 路径分隔符 UNIX 系统中是:
*/
String PATH_SEPARATOR = "path.separator";
/**
* 行分隔符 UNIX 系统中是\n
*/
String LINE_SEPARATOR = "line.separator";
// ----- 用户信息 -----/
/**
* 用户的账户名称
*/
String USER_NAME = "user.name";
/**
* 用户的主目录
*/
String USER_HOME = "user.home";
/**
* 用户的当前工作目录
*/
String USER_DIR = "user.dir";
}

View File

@ -28,71 +28,71 @@ import cn.hutool.core.util.StrUtil;
*/ */
public class SystemUtil { public class SystemUtil {
/***** Java运行时环境信息 *****/ // ----- Java运行时环境信息 -----/
// Java 运行时环境规范名称 /** Java 运行时环境规范名称的KEY */
public final static String SPECIFICATION_NAME = "java.specification.name"; public final static String SPECIFICATION_NAME = SystemPropsKeys.SPECIFICATION_NAME;
// Java 运行时环境版本 /** Java 运行时环境版本的KEY */
public final static String VERSION = "java.version"; public final static String VERSION = SystemPropsKeys.VERSION;
// Java 运行时环境规范版本 /** Java 运行时环境规范版本的KEY */
public final static String SPECIFICATION_VERSION = "java.specification.version"; public final static String SPECIFICATION_VERSION = SystemPropsKeys.SPECIFICATION_VERSION;
// Java 运行时环境供应商 /** Java 运行时环境供应商的KEY */
public final static String VENDOR = "java.vendor"; public final static String VENDOR = SystemPropsKeys.VENDOR;
// Java 运行时环境规范供应商 /** Java 运行时环境规范供应商的KEY */
public final static String SPECIFICATION_VENDOR = "java.specification.vendor"; public final static String SPECIFICATION_VENDOR = SystemPropsKeys.SPECIFICATION_VENDOR;
// Java 供应商的 URL /** Java 供应商的 URL的KEY */
public final static String VENDOR_URL = "java.vendor.url"; public final static String VENDOR_URL = SystemPropsKeys.VENDOR_URL;
// Java 安装目录 /** Java 安装目录的KEY */
public final static String HOME = "java.home"; public final static String HOME = SystemPropsKeys.HOME;
// 加载库时搜索的路径列表 /** 加载库时搜索的路径列表的KEY */
public final static String LIBRARY_PATH = "java.library.path"; public final static String LIBRARY_PATH = SystemPropsKeys.LIBRARY_PATH;
// 默认的临时文件路径 /** 默认的临时文件路径的KEY */
public final static String TMPDIR = "java.io.tmpdir"; public final static String TMPDIR = SystemPropsKeys.TMPDIR;
// 要使用的 JIT 编译器的名称 /** 要使用的 JIT 编译器的名称的KEY */
public final static String COMPILER = "java.compiler"; public final static String COMPILER = SystemPropsKeys.COMPILER;
// 一个或多个扩展目录的路径 /** 一个或多个扩展目录的路径的KEY */
public final static String EXT_DIRS = "java.ext.dirs"; public final static String EXT_DIRS = SystemPropsKeys.EXT_DIRS;
/***** Java虚拟机信息 *****/ // ----- Java虚拟机信息 -----/
// Java 虚拟机实现名称 /** Java 虚拟机实现名称的KEY */
public final static String VM_NAME = "java.vm.name"; public final static String VM_NAME = SystemPropsKeys.VM_NAME;
// Java 虚拟机规范名称 /** Java 虚拟机规范名称的KEY */
public final static String VM_SPECIFICATION_NAME = "java.vm.specification.name"; public final static String VM_SPECIFICATION_NAME = SystemPropsKeys.VM_SPECIFICATION_NAME;
// Java 虚拟机实现版本 /** Java 虚拟机实现版本的KEY */
public final static String VM_VERSION = "java.vm.version"; public final static String VM_VERSION = SystemPropsKeys.VM_VERSION;
// Java 虚拟机规范版本 /** Java 虚拟机规范版本的KEY */
public final static String VM_SPECIFICATION_VERSION = "java.vm.specification.version"; public final static String VM_SPECIFICATION_VERSION = SystemPropsKeys.VM_SPECIFICATION_VERSION;
// Java 虚拟机实现供应商 /** Java 虚拟机实现供应商的KEY */
public final static String VM_VENDEOR = "java.vm.vendor"; public final static String VM_VENDOR = SystemPropsKeys.VM_VENDOR;
// Java 虚拟机规范供应商 /** Java 虚拟机规范供应商的KEY */
public final static String VM_SPECIFICATION_VENDOR = "java.vm.specification.vendor"; public final static String VM_SPECIFICATION_VENDOR = SystemPropsKeys.VM_SPECIFICATION_VENDOR;
/***** Java类信息 *****/ // ----- Java类信息 -----/
// Java 类格式版本号 /** Java 类格式版本号的KEY */
public final static String CLASS_VERSION = "java.class.version"; public final static String CLASS_VERSION = SystemPropsKeys.CLASS_VERSION;
// Java 类路径 /** Java 类路径的KEY */
public final static String CLASS_PATH = "java.class.path"; public final static String CLASS_PATH = SystemPropsKeys.CLASS_PATH;
/***** OS信息 *****/ // ----- OS信息 -----/
// 操作系统的名称 /** 操作系统的名称的KEY */
public final static String OS_NAME = "os.name"; public final static String OS_NAME = SystemPropsKeys.OS_NAME;
// 操作系统的架构 /** 操作系统的架构的KEY */
public final static String OS_ARCH = "os.arch"; public final static String OS_ARCH = SystemPropsKeys.OS_ARCH;
// 操作系统的版本 /** 操作系统的版本的KEY */
public final static String OS_VERSION = "os.version"; public final static String OS_VERSION = SystemPropsKeys.OS_VERSION;
// 文件分隔符 UNIX 系统中是/ /** 文件分隔符(在 UNIX 系统中是“/”的KEY */
public final static String FILE_SEPRATOR = "file.separator"; public final static String FILE_SEPARATOR = SystemPropsKeys.FILE_SEPARATOR;
// 路径分隔符 UNIX 系统中是: /** 路径分隔符(在 UNIX 系统中是“:”的KEY */
public final static String PATH_SEPRATOR = "path.separator"; public final static String PATH_SEPARATOR = SystemPropsKeys.PATH_SEPARATOR;
// 行分隔符 UNIX 系统中是\n /** 行分隔符(在 UNIX 系统中是“\n”的KEY */
public final static String LINE_SEPRATOR = "line.separator"; public final static String LINE_SEPARATOR = SystemPropsKeys.LINE_SEPARATOR;
/***** 用户信息 *****/ // ----- 用户信息 -----/
// 用户的账户名称 /** 用户的账户名称的KEY */
public final static String USER_NAME = "user.name"; public final static String USER_NAME = SystemPropsKeys.USER_NAME;
// 用户的主目录 /** 用户的主目录的KEY */
public final static String USER_HOME = "user.home"; public final static String USER_HOME = SystemPropsKeys.USER_HOME;
// 用户的当前工作目录 /** 用户的当前工作目录的KEY */
public final static String USER_DIR = "user.dir"; public final static String USER_DIR = SystemPropsKeys.USER_DIR;
// ----------------------------------------------------------------------- Basic start // ----------------------------------------------------------------------- Basic start