spring三个注解的选择
@Component、@Repository 、@Service三个spring注解的选择
1. @Component为通用注解。我们不知道为那一层时用这个注解。
2. @Repository为持久层组件注解。
3. @Service为业务逻辑层组件注解。
@Component、@Repository 、@Service三个spring注解的选择
1. @Component为通用注解。我们不知道为那一层时用这个注解。
2. @Repository为持久层组件注解。
3. @Service为业务逻辑层组件注解。
$ wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
$ tar -zxvf zookeeper-3.4.9.tar.gz -C /usr/local/zookeeper-3.4.9
默认就是单机模式,
$ cp conf/zoo_sample.cfg conf/zoo.cfg 拷贝配置文件保留原有的
$ ./bin/zkServer.sh start
$ ./bin/zkCli.sh -server 127.0.0.1:2181
然后就可以使用了,实际上谈不上安装,只是解压,启动而已另外一篇文章中需要zookeeper作为注册中心的
try{
A.close();
B.close();
}catch (
Exception e) {}
建议修改为:
try{
A.close();
}catch (Exception e) {}
try{
B.close();
}catch (Exception e) { }
避免A.close()出现异常导致B.close();资源无法回收
Integer 转为String三种方法有以下三种方法,
Integer obj=1;
1:String.valueOf(obj);
2:obj.toString();
3:""+obj;
我们分别按照以上方法循环执行以上操作,代码如下:
public static void main(String[] args) {
int loopTime = 50000;
Integer i = 0;
long startTime = System.currentTimeMillis();
String str = null;
for (int j = 0; j < loopTime; j++) {
str = String.valueOf(i);
}
System.out.println("String.valueOf():" + (System.currentTimeMillis() - startTime) + "ms");
startTime = System.currentTimeMillis();
for (int j = 0; j < loopTime; j++) {
str = i.toString();
}
System.out.println("Integer.toString():" + (System.currentTimeMillis() - startTime) + "ms");
startTime = System.currentTimeMillis();
for (int j = 0; j < loopTime; j++) {
str = i + "";
}
System.out.println("i + \"\":" + (System.currentTimeMillis() - startTime) + "ms");
}
执行结果如下,基本就在以下结果附近徘徊
String.valueOf():5ms
Integer.toString():2ms
i + "":9ms
可见Integer.toString(),执行时间最短最快,自己在做的过程中很多地方却用了第三种方式。我们看看String.valueOf()的源码:
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
可以看出前两者实现相差不大,只是多做了一次为空的判断,也许我们在在做转换的时候就已经做了。所以我们在做转字符串操作时,尽量用Integer.toString()操作。
至于最后一种方法的实现方式,还需要查查资料了。