
操作系统
文章平均质量分 95
问道玄霄
初见惊艳,再见依然
展开
-
Java日常业务开发中的IO流与装饰器模式、IO模型
业务开发中常见的IO流、IO模型原创 2021-07-03 01:46:07 · 1226 阅读 · 8 评论 -
深入理解Automatic、CAS、Unsafe类
Automatic与Unsafe类Automatic类i++在并发场景下存在的问题三级目录Automatic类原子操作:不可被中断的一个或一系列操作i++在并发场景下存在的问题实例代码:class MyData{ int number=0; public void addPlusPlus(){ number++; } private static void atomicDemo() { System.out.println("原子性测试");原创 2021-06-08 00:13:04 · 1925 阅读 · 4 评论 -
基于ReentrantLock深入理解AQS源码(二)
深入理解AQS示例代码1.new ReentrantLock()2.ReentrantLock.lock()2.1 compareAndSetState(0, 1)3. acquire()4. tryAcquire(arg)5. addWaiter(Thread)5.1 enq(Node node)5.1.1compareAndSetHead6. acquireQueued(Node node, arg)6.1 Node.predecessor()6.2 shouldParkAfterFailedAcqu原创 2021-06-05 23:58:29 · 725 阅读 · 0 评论 -
公平锁、非公平锁、可重入锁、自旋锁、读写锁
并发编程多种锁公平锁与非公平锁公平锁和非公平锁的区别synchronized与ReentrantLock的区别可重入锁代码示例自旋锁自旋锁代码示例独占锁(写锁)、共享锁(读锁)、互斥锁ReentrantReadWriteLock源码公平锁与非公平锁公平锁指多个线程按照申请锁的顺序来获取锁,按照先来先服务的原则。其落地实现可使用队列。非公平锁多个线程获取锁的方式不是按照申请锁的顺序,后申请锁的线程可以比先申请锁的线程先获得锁。JUC下的ReentrantLock的构造boolean值参原创 2021-06-05 15:41:31 · 2570 阅读 · 0 评论 -
深入理解Synchronized关键字
Synchronized同步器的意义如何解决线程并发安全问题synchronized原理详解synchronized底层原理Monitor监视器锁什么是monitor?ObjectMonitor对象记录锁状态对象头锁的膨胀升级过程偏向锁轻量级锁自旋锁锁消除同步器的意义临界资源:多个线程同时访问同一个共享,可变的资源;临界资源可以是对象,变量,文件等;引出的问题:多个线程对共享资源的读写,写写问题如何解决线程并发安全问题实际上,所有并发模式在解决线程安全问题时,都是采用序列化访问临界资源。即同原创 2021-06-05 01:34:20 · 677 阅读 · 1 评论 -
深入理解volatile与MESI缓存一致性协议
volatile与MESI缓存一致性协议volatile实例多级缓存结构总线锁多核CPU多级缓存一致性协议MESIMESI协议缓存状态MESI状态转换MESI状态切换举例MESI优化和引入的问题CPU切换状态阻塞解决存储缓存(Store Bufferes)Store Bufferesstore buffer过程图MESI失效volatilevolatile是Java虚拟机提供的轻量级的同步机制。不能保证原子性保证volatile修饰的共享变量对所有线程是可见的。也就是当一个线程修改 了一个被vo原创 2021-06-04 01:57:18 · 1851 阅读 · 0 评论 -
进程与操作系统模型
程序员必备的操作系统知识进程与线程进程与线程的区别什么是临界区、如何解决冲突?进程间通信有哪些方式?它们的区别?进程的调度算法有哪些?内存交换程序装入和链接程序的链接方式冯诺依曼计算机模型详解计算机五大核心组成部分CPU指令结构控制单元运算单元存储单元CPU缓存架构CPU读取存储器数据过程CPU为何要有高速缓存带有高速缓存的CPU执行计算的流程CPU运行安全等级操作系统内存管理执行空间保护用户态与内核态内核线程模型用户线程模型虚拟机指令集架构寄存器指令集架构栈指令集架构中断和轮询进程与线程什么是进程?原创 2021-06-02 19:17:23 · 414 阅读 · 0 评论