自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 java值传递,引用传递,常量传递

传统版

2021-08-11 10:59:49 268

原创 集合类不安全案例(并发修改异常,ConcurrentModificationException)及解决方式(ArrayList,HashSet,HashMap)

ArrayList 初始值是10 扩容一半往上加 Arrays.CopyOfCopyOnWriteArrayList 源码写时复制 读写分离HashSet 底层是什么 就是HashMap 初始值16 负载因子0.75的value是一个常量实际存的值是key,所以保证了唯一性CopyOnWriteArraySet JUC包下 底层还是CopyOnWriteArrayList...

2021-08-11 10:55:38 94

原创 CountDownLatch/CyclicBarrier/Semaphore使用方法

public enum CountryEnum{ONE(1,"齐"),TWO(2,"楚"),THREE(3,"燕"),FOUR(4,"赵"),FIVE(5,"魏"),SIX(6,"韩");@Getterprivate Integer retCode;@Getterprivate String retMessage;CountryEnum(Integer retCode, String retMessage){this.retCode...

2021-08-11 10:46:30 63

原创 Callable接口使用,和Runnable接口的区别

用运场景 多个任务串行执行,有一个任务耗时较久,可以作为单独的任务独立执行,或需要返回值的场景,支付等等。区别1.Callable接口有异常抛出,Runnable接口没有。2.Callable接口有返回值,Runnable接口没有如何使用FutureTask类继承RunnableFuture接口继承Runnable接口FutureTask类有构造方法public FutureTask(Callable<V> callable) { if (callable

2021-08-10 11:31:28 109

原创 synchronized和lock有什么区别,synchronized什么时候是对象锁,什么时候是全局锁。

synchronized(this)以及非static的synchronized方法,锁住的是括号里()的对象,如果要锁全局,就用synchronized(对象.class)。static 的synchronized方法,static方法可以直接类名.方法名()调用,无法使用this,所以它锁的不是this,而是类的Class对象。所以静态方法也相当于全局锁,锁住了代码段。具体看下面的代码对象锁和全局锁区别:对象锁:锁的是这个对象。全局锁:锁的是那个写了synchronized关键字的方法

2021-08-10 10:50:09 306

原创 线程通信之生产者消费者传统版、阻塞队列版

传统版package com.example.demo;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;class ShareData // 资源类{ private int number = 0; private Lock lock = new Reentra.

2021-08-10 10:38:20 100

原创 volatile--->CAS ---> Unsafe ---> CAS底层思想(自旋锁) ---> ABA ---> 原子引用更新 ---> 如何规避ABA问题

volatile提供轻量级同步机制 3大特性 保证可见性 不保证原子性 禁止指令重排首先明白JMM java内存模型JMM 可见性 原子性 有序性package com.example.demo;import java.util.concurrent.TimeUnit;/** * @author chenxf * @create 2021-07-24 18:20 * 验证volatile的可见性 * 假如 int number = 0; number变量之前...

2021-08-08 22:15:45 183

原创 阻塞队列相关

7种阻塞队列 重点使用标红阻塞队列核心方法put和take取不到会阻塞package com.example.demo;import java.util.ArrayList;import java.util.List;import java.util.concurrent.BlockingQueue;import java.util.concurrent.SynchronousQueue;import java.util.concurr...

2021-08-02 21:59:35 60

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除