摘要:
在应用的迭代演进过程中,随着系统访问量提高,业务复杂度提高,代码复杂度提高,应用逐渐从单体式架构向面向服务的分布式架构转变。RPC(Remote Procedure Call Protocol远程过程调用)是分布式架构的核心,按响应方式分如下两种: 同步调用:客户端调用服务方方法,等待直到服务方返回 阅读全文
摘要:
最近分析的这个系统,逻辑架构中有一层是RPC interface。之前对RPC不熟悉,就上网搜索了一下资料,在此总结一下: RPC是Remote Procedure Calling,远程过程调用的缩写。并不是“远程进程调用”——Remote Process Calling。RPC总的来说是一个Cli 阅读全文
摘要:
一、概念 NIO即New IO,这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多。在Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO。 二、NIO和IO的主要区别 下表总结 阅读全文
摘要:
阿里的面试官问了个问题,如果corePolllSize=10,MaxPollSize=20,如果来了25个线程 怎么办, 先 达到 corePoolSize,然后 优先放入队列,然后在到MaxPollSize;然后拒绝; 答案: 当线程数小于corePoolSize时,提交一个任务创建一个线程(即使 阅读全文
摘要:
聊聊并发(七)——Java中的阻塞队列 原文首发于InfoQ 1. 什么是阻塞队列? 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景, 阅读全文
摘要:
一、后台线程(守护线程) 学一个东西,最重要的一点就是,为什么要用它? 后台线程区别于普通线程,普通线程又可以称为用户线程,只完成用户自己想要完成的任务,不提供公共服务。而有时,我们希望编写一段程序,能够提供公共的服务,保证所有用户针对该线程的请求都能有响应。 仔细来看下后台线程的定义:指在程序运行 阅读全文