IO模型:
#同步阻塞
#同步非阻塞
#异步阻塞
#异步非阻塞
#Reactor模式(反应堆模式) 事件驱动模式 相比于普通的函数调用,它不是主动的调用某个api来完成处理,
而是需要应用程序提供相应的接口并注册到Reactor上,如果有相应的事件发生了就会“回调”应用程序注册的接口
当客户端请求抵达后,服务处理程序使用多路分配策略,由一个非阻塞的线程来接收所有请求,然后将请求派发到相关的工作线程并进行处理的过程。
#应用:
concurrenthashmap如何实现线程安全
volatile关键字
分布式事务
事务的acid
原子性 要么执行要么不执行 一起成功一起失败
一致性 对银行转帐事务,不管事务成功还是失败,应该保证事务结束后ACCOUNT表中aaa和bbb的#存款总额#为2000元。
隔离性 持久性
事务的隔离级别 脏读 重复读 需读
已提交读(数据库默认隔离级别):只读取提交的数据并等待其他事务释放排他锁。读数据的共享锁在读操作完成后立即释放。
事务的(ACID)特性是由关系数据库管理系统(RDBMS,数据库系统)来实现的。数据库管理系统采用日志来保证事务的原子性、一致性和持久性。
日志记录了事务对数据库所做的更新,如果某个事务在执行过程中发生错误,就可以根据日志,撤销事务对数据库已做的更新,使数据库退回到执
行事务前的初始状态。
数据库管理系统采用锁机制来实现事务的隔离性。当多个事务同时更新数据库中相同的数据时,只允许持有锁的事务能更新该数据,其他事务必须
等待,直到前一个事务释放了锁,其他事务才有机会更新该数据
synchronized ReentranLock区别
ThreadLocal
乐观锁和悲观锁的运用
socket网络编程
AtomicInteger
并发容器