240 发简信
IP属地:广东
  • 三、聊聊并发 — 为什么Java并发编程必须了解Java内存模型

    前言 前面我们说了在并发编程中引起线程不安全的原因,主要因为共享变量的可见性、重排序、原子性,也稍微的提了一下内存模型,那什么是内存模型呢?为什么必须要了解Java内存模型呢...

  • 二、聊聊并发 — 深刻理解并发三问题

    前言 上篇文章我们已经聊了线程安全,大概了解了对线程安全产生影响的重要因素是什么,我们还聊到了多线程的消息传递方式和内存交互方式,正因为这种交互方式使得共享变量在多线程之前存...

  • 重新认识JDK1.8中的HashMap

    简介 HashMap是Java程序员使用频率最高的用于映射(键、值对)处理的数据类型,它根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访...

  • 一、聊聊并发—线程安全到底在说什么

    前言 并发编程的目的是为了让程序运行得更快,提高程序的响应速度,虽然我们希望通过多线程执行任务让程序运行得更快,但是同时也会面临非常多的挑战,比如像线程安全问题、线程上下文切...

  • public static void transferMoney(Account fromAccount,
    Account toAccount,
    DollarAmount amount)
    throws InsufficientFundsException {

    // 锁定汇账账户
    synchronized (fromAccount) {
    // 锁定来账账户
    synchronized (toAccount) {

    // 判余额是否大于0
    if (fromAccount.getBalance().compareTo(amount) < 0) {
    throw new InsufficientFundsException();
    } else {

    // 汇账账户减钱
    fromAccount.debit(amount);

    // 来账账户增钱
    toAccount.credit(amount);
    }
    }
    }
    }
    这个例子感觉不太合理啊,本身这段代码是线程安全的啊,为什么还要加锁呢:joy:

    多线程之死锁就是这么简单

    前言 只有光头才能变强 回顾前面: ThreadLocal就是这么简单 多线程三分钟就可以入个门了! 多线程基础必要知识点!看了学习多线程事半功倍 Java锁机制了解一下 A...

  • 原子操作的实现原理

    简书 占小狼转载请注明原创出处,谢谢! 原子(atomic),本意是指“不能被进一步分割的粒子”。原子操作意味着“不可被中断的一个或一系列操作”。 接下去一起看看在Intel...

  • 120
    坚持读书,加速我成长的有这7本

    前两天我写了一篇文章《爱读书的人,到底能比别人多收获什么?》分享读书的好处的。 有读者留言“读书的好处就是拿来在简书上炫耀”,我回复“的确是值得炫耀的一件事情,但是炫耀背后的...

  • 120
    说好的努力学习、实现目标,我们要怎么更好地坚持下来?

    01 最近看了一个TED,大意是未来二十三年,科技发展会让一些传统行业的人失业。视频中讲到,每一次科技的进步都会让一些工作丢失,比如说1915年前人们都是乘坐马车,但是汽车的...

个人介绍
梦想总是要有的,万一实现了呢