摘要:
Hadoop版本Hadoop2.6 RPC主要分为3个部分:(1)交互协议 (2)客户端(3)服务端 (3)服务端 RPC服务端的实例代码: RPC 服务端主要通过NIO来处理客户端发来的请求。 RPC服务端涉及的类主要有 org.apache.hadoop.ipc.Server(抽象类,serve 阅读全文
摘要:
Java NIO是在jdk1.4开始使用的,它既可以说成“新I/O”,也可以说成非阻塞式I/O。下面是java NIO的工作原理: 1. 由一个专门的线程来处理所有的 IO 事件,并负责分发。 2. 事件驱动机制:事件到的时候触发,而不是同步的去监视事件。 3. 线程通讯:线程之间通过 wait,n 阅读全文
摘要:
Hadoop版本Hadoop2.6 RPC主要分为3个部分:(1)交互协议(2)客户端(3)服务端 (2)客户端 先展示RPC客户端实例代码 (1)进入上述的RPC.getProxy方法,会发现是通过获取RpcEngine接口(默认实现是WritableRpcEngine),利用WritableRp 阅读全文
摘要:
转自http://weixiaolu.iteye.com/blog/1477774 动态代理实例如下所示: 可以看出动态代理类,实现InvocationHandler接口,便可实现动态代理。 结果如下: 阅读全文
摘要:
Hadoop版本Hadoop2.6 RPC主要分为3个部分:(1)交互协议(2)客户端 (3)服务端 (1)交互协议 协议:把某些接口和接口中的方法称为协议,客户端和服务端只要实现这些接口中的方法就可以进行通信了 Hadoop RPC中VersionedProtocol是所有协议的父类,只定义了两个 阅读全文
摘要:
1、导入Hadoop-Common-2.6.0.jar导入工程,里面的IPC实现RPC需要的文件。 2、服务器端 (2)服务实现 (3)RPC服务端,将上述服务进行发布,监控RPC客户端发来的请求 3、客户端 (2)RPC客户端请求服务 4、实验结果 阅读全文
摘要:
产生死锁的条件: 1.有至少一个资源不能共享2.至少有一个任务必须持有一个资源并且等待获取另一个被别的任务持有的资源3.资源不能任务抢占4.必须有循环等待 阅读全文
摘要:
方法一 通过访问共享变量的方式(注:需要处理同步问题) 方法二 通过管道流 其中方法一有两种实现方法,即 方法一a)通过内部类实现线程的共享变量 public class Innersharethread { public static void main(String[] args) { Myth 阅读全文
摘要:
Java提供了两种创建线程方法: 通过实现Runable接口; 通过继承Thread类本身。 线程同步 为何使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其 阅读全文
摘要:
要点:(1)长度固定使用Array,长度变化的则使用ArrayBuffer.(2)提供初始值时,不使用new。(3)用()访问元素val a= new Array[String](10)//初始化所有疏远为nullval s= Array("Hello","World")//用初始值初始化val b... 阅读全文