java基础,设计模式开发模式
java
String 字符常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字串变量(非线程安全)
String的长度是不可变的,StringBuffer,StringBuilder的长度是可变的。
如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,
如果最后需要String,那么使用StringBuffer的toString()方法。
2.单利手写:
publci class TeatA{
private TeatA (){}
private Static TeatA() instance = new TeatA();
public Static TeatA getInstance(){
return instance;
}
}
3.final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
4.sleep() 和 wait() 有什么区别?
最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。
sleep不出让系统资源;wait是进入线程等待池等待,出让系统资源,其他线程可以占用CPU。一般wait不会加时间限制,
因为如果wait线程的运行资源不够,再出来也没用,要等待其他线程调用notify/notifyAll唤醒等待池中的所有线程,
才会进入就绪队列等待OS分配系统资源。sleep(mill