摘要: Java每个对象都有一把锁,当前进程使用对象锁1,没有释放该锁,又想要去获取另一把对象锁2,而对象锁2被另外一个线程持有,没有释放,这就很容易出现死锁 1.死锁实例 分析:线程1持有object1的锁,同时又想去获取object2的锁,而此时线程2又持有object2的锁没有释放,又想去获取obje 阅读全文
posted @ 2018-07-15 23:48 HappyCowboy 阅读(681) 评论(0) 推荐(0) 编辑
摘要: 1.Java线程状态 1.1 线程主要状态 ①初始(NEW):新创建了一个线程对象,但还没有调用start()方法。②运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的成为“运行”。线程对象创建后,其他线程(比如main线程)调用了该对象的start 阅读全文
posted @ 2018-07-15 22:42 HappyCowboy 阅读(16726) 评论(0) 推荐(7) 编辑
摘要: 在使用集合的过程中,我们经常会有遍历集合元素,删除指定的元素的需求,而对于这种需求我们往往使用会犯些小错误,导致程序抛异常或者与预期结果不对,本人很早之前就遇到过这个坑,当时没注意总结,结果前段时间又遇到了这个问题,因此,总结下遍历集合的同时如何删除集合中指定的元素; 1.错误场景复原 或者如下代码 阅读全文
posted @ 2018-07-15 12:46 HappyCowboy 阅读(5196) 评论(0) 推荐(0) 编辑