前面讲到使用Account.class作为互斥锁,来解决银行业务里面的转账问题,虽然这个方法不存在并发问题,但是所有账户的转账操作都是串行的.例如账户A转账户B,账户C转帐户...
IP属地:广东
前面讲到使用Account.class作为互斥锁,来解决银行业务里面的转账问题,虽然这个方法不存在并发问题,但是所有账户的转账操作都是串行的.例如账户A转账户B,账户C转帐户...
受保护资源和锁之间合理的关联关系应该是 N:1 的关系,也就是说可以用一把锁来保护多个资源,但是不能用多把锁来保护一个资源. 当我们要保护多个资源时,首先要区分这些资源是否存...
一个或多个操作在CPU执行的过程中不被中断的特性.称为"原子性".理解这个特性有助于你分析并发编程 Bug 出现的原因,例如利用它可以分析出 long 型变量在 32 位机器...
什么是java内存模型? 导致可见性的原因是缓存,导致有序性的原因是编译优化,那解决可见性,有序性最直接的办法就是禁用缓存和编译优化,但是这样问虽然解决了,我们程序的性能可就...
Tomcat 总体架构 我们知道如果要设计一个系统,首先是要了解需求,我们已经了解了Tomcat要实现2个核心功能: 处理Socket连接,负责网络字节流与Request和R...
浏览器发给服务端的是一个HTTP格式的请求,HTTP服务器收到这个请求后,需要调用服务端程序来处理,所谓的服务端程序就是你写的java类,一般来说不同的请求需要不同的java...
HTTP 和 HTML 有什么区别? 为什么会问这个问题?你可以把它当作一个入门测试,检测一下自己的对HTTP协议的理解.因为Tomcat和Jetty本身就是一个"HTTP服...
提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务。最经典的例子就是转账,你要给朋友小王转 100 块钱,而此时你的银行卡只有 100 块钱。 转账过程具体到程...