java中有哪几种锁?
1.有synchronized和lock两种锁,synchronized是java的关键字,lock是一个接口。
2.synchronized无需手动释放锁,会在代码执行完毕或者出错的时候自动释放锁,而lock需要显式调用lock枷锁,unlock释放锁,一般在finally中添加unlock防止死锁。
3.synchronized无法被中断,只能等待方法执行完毕,lock可以响应中断。
4.轻量级使用synchronized,重量级使用lock。
哪几种情况会发生内存泄漏
https://mp.weixin.qq.com/s/2MsEAR9pQfMr1Sfs7cPdWQ