对对象锁的一些介绍:
1:http://www.cnblogs.com/yyyyy5101/archive/2011/07/20/2112157.html
2:http://www.iteye.com/problems/79450
3:对象的存放位置 http://smartwgd.iteye.com/blog/346686
个人看法:
1:对象锁只会对同步的方法或者代码块产生作用。不是很确定,但是我觉得 同步的方法或者代码块的第一步是获取对象锁,然后执行代码内容,而非同步方法不需要获取对象锁,可以直接执行代码(不会受其他同步方法的影响)。
2:同步 这类操作只会发生在多线程中(仔细想想,单线程是不用同步的,因为它只能执行完当前代码,才能执行另一段代码)。
3:线程间传递的值的存储区域一定要是可以线程共享的区域(比如线程栈就不可以),所以很多传递给其他线程的变量都要使用final这个关键字,因为变量(不是变量所指向的对象)所处的位置是栈。