2022年1月18日
摘要: https://blog.csdn.net/qq_39192827/article/details/85611873 我们希望一些对象,当内存还够是,则保留在内存中;如果内存不足,则可以抛弃这些对象,提出了四种引用类型。 Java中提供这四种引用类型主要有两个目的:第一是可以让程序员通过代码的方式决 阅读全文
posted @ 2022-01-18 11:30 鬼灯的冷彻~三月 阅读(79) 评论(1) 推荐(0)
  2021年11月19日
摘要: 线程创建方式及线程池使用原理 Thread类用于操作线程,所有的线程对象都必须是Thread类或其子类的实例 创建线程的四种方式: 继承Thread类 实现Runnable接口 使用Callable和Future 线程池 方法1是把线程和任务合并在了一起 方法2,3是把线程和任务分开了 ,任务在Ca 阅读全文
posted @ 2021-11-19 12:22 鬼灯的冷彻~三月 阅读(221) 评论(0) 推荐(0)
摘要: JMM、volatile 1、JMM内存模型 什么是内存模型: 内存模型可以理解为在特定的操作协议下,对特定的内存或者高速缓存进行读写访问的过程抽象描述(即描述了程序中各个变量(实例域、静态域和数组元素)之间的关系,以及将变量从内存中取出和写入的底层细节),不同架构下的物理机拥有不一样的内存模型,J 阅读全文
posted @ 2021-11-19 12:14 鬼灯的冷彻~三月 阅读(77) 评论(0) 推荐(0)
摘要: CAS和原子引用 1、CAS 1.1 什么是CAS CAS CAS的全称为Compare-And-Swap,它是一条CPU并发原语。它的功能是判断内存某个位置的值是否为预期值,如果是则更改为新的值,这个过程是原子的。 CAS并发原语体现在JAVA语言中就是sun.misc.Unsafe类中的各个方法 阅读全文
posted @ 2021-11-19 12:03 鬼灯的冷彻~三月 阅读(93) 评论(0) 推荐(0)
摘要: 解决集合类不安全 ArrayList,HashSet,hashMap等都是现成不安全的,会出现java.until.ConcurrentModificationException:并发修改异常 1)各类集合不安全解决方法: 1)List List<String> list = new ArrayLi 阅读全文
posted @ 2021-11-19 09:40 鬼灯的冷彻~三月 阅读(72) 评论(0) 推荐(0)
摘要: 一、介绍 CountDownLatch,CyclicBarrier和Semaphore都是java并发包concurrent提供的并发编程的工具类,是比synchrorized(关键字)更高效的同步结构。 CountDownLatch:某个线程阻塞等待,直到其他线程执行完,他才被唤醒执行 Cycli 阅读全文
posted @ 2021-11-19 09:28 鬼灯的冷彻~三月 阅读(66) 评论(0) 推荐(0)