Allwayz aint a coder


  • Home

  • Archives

Java基础-0x07:学习阻塞队列

Posted on 2020-05-29

JUC

阻塞队列

队列与阻塞队列

  • 阻塞队列,顾名思义 首先它是一个队列,而一个阻塞队列在数据结构中起到的作用大致如图所示好:

    s

  • 当阻塞队列是空时,从队列中获取元素的操作会被阻塞。(消费者)

  • 当阻塞队列是满时,向队列中添加元素的操作会被阻塞。(生产者)

Read more »

Java基础-0x06:CountDownLatch/CyclicBarrier/Semaphore的使用

Posted on 2020-05-29

s

JUC

CountDownLatch/CyclicBarrier/Semaphore 如何使用

  • CountDownLatch(闭锁)
  • CyclicBarrier(栅栏)
  • Semaphore(信号量)
Read more »

Java基础-0x05:Java之锁的使用

Posted on 2020-05-27

ss

JUC

Java 锁的使用

  • 公平锁/非公平锁
  • 可重入锁(递归锁)
  • 读锁/写锁
Read more »

Java基础-0x04:集合类线程不安全

Posted on 2020-05-26

ss

JUC

集合类线程不安全

在多线程并发环境下,对集合类执行像add( ),put( )这样的操作
会触发java.util.ConcurrentModificationException这样的异常

上一篇已经举例了ArrayList的解决方法,这次看看其他集合类的底层到底是怎么解决的。

Read more »

Java基础-0x03:ArrayList线程不安全的问题

Posted on 2020-05-25

Morocco

JUC

我们知道ArrayList是线程不安全的

众所周知,ArrayList时线程不安全的,那么有没有什么方法,既保证了
AllrayList的高并发,又保证了线程安全呢?

我编写了一个案例,并给出了解决方案。

Read more »

Java基础-0x02:探究CAS引出的ABA问题

Posted on 2020-05-25

Fuji

JUC

由CAS缺陷到ABA问题

谈谈什么是ABA问题:狸猫换太子

Thread0x00, Thread0x01。 0x01比0x00 用时少,同时操作主内存。由于0x01比0x00快,所以主内存中数据已经被改了。0x01再次读取内存中的值,再次修改主内存中的值。几次循环之后,0x00执行完毕,写回主内存时,主内存的值正好是期望值,然后0x00修改成功。

表面上是风平浪静的,但是在0x00执行过程中,0x01已经修改过多次。 这就叫ABA问题

Read more »

Java基础-0x01:学习CAS

Posted on 2020-05-24

JUC

CAS你知道吗

CAS(Compare and swap),即比较并交换,也是实现我们平时所说的自旋锁或乐观锁的核心操作

它的实现很简单,就是用一个预期的值和内存值进行比较,如果两个值相等,就用预期的值替换内存值,并返回 true。否则,返回 false。

Read more »

Spring Cloud:完整脑图

Posted on 2020-05-23

课程内容来自 尚硅谷 周阳

笔记整理 By Allwayz

资源下载:

  • 脑图
    • PDF格式
    • PNG格式
    • Xmind格式
  • 源码
    • 自学过程源码
    • 周阳老师发布源码
  • 课程视频
    • 哔哩哔哩地址
Read more »

Java基础-0x00:学习Volatile

Posted on 2020-05-23

JUC

1. 谈谈对volatile的理解

volatile是Java虚拟机提供的轻量级的同步机制。

三大特性:

  1. 保证可见性

    一个线程修改了主内存中的值,其他线程回马上收到通知,进行同步

  2. 不保证原子性

  3. 禁止指令重排

Read more »

探索前后端分离-1:RESTful Login该如何实现(未完成)

Posted on 2020-03-20
123<i class="fa fa-angle-right"></i>

Allwayz

程序猿&攻城狮的自我修养

23 posts
6 tags
© 2023 Allwayz
Powered by Hexo
|
Theme — NexT.Muse v5.1.4