单例模式将配置文件加载在jvm内存,修改配置文件,可调用reload方法重新加载至内存
来源:互联网 发布:非洲知乎 编辑:程序博客网 时间:2024/06/06 01:46
package com.single;import java.io.InputStream;import java.util.HashMap;import java.util.Map;import java.util.Properties;public class ConfigFactory {private static ConfigFactory _factory = createConfigFactory();private Map<String, String> configMap = null;private ConfigFactory() {}public static ConfigFactory createConfigFactory() {Properties p = new Properties();InputStream in = null;ConfigFactory factory = null;try {in = ConfigFactory.class.getResourceAsStream("/config.properties");p.load(in);factory = new ConfigFactory();factory.configMap = new HashMap<String, String>();for (Map.Entry<Object, Object> entry : p.entrySet()) {factory.configMap.put(entry.getKey().toString(), entry.getValue().toString());}} catch (Exception e) {e.printStackTrace();} finally {try {in.close();} catch (Exception e2) {// TODO: handle exception}}return factory;}public static String getVaule(final String key) {System.out.println(_factory.configMap);return _factory.configMap.get(key);}public static synchronized ConfigFactory getInstance() {if (_factory == null) {reload();}return _factory;}public static boolean reload() {ConfigFactory factory = createConfigFactory();if (factory == null) {return false;} else {if (_factory == null) {_factory = factory;return true;}synchronized (_factory) {ConfigFactory tmp = _factory;_factory = factory;tmp = null;}}return true;}public Map<String, String> getConfigMap() {return configMap;}}
最近的
0 0
- 单例模式将配置文件加载在jvm内存,修改配置文件,可调用reload方法重新加载至内存
- 单例模式加载配置文件
- 单例模式加载properties配置文件
- 使用单例模式加载配置文件
- 配置文件自动重新加载
- spring加载--从xml配置文件到内存
- varnish 重新加载配置文件 不重启
- 单例模式读取配置文件到内存中
- 在前台页面修改properties配置文件后 tomcat重新加载该配置文件的问题
- eclipse 增加内存的方法、修改配置文件 内存优化
- properties修改保留注解,重新加载properties到内存
- JVM延迟加载单例模式
- tomcat中用classloader重新加载配置文件
- 关于Log4j不重启重新加载配置文件
- KVM重新加载虚拟机XML配置文件
- laravel中间件失效,配置文件重新加载
- C#加载xml配置文件,将数据存放在Dictionary中
- 加载配置文件
- AC 自动机 HDU 2896
- docker - 从安装到部署一个web应用(go、java)
- Spring 如何读取properties文件内容
- SQL查询语句
- 数据库-封锁(locking)
- 单例模式将配置文件加载在jvm内存,修改配置文件,可调用reload方法重新加载至内存
- 制作centos6.5 镜像,安装cloud-init 支持openstack 密码注入
- HDU,1232,畅通工程
- 将color转为UIImage
- tomcat+servlet例子
- 垂直外边距合并--CSS的Margin属性:详解margin属性
- Navicat中应用程序角色设计器的用处
- android Activity之间的数据交换
- linux环境配置文件分类