上一页 1 2 3 4 5 6 7 8 ··· 11 下一页
摘要: 两阶段终止: 在一个线程中如何优雅的终止另一个线程,让这个线程自己乖乖释放资源,然后终止; stop()方法,资源不要了,直接灭了线程; System.exit(int)方法,进程我都不要了; 使用interrupt和catch的配合使用: 没有休眠,interrupted会被置true; 有休眠状 阅读全文
posted @ 2025-03-24 20:53 烟雨断桥 阅读(4) 评论(0) 推荐(0)
摘要: 不可变类设计 final的使用: 修饰属性或者private而且没有set方法,保证为只读属性; 修饰类,防止子类破坏不可变性; String的底层是private final char[] value; 当传入char数组的时候,会给value复制一份value【保护性拷贝:防止共享】; fina 阅读全文
posted @ 2025-03-24 18:43 烟雨断桥 阅读(13) 评论(0) 推荐(0)
摘要: 在多核状态下:某个线程执行到带lock的指令的时候,cpu会让总线锁住,知道把这个指令执行完毕,然后在开启总线,以保证多个线程的原子性; CAS和volatile的相关工具类【JUC】: 原子整数: AtomicBoolean AtomicInteger AtomicLong 底层都是CAS:com 阅读全文
posted @ 2025-03-24 17:56 烟雨断桥 阅读(25) 评论(0) 推荐(0)
摘要: JMM 主存:共享资源;工作内存:局部变量。 原子性:保证执行不受线程上下文切换的影响【并发的影响】; 加锁; 可见性:保存不受cpu缓存的影响【JIT,缓存优化】; volatile:保证变量在多个线程的可见性【轻量级】; synchronized:也可以保证所见性,释放锁时触发内存同步【重量级】 阅读全文
posted @ 2025-03-24 14:55 烟雨断桥 阅读(25) 评论(0) 推荐(0)
摘要: ReentrantLock: 互斥:保证共享资源的原子性; 同步:使用条件变量来达到线程通信【wait-notify】; 相对于synchronized锁它具备以下特点: 可中断; 可设置超时时间 可以设置公平锁 支持多个条件变量: reentrantLock.lock(); try{ //临界区 阅读全文
posted @ 2025-03-24 11:58 烟雨断桥 阅读(15) 评论(0) 推荐(0)
摘要: Monitor java对象头 普通对象【32bit的jvm】: Mark word【32 bits】:对象信息; Klass Word【32 bits】:指向Klass对象【Class对象】; 数组对象: Mark word【32 bits】 Klass Word【32bits】 arraylen 阅读全文
posted @ 2025-03-23 17:21 烟雨断桥 阅读(89) 评论(0) 推荐(0)
摘要: 共享模型的管理: 线程的阻塞,所以就有了cpu的时间片,尽可能的利用cpu: sleep:有时间限制的休息; wait:无时间的休息; io读写的阻塞; 临界区:Critical Section 多个线程的访问共享资源【主内存】的问题【并发问题】 多个线程对共享资源读写操作时发生了指令交错,所引发的 阅读全文
posted @ 2025-03-23 13:49 烟雨断桥 阅读(12) 评论(0) 推荐(0)
摘要: 常见方法: start()和run(): start启动线程,由线程执行run; 不能重复调用start(),由new状态只能进入一次; sleep: 当前线程会由Running进入Timed Waiting 状态【阻塞状态】; 其他线程可以使用interrupt方法打断正在休眠的线程,对应抛出In 阅读全文
posted @ 2025-03-23 10:45 烟雨断桥 阅读(36) 评论(0) 推荐(0)
摘要: Redis数据结构: 5中基本类型数据: String,Hash,List,Set,SortedSet; 怎么用,什么时候用; Redis的通用命令: keys:使用模糊查询对应键的值; delete:删除键值对,返回删除的个数; exists:判断key是否存在,返回1,存在,否则0; expir 阅读全文
posted @ 2025-03-23 10:29 烟雨断桥 阅读(23) 评论(0) 推荐(0)
摘要: CAS与原子类 CAS:Compare and Swap,它体现的是一种乐观锁的思想; 没有使用synchronized,不会陷入线程阻塞; 但是如果竞争激烈,会频繁尝试,影响效率; 必须配合volatile使用,拿到最新的值; //不断的利用CPU尝试,避免了阻塞等待; while (true) 阅读全文
posted @ 2025-03-20 15:48 烟雨断桥 阅读(38) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 11 下一页