当前位置: 首页 > 面试题库 >

系统属性和环境变量有什么区别

松波
2023-03-14
问题内容

我对此不清楚。当我运行Java App或在小程序查看器中运行小程序时(在IDE环境中),
System.getProperty("java.class.path")给我System.getenv("CLASSPATH")的含义与env变量中定义的CLASSPATH
相同。

但是,当我将applet部署到Web服务器并从与客户端相同的计算机上访问它时,两者的结果不同。(System.getProperty("java.class.path")仅指向JRE主页,并System.getenv("CLASSPATH")返回null)。

还有其他一些让我感到奇怪的事情:

对于小程序部分,即env var JAVA_HOME,在将小程序部署到浏览器以及小程序查看器中时,得到相同的结果。

如果我在系统级别定义一个env变量,并使用getenv("envName")结果为null。无论如何,我可以定义一个并在Java程序中获取它吗?


问题答案:

环境变量特定于操作系统。属性仅是JVM。



 类似资料:
  • 问题内容: JVM中的系统属性System.getProperties()和环境变量System.getenv()有什么区别? 问题答案: 我认为两者之间的区别归结为访问。系统环境变量可以由任何进程访问,而Java系统属性只能由添加到它们的进程访问。 另外,正如Bohemian所说,env变量是在OS中设置的(但是可以通过Java设置),而系统属性则作为命令行选项传递或通过设置setPropert

  • internet中的一些示例有env变量集,但其他一些示例有。有什么区别呢?哪些服务使用一个或另一个?

  • 我需要的是一种适当的方法,让这个方法获得值。 将这个“sdk.root”放在哪里,以便IntelliJ提取它?在属性文件中还是在bash中?

  • 问题内容: Java是否具有默认的“系统环境变量”,当我们设置它时将始终读取/附加它?/ etc似乎仅适用于TOMCAT / JBOSS等。 我不想通过Java系统属性(通过-Dprop1 = value1 -Dprop2 = value2传递)来设置它,因为它涉及shell / batch脚本。 它应可跨操作系统使用,例如Windows中的双击jar文件。 它应该可以在不同的JRE(Sun,IB

  • 变量是计算机系统用于保存可变值的数据类型,我们可以直接通过变量名称来提取到对应的变量值。在 Linux 系统中,环境变量是用来定义系统运行环境的一些参数,比如每个用户不同的家目录(HOME)、邮件存放位置(MAIL)等。 值得一提的是,Linux 系统中环境变量的名称一般都是大写的,这是一种约定俗成的规范。 我们可以使用 env 命令来查看到 Linux 系统中所有的环境变量,执行命令如下: [r

  • 问题内容: 从一些初始教程中,我看到属性属于类,并且本质上是C ++世界中使用的“全局变量”(在几年前进行了编码)。我也将变量视为更多的“本地”实体,仅在方法中使用/存储信息。 然后我遇到了这个Quora线程:https : //www.quora.com/Apple-Swift-programming-language/What-is-the-difference- between-a-prop