摘要: 一、RPC简介 RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议。它允许像调用本地服务一样调用远程服务。它可以有不同的实现方式。如RMI(远程方法调用)、Hessian、Http invoker等。另外,RPC是与语言无关的。 PC概述 RPC(Rem 阅读全文
posted @ 2018-03-23 17:02 aspirant 阅读(6817) 评论(0) 推荐(0) 编辑
摘要: RPC是远程过程调用的简称,广泛应用在大规模分布式应用中,作用是有助于系统的垂直拆分,使系统更易拓展。Java中的RPC框架比较多,各有特色,广泛使用的有RMI、Hessian、Dubbo等。RPC还有一个特点就是能够跨语言。 1、RMI(远程方法调用) JAVA自带的远程方法调用工具,不过有一定的 阅读全文
posted @ 2018-03-23 16:50 aspirant 阅读(3280) 评论(0) 推荐(0) 编辑
摘要: 在应用的迭代演进过程中,随着系统访问量提高,业务复杂度提高,代码复杂度提高,应用逐渐从单体式架构向面向服务的分布式架构转变。RPC(Remote Procedure Call Protocol远程过程调用)是分布式架构的核心,按响应方式分如下两种: 同步调用:客户端调用服务方方法,等待直到服务方返回 阅读全文
posted @ 2018-03-23 16:46 aspirant 阅读(1277) 评论(0) 推荐(0) 编辑
摘要: 最近分析的这个系统,逻辑架构中有一层是RPC interface。之前对RPC不熟悉,就上网搜索了一下资料,在此总结一下: RPC是Remote Procedure Calling,远程过程调用的缩写。并不是“远程进程调用”——Remote Process Calling。RPC总的来说是一个Cli 阅读全文
posted @ 2018-03-23 16:33 aspirant 阅读(13391) 评论(0) 推荐(1) 编辑
摘要: 一、概念 NIO即New IO,这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多。在Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO。 二、NIO和IO的主要区别 下表总结 阅读全文
posted @ 2018-03-23 14:48 aspirant 阅读(67426) 评论(7) 推荐(12) 编辑
摘要: 阿里的面试官问了个问题,如果corePolllSize=10,MaxPollSize=20,如果来了25个线程 怎么办, 先 达到 corePoolSize,然后 优先放入队列,然后在到MaxPollSize;然后拒绝; 答案: 当线程数小于corePoolSize时,提交一个任务创建一个线程(即使 阅读全文
posted @ 2018-03-23 10:32 aspirant 阅读(9251) 评论(0) 推荐(2) 编辑
摘要: 聊聊并发(七)——Java中的阻塞队列 原文首发于InfoQ 1. 什么是阻塞队列? 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景, 阅读全文
posted @ 2018-03-23 10:25 aspirant 阅读(1681) 评论(0) 推荐(0) 编辑
摘要: 一、后台线程(守护线程) 学一个东西,最重要的一点就是,为什么要用它? 后台线程区别于普通线程,普通线程又可以称为用户线程,只完成用户自己想要完成的任务,不提供公共服务。而有时,我们希望编写一段程序,能够提供公共的服务,保证所有用户针对该线程的请求都能有响应。 仔细来看下后台线程的定义:指在程序运行 阅读全文
posted @ 2018-03-23 10:01 aspirant 阅读(802) 评论(0) 推荐(0) 编辑