首页 / JAVA / Java系统属性是如何从主机派生的?
Java系统属性是如何从主机派生的?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java系统属性是如何从主机派生的?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1188字,纯文字阅读大概需要2分钟。
内容图文
![Java系统属性是如何从主机派生的?](/upload/InfoBanner/zyjiaocheng/810/603f4e1c476f4260a79cf7859184e17f.jpg)
默认情况下,JVM,as described here中有一组系统属性可用.热点中的哪些是派生的?
像user.home这样的属性必须在不同的操作系统上以不同的方式确定,我正在寻找执行此操作的代码.
解决方法:
I know it’s in OpenJDK but I haven’t been able to find it yet
一种常见的方法是从mercurial存储库中检出OpenJDK源代码树,并使用某种find命令来查找您要查找的内容.在那种情况下,一个简单的
$find . -type f -exec grep "user\.home" {} \; -print
导致./jdk/src/windows/native/java/lang/java_props_md.c(以及其他操作系统的类似文件,如./jdk/src/solaris/native/java/lang/java_props_md.c)一个功能
java_props_t *
GetJavaProperties(JNIEnv* env) { ... }
在此函数中,系统属性值通过特定于操作系统的API读取.
该函数在源文件./jdk/src/share/native/java/lang/System.c中的Java_java_lang_System_initProperties(JNIEnv * env,jclass cla,jobject props)中调用,该函数在./jdk/中再次声明为本机方法SRC /共享/班/ JAVA / LANG / System.java:
private static native Properties initProperties(Properties props);
最后的初始化序列有点棘手:
> java.lang.System有一个静态初始化程序,它调用本机registerNatives()方法.
>此本机方法调用java.lang.System.initializeSystemClass()(再次为Java).
> initializeSystemClass()最后调用上面提到的本机initProperties()方法来创建和初始化系统属性.
内容总结
以上是互联网集市为您收集整理的Java系统属性是如何从主机派生的?全部内容,希望文章能够帮你解决Java系统属性是如何从主机派生的?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。