- 浏览: 1493705 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (523)
- JAVA (334)
- J2EE (18)
- JSP (21)
- JavaScript (14)
- it life (2)
- mobile develop (4)
- UBUNTU (14)
- Algorithm (14)
- DataBase (56)
- Browser/Server (1)
- linux (6)
- fedora (2)
- CSS (1)
- AjAX (3)
- HTML5 (1)
- EJB (1)
- osworkflow (2)
- Java face (5)
- spring (4)
- ICE (1)
- webService (2)
- MongoDB (1)
- JavaThread (4)
- JavaCollections (3)
- Hibernate (2)
- JavaMail (1)
- JavaBasic (1)
- Cache (1)
- https (4)
- DOM4J (1)
- JDOM (0)
- Mybatis (1)
- JUNIT (1)
- eclipse (1)
- easyMock (2)
最新评论
-
yadongliang:
...
自己认为的一些技术点 -
yadongliang:
每次看你头像都看的荷尔蒙分泌失调
WebService的两种方式SOAP和REST比较 (转) -
yadongliang:
hollo 写道一直有这种感觉,盲目的跟风,确实有一些人为了潮 ...
WebService的两种方式SOAP和REST比较 (转) -
welss:
博主,JNative怎么调用dll中的这种方法: int ...
JNative调用DLL -
Java_Antelope:
session.setAttribute和session.getAttribute(
前段时间出差去做一个数据接口的项目,有很多参数需要从工程中的配置文件system-config.proterties文件中读取,每个类中几乎都需要用到,于是就考虑把配置文件的配置项全部一次性的读取出来,存放在一个Map中。首先想到了就是单例模式。这样比较节省资源。在查找了一些资料之后,开始动手写了,贴出代码:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
public class SystemConfigUtil {
private static SystemConfigUtil systemConfigUtil = null;
private static Map<String, String> proMap = new HashMap<String, String>();
private SystemConfigUtil() {
File file = new File("src\\system-config.properties");
InputStream is = null;
Properties pro = new Properties();
try {
is = new FileInputStream(file);
pro.load(is);
Enumeration e = pro.propertyNames();
while (e.hasMoreElements()) {
String key = (String) e.nextElement();
String value = (String) pro.get(key);
proMap.put(key, value);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();//千万别忘了关闭资源哦!
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static SystemConfigUtil getInstance() {
if (systemConfigUtil == null) {
systemConfigUtil = new SystemConfigUtil();
}
return null;
}
public static Map<String, String> getProMap() {
return proMap;
}
public static void main(String[] args) {
//写一个main方法,来验证一下
SystemConfigUtil d1 = SystemConfigUtil.getInstance();
SystemConfigUtil d2 = SystemConfigUtil.getInstance();
System.out.println(d1 == d2);
Map m1 = d1.getProMap();
Map m2 = d2.getProMap();
System.out.println(m1 == m2);
System.out.println(m1.get("ip"));
}
}
由于是在一个工程中使用的,所以配置文件直接写死在了程序里。稍加改动就可以变成动态的。经过测试这样读取一个配置文件(5K)只需要2毫秒(我的机器配置中等偏上)。
不知道这样写是不是规范,我知道肯定还有能优化的地方,请大神们给指点一下~谢谢啦~
原文:http://www.software8.co/wzjs/java/1788.html
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
public class SystemConfigUtil {
private static SystemConfigUtil systemConfigUtil = null;
private static Map<String, String> proMap = new HashMap<String, String>();
private SystemConfigUtil() {
File file = new File("src\\system-config.properties");
InputStream is = null;
Properties pro = new Properties();
try {
is = new FileInputStream(file);
pro.load(is);
Enumeration e = pro.propertyNames();
while (e.hasMoreElements()) {
String key = (String) e.nextElement();
String value = (String) pro.get(key);
proMap.put(key, value);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();//千万别忘了关闭资源哦!
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static SystemConfigUtil getInstance() {
if (systemConfigUtil == null) {
systemConfigUtil = new SystemConfigUtil();
}
return null;
}
public static Map<String, String> getProMap() {
return proMap;
}
public static void main(String[] args) {
//写一个main方法,来验证一下
SystemConfigUtil d1 = SystemConfigUtil.getInstance();
SystemConfigUtil d2 = SystemConfigUtil.getInstance();
System.out.println(d1 == d2);
Map m1 = d1.getProMap();
Map m2 = d2.getProMap();
System.out.println(m1 == m2);
System.out.println(m1.get("ip"));
}
}
由于是在一个工程中使用的,所以配置文件直接写死在了程序里。稍加改动就可以变成动态的。经过测试这样读取一个配置文件(5K)只需要2毫秒(我的机器配置中等偏上)。
不知道这样写是不是规范,我知道肯定还有能优化的地方,请大神们给指点一下~谢谢啦~
原文:http://www.software8.co/wzjs/java/1788.html
发表评论
-
Spring官网改版后下载
2014-04-11 10:39 767Spring官网改版后找了好久都没有找到直接下载Jar包的链接 ... -
Java 系统架构设计
2014-03-31 21:18 1479首先分为网关和引擎等多个部分: 第一部分:网关 1、主要负责转 ... -
Java 提高系统性能
2014-03-03 22:22 2610首先是从三方面来提高的,应用层面,服务器端层面,数据库层面。 ... -
2013年11月份艺龙旅行网面试题
2013-11-22 23:39 12611.给你两个字符串s1="abc",s2= ... -
国猪555555555
2013-11-22 00:16 1092国足第一招:场地太差,不适应。 国足第二招:场地太好,不适应。 ... -
自己认为的一些技术点
2013-08-14 00:12 12271.rest风格的编程。 2.memcached的命中率低的问 ... -
HttpClient
2013-01-14 23:57 1049package org.abin.lee.test.http; ... -
Java 反射调用方法
2012-10-22 23:52 975package lc.abin.lee.reflect; i ... -
Java Https单向,双向验证
2012-09-23 22:47 3007https一般来说有单项SSL和双向SSL连接之分。 单项 ... -
Java中的transient,volatile和strictfp关键字
2012-09-12 18:00 831http://www.iteye.com/topic/5295 ... -
Server JBoss v5.0 at localhost was unable to start within 50 seconds.
2012-09-05 11:35 1879[标题]:[转]JBoss was unable to sta ... -
HttpUrlConnection 开发例子
2012-03-25 16:23 3358/*** * * 发送HTTP请求 * @ ... -
Java Enum类型定义的方法
2012-03-12 12:34 2342//枚举接口 package com.abin.info.s ... -
Rational Rose 2003 下载及破解方法
2012-03-06 12:49 1392FROM:http://blog.csdn.net/fengl ... -
使用Spring进行面向切面(AOP)编程
2012-02-22 10:35 23431.aop理论知识 横切性关注点:对哪些方法拦截,拦截后怎么处 ... -
BASE64、MD5、SHA、HMAC几种加密算法
2012-02-21 12:53 8802BASE64编码算法不算是真正的加密算法。 MD5、 ... -
文本文件和二进制文件区别及java中字节流和字符流归纳
2012-02-17 15:48 2989首先在物理上文本文件和二进制文件并没有区别,都是以二进制01的 ... -
Java 字节流转化为文件
2012-02-17 15:46 5747已知:byte[] bytes=new FileToBytes ... -
Java核心之Java内存分配原理
2012-02-17 13:40 951JAVA内存分配与管理是Java的核心技术之一,之前我们曾介绍 ... -
传智播客——JPA
2012-02-17 09:31 1549首先,JPA不是ORM框架,而是SUN官方提出的JAVA持久化 ...
相关推荐
单例模式常用于管理共享资源,如配置文件的读取。本篇将详细介绍如何利用枚举(enum)来实现单例模式,并结合`Properties`类解析配置文件。 首先,我们来看一下传统的单例模式实现方式,如懒汉式和饿汉式,但这些...
以上就是Java单例模式在处理配置文件场景的应用。通过单例模式,我们可以在保证全局唯一性的同时,减少重复加载配置文件的开销,提高程序的性能。在实际开发中,应根据项目需求选择适合的单例实现方式。
配置文件读取在Java中通常是通过`java.util.Properties`类实现的,它可以加载`.properties`文件并进行键值对的读取和写入。例如: ```java Properties props = new Properties(); InputStream in = new ...
`properties`文件是Java中的配置文件,它以键值对的形式存储数据,键和值之间用等号`=`或冒号`:`分隔。例如: ``` username=admin password=123456 ``` 2. `java.util.Properties`类: Java提供了`java.util....
Java配置文件读取,采用单例模式加载config.properties
### Java完美公共方法读取properties文件的值 在Java开发中,经常需要处理配置文件,其中`properties`文件因其简单易用的特点而被广泛采用。本文将详细介绍如何使用一种高效且简洁的方式读取`properties`文件,并在...
- **构造方法**:私有化构造方法,确保外部无法通过 `new` 关键字创建新实例,并加载配置文件。 #### 总结 单例模式通过确保类只有一个实例并在系统中作为全局访问点提供,使得它成为解决许多实际问题的有效手段。...
3. 或者,你可以在初始化阶段,通过静态工厂方法或单例模式获取并保存`ApplicationContext`,以便后续使用。 一旦有了`ApplicationContext`,就可以通过`getBean()`方法获取所需的Bean。例如,如果你有一个名为`...
ReadConfig类负责从配置文件"zzr.ini"中读取"data"参数值。首先,我们看到ReadConfig类有一个私有成员变量paramA用于存储读取的参数值,以及一个构造方法用于加载配置文件。在这个构造方法中,通过FileInputStream和...
- 通过读取配置文件`db.properties`获取数据库连接参数。 - 使用这些参数初始化`BasicDataSource`。 4. **单例模式实现**: ```java public static GetConn getConn() { if (getConn == null) getConn = new ...
Properties Generator是一款用于生成Java属性配置文件的工具,它能够帮助开发者快速地创建和管理`.properties`文件。在Java开发中,`.properties`文件是常用于存储配置信息的文本文件,例如数据库连接信息、系统参数...
通过分析这个压缩包,开发者可以学习如何在Java或其他编程语言中实现多语言支持,了解如何组织和使用配置文件,以及如何利用单例模式来优化资源的管理和访问。同时,这也可能涉及到如何在程序中动态切换语言,以提供...
在这个示例中,我们通过单例模式实现了`Env`类,确保了`Properties`对象的唯一性,同时也简化了资源文件的读取过程。这种方式特别适用于那些需要频繁访问的配置信息,因为它避免了每次读取文件的开销,同时保证了...
属性文件(Properties)是Java中用于存储配置信息的一种简单文本格式。在知识问答器中,属性文件可能包含了每个问题的ID、问题内容、答案以及其他相关信息。通过java.util.Properties类,可以方便地读取和写入这些...
2.能够对上传路径进行配置文件指定(upload.properties),使用了一些类似单例模式的静态代码块 3.Struts2进行下载处理,能对上传的所有文件进行下载(多个) 4.文件保存的名称UUID生成,不过显示并下载的名称都是原...
8. data_height.properties、data_weight.properties、data.properties:这些可能是配置文件,存储有关数据的高度、权重或其他属性的元数据,可能与POI库的某些计算或布局相关。 通过这些文件,我们可以推断出这个...