[TOC]
避免频繁地通过 +
进行字符串拼接
**StringBuffer **
线程池
举个不恰当的例子:
// good
class Foo {
String name;
void sayHello() {
System.out.println("My name is" + name);
}
}
// bad
class Foo {
static String name;
static void sayHello() {
System.out.println("My name is" + name);
}
}
不可否认的是,很多刚学 java 的新手常常这么做。
一是为了简洁、二是为了效率
// good
class Foo {
String name;
public String getName() {
return name;
}
void sayHello() {
System.out.println("My name is" + name);
}
}
// bad
class Foo {
String name;
public String getName() {
return name;
}
void sayHello() {
System.out.println("My name is" + getName());
}
}
为了简洁。
如果和参数冲突,才加 this。
// good
class Foo {
String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
// bad
class Foo {
String name;
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
如果不需要访问某对象的字段,将方法设置为静态,调用会加速15%到20%。这也是一种好的做法,因为你可以从方法声明中看出调用该方法不需要更新此对象的状态。
// good
static final String DATABASE_NAME = "foo";
// bad
final String DATABASE_NAME = "foo";
anim // animation
avg // average
bg // background
buf // buffer
ctrl // control
del // delete
doc // document
err // error
esc // escape
inc // increment
info // infomation
init // initial
ic // icon
img // image
len // length
lib // library
msg // message
pwd // password
pos // position
srv // server
str // string
tmp // temp
lambda 表达式可读性低。