What#39;s the difference between a System property and environment variable(系统属性和环境变量有什么区别)
问题描述
我不清楚这一点.当我在 applet 查看器中运行 java 应用程序或运行 Applet 时(在 IDE 环境中),System.getProperty("java.class.path")
给了我与 System.getenv("CLASSPATH")
这是在我的 env 变量中定义的 CLASSPATH.
I am not clear about this. When I run a java App or run an Applet in applet viewer, (in the IDE environment), System.getProperty("java.class.path")
gives me the same as System.getenv("CLASSPATH")
which is the CLASSPATH defined in my env variable.
但是当我将我的小程序部署到网络服务器并从作为客户端的同一台计算机访问它时,我会得到两者不同的结果.(System.getProperty("java.class.path")
只指向 JRE home 并且 System.getenv("CLASSPATH")
返回 null).
But when I deploy my applet to webserver and access it from the same computer as a client, I get different results for the two. (System.getProperty("java.class.path")
only points to JRE home and System.getenv("CLASSPATH")
returns null).
还有一些让我想知道的其他事情:
And here is some other things that make me wonder:
对于小程序部分,env var JAVA_HOME,我在浏览器和小程序查看器中部署小程序时得到相同的结果.
For the applet part, the env var JAVA_HOME, I get the same result when deploying the applet in a browser as well as Applet Viewer.
如果我在系统级别定义自己的环境变量,并使用 getenv("envName")
结果是 null
.无论如何我可以定义一个并在我的 Java 程序中获取它吗?
And if I define myself a env variable at system level, and use getenv("envName")
the result is null
. Is there anyway I can define one and get it in my Java program?
推荐答案
环境变量特定于操作系统.属性仅适用于 JVM.
Environment variables are specific to the operating system. Properties are JVM only.
这篇关于系统属性和环境变量有什么区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:系统属性和环境变量有什么区别
基础教程推荐
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 降序排序:Java Map 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01