240 发简信
IP属地:广东
  • Resize,w 360,h 240
    07.安全性、活跃性以及性能问题

    并发编程中主要的三个问题:安全性问题,活跃性问题和性能问题. 安全性问题 平时总是听到这个方法不是线程安全的,这个类不是线程安全的.那么这个安全...

  • Resize,w 360,h 240
    06. 用“等待-通知”机制优化循环等待

    在破坏占用且等待条件的时候,如果转出账本和转入账本不满足同时在文件架上这个条件,就用死循环的方式来循环等待 如果apply()操作耗时非常短,而...

  • Resize,w 360,h 240
    05.死锁了怎么办?

    前面讲到使用Account.class作为互斥锁,来解决银行业务里面的转账问题,虽然这个方法不存在并发问题,但是所有账户的转账操作都是串行的.例...

  • Resize,w 360,h 240
    04.互斥锁(下):如何用一把锁保护多个资源?

    受保护资源和锁之间合理的关联关系应该是 N:1 的关系,也就是说可以用一把锁来保护多个资源,但是不能用多把锁来保护一个资源. 当我们要保护多个资...

  • Resize,w 360,h 240
    03.互斥锁(上):解决原子性问题

    一个或多个操作在CPU执行的过程中不被中断的特性.称为"原子性".理解这个特性有助于你分析并发编程 Bug 出现的原因,例如利用它可以分析出 l...

  • Resize,w 360,h 240
    Java内存模型:看Java如何解决可见性和有序性问题

    什么是java内存模型? 导致可见性的原因是缓存,导致有序性的原因是编译优化,那解决可见性,有序性最直接的办法就是禁用缓存和编译优化,但是这样问...

  • Resize,w 360,h 240
    可见性 原子性和有序性问题:并发编程bug源头

    我们的CPU,内存,I/O设备都在不断迭代,不断朝着更快的方向努力,但是,在这个快速发展的过程中,有一个核心矛盾一直存在,就是这三者的速度差异....

  • Resize,w 360,h 240
    JAVA虚拟机的内存组成以及堆内存介绍

    一.java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:"Java虚拟机具有一个堆,堆是运行时数据区域,所有实例...

  • Resize,w 360,h 240
    05 | Tomcat系统架构(上): 连接器是如何设计的?

    Tomcat 总体架构 我们知道如果要设计一个系统,首先是要了解需求,我们已经了解了Tomcat要实现2个核心功能: 处理Socket连接,负责...