向阳而生
ThreadLocal ThreadLocal
ThreadLocal 介绍简介 官方介绍:ThreadLocal 类用来提供线程内部的局部变量。这种变量在多线程环境下访问(通过get和set方法访问)时能保证各个线程的变量相对独立于其他线程内的变量。ThreadLocal 实例通常来说
2022-08-22
共享模型之JUC 共享模型之JUC
AQS(Abstract Queued Synchronizer)概述全称是 Abstract Queued Synchronizer,是阻塞式锁和相关的同步器工具的框架 特点state属性 独占/共享模式 用 state 属性
2022-08-21
共享模型之线程池 共享模型之线程池
自定义线程池 可重用线程(消费者:不断获取任务来执行)+阻塞队列(生产者消费者模式下平衡速度差异的组件)+main(生产者:源源不断生成任务) 步骤1:自定义拒绝策略接口 RejectPolicy1234567891011package c
2022-08-19
共享模型之不可变 共享模型之不可变
日期转换的问题问题提出 (线程不安全类 SimpleDateFormat)下面的代码在运行时,由于 SimpleDateFormat 不是线程安全的,有很大几率出现 java.lang.NumberFormatException 或者出现不
2022-08-18
共享模型之无锁 共享模型之无锁
问题提出 (如何保证取款方法的线程安全)有如下需求,保证 account.withdraw 取款方法的线程安全 1234567891011121314151617181920212223242526272829303132333435363
2022-08-17
共享模型之内存 共享模型之内存
共享变量在多线程间的【可见性】问题与多条指令执行时的【有序性】问题 Java 内存模型JMM 即 Java Memory Model,它定义了主存、工作内存抽象概念,底层对应着 CPU 寄存器、缓存、硬件内存、CPU 指令优化等。 JM
2022-08-16
共享模型之管程 共享模型之管程
共享问题Java 的体现线程出现问题的根本原因是因为线程上下文切换,导致线程里的指令没有执行完就切换执行其它线程了 123456789101112131415161718192021static int counter = 0;public
2022-08-14
线程与进程 线程与进程
总体路线 进程与线程进程 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO 的 当一个程序被运行,从磁盘加
2022-08-02