关于notify和nitifyall的区别,网上说的很多,这里不再细说。
记录一点自己原来模糊的地方:
notify是唤醒等待线程中的第一个,这个没有问题,如果看到其他说法,那他写错了,我在JDK1.6测试过。
notifyall唤醒全部线程,但是只有一个能执行(sync),这个是随机的,其他线程要等待下一次的机会了。
---------------------------------------------------
override,重写
子类重写父类的方法,方法名和参数一样才叫重写,因为java一个方法的签名包括方法名和参数;所以重写的时候如果方法名和参数一样,
但是返回值和抛出异常不一样,则会编译错误,因为编译器无法识别。
如果父类的方法是private,这时可以在子类中定义一个一模一样的方法,但是这已经不少override。