【发布时间】:2012-08-12 07:53:20
【问题描述】:
在java程序中,我想用System.setProperty(String, String)方法来改变socksProxyHost和socksProxyPort,但是如果我改变了系统属性,会不会在计算机系统中永远改变?
谢谢。
【问题讨论】:
标签: java
在java程序中,我想用System.setProperty(String, String)方法来改变socksProxyHost和socksProxyPort,但是如果我改变了系统属性,会不会在计算机系统中永远改变?
谢谢。
【问题讨论】:
标签: java
不会,只会影响JVM和当前执行。
【讨论】:
系统属性:在 J2SE 1.4 之前,系统属性是在 Java 网络 API 中为任何协议处理程序设置代理服务器的唯一方法。更复杂的是,这些属性的名称已从一个版本更改为另一个版本,其中一些现在已过时,即使出于兼容性考虑仍然支持它们。
使用系统属性的主要限制是它们是“全有或全无”的开关。这意味着一旦为特定协议设置了代理,它将影响该协议的所有连接。这是 VM 范围的行为。
设置系统属性主要有两种方式:
作为调用 VM 时的命令行选项 使用 System.setProperty(String, String) 方法,当然假设您有权这样做。
【讨论】: