10 2021 档案
摘要:参考链接: https://www.bilibili.com/video/BV1ta4y1H73X 需要具备 AQS 知识 可重入指的是单个线程执行时重新进入同一个子程序仍是线程安全的。 如果是不可重入,若 A 获得锁,要再次请求该锁时就会造成死锁 简单来说,就是一个线程可以不用释放即可重复获得该锁
阅读全文
摘要:参考链接:https://www.bilibili.com/video/BV12K411G7Fg 通过 CAS ,我们可以实现乐观锁操作,从而使得线程进行同步,但是通过 CAS 的源码,我们发现 CAS 仅仅能修改内存中的一个值,而不是对对象进行同步,那么该如何对对象进行同步呢?同时,在多线程对统一
阅读全文
摘要:synchronized 是 Java 的关键字之一,提供一种原子性的内部锁,Java 中的每个对象都可以把它当作一个同步锁使用,这种 Java 内置的使用者看不到的锁为内部所,或叫监视器锁。 synchronized 内存语义 进入 synchronized块,即是当前线程会从自己的工作内存中清除
阅读全文
摘要:ThreadLocal 并发下,多线程对共享变量进行操作,为保证线程安全,通常要控制好各线程的同步情况,最直接的办法是给当前共享变量加锁。 有没有一种方法使得创建一个变量后,每个线程对该变量的访问都是在自己的线程空间中的呢?这就是 ThreadLocal。 测试示例 public static vo
阅读全文
摘要:实现方式 实现 Runable 接口的run方法 public static class RunnableTask implements Runnable { // 注意此处返回类型是void,Runnable接口没有返回值 @Override public void run(){ // do so
阅读全文
摘要:Spring AOP 依靠 JDK 和 CGLib 进行动态代理实现。在此对两种实现方式的一些知识进行整理。 JDK 使用示例 /** * 需要被代理的接口 */ interface Iinterface { String proxyMethod(String gift); } /** * 实现 I
阅读全文

浙公网安备 33010602011771号