1 Synchronized 与 Lock 的区别
1)Synchronized 能实现的功能 Lock 都可以实现,而且 Lock 比 Synchronized 更好用,更灵活。
2)Synchronized 可以自动上锁和解锁;Lock 需要手动上锁和解锁
2 Runnable 和 和 Callable 的区别
1)Runnable 接口中的方法没有返回值;Callable 接口中的方法有返回值
2)Runnable 接口中的方法没有抛出异常;Callable 接口中的方法抛出了异常
3)Runnable 接口中的落地方法是 call 方法;Callable 接口中的落地方法是 run 方法
3 什么是分布式锁
当在分布式模型下,数据只有一份(或有限制),此时需要利用锁的技术控制某一时刻修改数据的进程数。分布式锁可以将标记存在内存,只是该内存不是某个进程分配的内存而是公共内存,如 Redis,通过 set (key,value,nx,px,timeout)方法添加分布式锁。
4 什么是分布式事务
分布式事务指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。