java 从入门到放弃Java并发编程NIO使用 上文【从入门到放弃-SpringBoot】SpringBoot源码分析-请求过程中我们了解到,tomcat接收、返回请求的过程都是基于NIO实现的。日常工作中有很多基于NIO的使用,我们知道NIO可以提高系统的并发度,接下来的系列我们…
java 手撕面试官系列七面试必备之常问并发编程高级面试专题 并发编程高级面试面试题 (面试题+答案领取方式见个人主页) Synchronized 相关问题 Synchronized 用过吗 , 其原理是什么 ? 你刚才提到获取对象的锁,这 个“ 锁 ”到底是什么?如何确定对象的锁 ? 什么是可重入…
无分类 Java并发24并发设计模式-生产者消费者模式并发提高效率 生产者 – 消费者模式在编程领域的应用非常广泛,前面我们曾经提到,Java 线程池本质上就是用生产者 – 消费者模式实现的,所以每当使用线程池的时候,其实就是在应用生产者 – 消费者模式。
java 从入门到放弃Java并发编程线程安全 在多处理器系统已经普及的今天,多线程能发挥出其优势,如:一个8核cpu的服务器,如果只使用单线程的话,将有7个处理器被闲置,只能发挥出服务器八分之一的能力(忽略其它资源占用情况)。同时,使用多线程,可以…
无分类 Java并发21并发设计模式-Balking模式线程安全的单例模式 上一篇文章中,我们提到可以用“多线程版本的 if”来理解 Guarded Suspension 模式,不同于单线程中的 if,这个“多线程版本的 if”是需要等待的,而且还很执着,必须要等到条件为真。但很显然这个世界,不是所有场景…
无分类 Java并发20并发设计模式-Guarded-Suspension模式等待唤醒机制的规范实现 在开发中我们或许回遇到这样的情况:有一个Web 版的文件浏览器,通过它用户可以在浏览器里查看服务器上的目录和文件。这个项目依赖运维部门提供的文件浏览服务,而这个文件浏览服务只支持消息队列(MQ)方式接入…
无分类 Java并发19并发设计模式-ThreadLocal-线程本地存储模式 我们曾经重复说到,多个线程同时读写同一共享变量存在并发问题。前面两篇文章我们突破的是写,没有写操作自然没有并发问题了。其实还可以突破共享变量,没有共享变量也不会有并发问题。
java 从入门到放弃Java并发编程NIOBuffer 上篇【从入门到放弃-Java】并发编程-NIO-Channel中我们学习到channel是双向通道,数据通过channel在实体(文件、socket)和缓冲区(buffer)中可以双向传输。