web前端性能意义、关注重点、测试方案、优化技巧 - 左正 - 博客园
http://www.cnblogs.com/soundcode/p/4654349.html
参数化
http://blog.csdn.net/shenzhen2008/article/details/6316945
线程进程
http://www.cnblogs.com/bigbigheart/p/6005583.html
堆栈
http://blog.csdn.net/echoisland/article/details/6403763
各种状态一目了然,值得一提的是”blocked”这个状态:
线程在Running的过程中可能会遇到阻塞(Blocked)情况
调用join()和sleep()方法,sleep()时间结束或被打断,join()中断,IO完成都会回到Runnable状态,等待JVM的调度。
调用wait(),使该线程处于等待池(wait blocked pool),直到notify()/notifyAll(),线程被唤醒被放到锁定池(lock blocked pool ),释放同步锁使线程回到可运行状态(Runnable)
对Running状态的线程加同步锁(Synchronized)使其进入(lock blocked pool ),同步锁被释放进入可运行状态(Runnable)。
此外,在runnable状态的线程是处于被调度的线程,此时的调度顺序是不一定的。Thread类中的yield方法可以让一个running状态的线程转入runnable。
内功心法:每个对象都有的方法(机制)