java – JVM如何读取系统属性?
发布时间:2020-12-15 08:48:26 所属栏目:Java 来源:网络整理
导读:我在System类中找到了这个,但我想知道它是如何实现的. /** * System properties. The following properties are guaranteed to be defined: * dl * dtjava.version ddJava version number * dtjava.vendor ddJava vendor specific string * dtjava.vendor.ur
我在System类中找到了这个,但我想知道它是如何实现的.
/** * System properties. The following properties are guaranteed to be defined: * <dl> * <dt>java.version <dd>Java version number * <dt>java.vendor <dd>Java vendor specific string * <dt>java.vendor.url <dd>Java vendor URL * <dt>java.home <dd>Java installation directory * <dt>java.class.version <dd>Java class version number * <dt>java.class.path <dd>Java classpath * <dt>os.name <dd>Operating System Name * <dt>os.arch <dd>Operating System Architecture * <dt>os.version <dd>Operating System Version * <dt>file.separator <dd>File separator ("/" on Unix) * <dt>path.separator <dd>Path separator (":" on Unix) * <dt>line.separator <dd>Line separator ("n" on Unix) * <dt>user.name <dd>User account name * <dt>user.home <dd>User home directory * <dt>user.dir <dd>User's current working directory * </dl> */ private static Properties props; private static native Properties initProperties(Properties props); 由于它是一种原生方法,我假设有一个C-File,它可以完成所有的魔术. 如果操作系统是具有as行分隔符或< foo>的修改后的Linux内核,该怎么办?作为路径分隔符? JVM如何知道在哪里搜索这些本机文件,如果它们存储在下面…< foo> ..< foo> native< foo> amd_xyz甚至知道路径分隔符之前? 有没有办法研究实施? 解决方法
看看OpenJDK源代码.例如,Linux的文件分隔符定义为
like this:
inline const char* os::file_separator() { return "/"; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |