事情的由来:
我在项目中使用了ibatis,获得SqlMapClient需要读取xml文件,考虑到效率问题,一直在这个问题上比较纠结
1.弄个类,是实例的?,类似:public class SqlMapClientOwer {
public SqlMapClient getSqlMapClient(){
SqlMapClient smc=null;
try {
Reader reader=Resources.getResourceAsReader("ibatis/SqlMapConfig.xml");
smc=SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (IOException e) {
smc=null;
e.printStackTrace();
}
return smc;
}
}我的考虑是:这样降低效率,因为我感觉,一万个用户访问,得生成一万个SqlMapClientOwer 实例,也就是说得读1万遍
2.弄成这样:public class SqlMapClientOwer {
public static SqlMapClient smc;
static {
try {
Reader reader = Resources
.getResourceAsReader("ibatis/SqlMapConfig.xml");
smc = SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (IOException e) {
smc = null;
e.printStackTrace();
}
}
}问题来了,SqlMapClient的smc不管来访用户多少,都只运行一次静态块,但是smc支持多个用户同时访问吗?
不支持的话应该怎么办呢?
我在项目中使用了ibatis,获得SqlMapClient需要读取xml文件,考虑到效率问题,一直在这个问题上比较纠结
1.弄个类,是实例的?,类似:public class SqlMapClientOwer {
public SqlMapClient getSqlMapClient(){
SqlMapClient smc=null;
try {
Reader reader=Resources.getResourceAsReader("ibatis/SqlMapConfig.xml");
smc=SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (IOException e) {
smc=null;
e.printStackTrace();
}
return smc;
}
}我的考虑是:这样降低效率,因为我感觉,一万个用户访问,得生成一万个SqlMapClientOwer 实例,也就是说得读1万遍
2.弄成这样:public class SqlMapClientOwer {
public static SqlMapClient smc;
static {
try {
Reader reader = Resources
.getResourceAsReader("ibatis/SqlMapConfig.xml");
smc = SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (IOException e) {
smc = null;
e.printStackTrace();
}
}
}问题来了,SqlMapClient的smc不管来访用户多少,都只运行一次静态块,但是smc支持多个用户同时访问吗?
不支持的话应该怎么办呢?
解决方案 »
- java.lang.VerifyError: (class: org/codehaus/xfire/aegis/type/basic/ObjectType
- 关于Struts2的标签的使用
- 请问怎样用Ajax和script绑定省份下的市区(和spring集成的开发模式)
- (100分)再来,我要学学Ajax了,求前辈建议或指导
- 看看我的Hibernate错误信息,帮我分析一下吧?
- 怎样在jsp页面中上传一个文件夹中的所有文件到服务器
- 又是classpath问题!自从用了tomcat5以后好像跟4不一样了
- java中如何去掉一个字符串中的空格
- 那位大虾可以告诉我JB自动生成的那些Enterprise1Bean_st8cog_EOImpl类有什么用
- permission denied
- 要做一个FTP软件,不知从何下手
- 怪了,为啥我同一个url发送的request,服务器都产生不同的session
要是改的话
就重启服务器之后再改的嘛所以自然来一百万个也都是读取
随便他们怎么读
内容都是一致的了
如果使用框架的话,用Spring管理实现就可以。