Lui*_*uiz 1 java amazon-web-services
我有一个使用jersey构建的Java REST Web服务,出于安全原因,我想在OS环境变量中保存方法的参数:DriverManager.getConnection();。网址,用户名和密码。
由于每个请求都需要创建自己的连接,因此我想知道是否有如此多的调用System.getenv("key");是性能问题?
这样做的想法来自本文:http : //docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-rds.html#java-rds-javase
拥有这样的东西将是一个更好的选择:
public class EnvironmentHelper {
static final String URL;
static final String USERNAME;
static final String PASSWORD;
static {
URL = System.getenv("URL");
USERNAME = System.getenv("USERNAME");
PASSWORD = System.getenv("PASSWORD");
}
}
Run Code Online (Sandbox Code Playgroud)
这样,我只加载一次变量,对吗?无论我收到多少请求。
System.getEnv(name)ProcessEnvironment.getEnv实际上是对HashMap的查找的Transaltes (ProcessEnvironment是HashMap的扩展)。此HashMap加载在基于类初始化运行的静态块中-因此,这看起来非常快,因为查找的可能性很大,为O(1)。
| 归档时间: |
|
| 查看次数: |
927 次 |
| 最近记录: |