Hadoop阅读笔记(七)代理模式

作者: 云计算机网 分类: 云计算知识 发布时间: 2016-07-19 07:46

  关于Hadoop已经小记了六篇,《Hadoop实战》也已经翻完7章。仔细想想,这么好的一个框架,不能只是流于应用层面,跑跑数据排序、单表链接等,想得其精髓,还需深入内部。

  按照《Hadoop阅读笔记(五)——重返Hadoop目录结构》中介绍的hadoop目录结构,前面已经介绍了MapReduce的内部运行机制,今天准备入手Hadoop RPC,它是hadoop一种通信机制。

  RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

  不同于其他RPC产品,Hadoop有属于自己RPC组件,依赖于《Hadoop阅读笔记(六)——洞悉Hadoop序列化机制Writable》中介绍的Hadoop Writable类型的支持。Hadoop Writable接口要求每个实现类都得确保将本类的对象正确序列化(writeObject)与反序列化(readObject)。因此,Hadoop RPC使用Java动态代理与反射实现对象调用方式,客户端到服务器数据的序列化与反序列化由Hadoop框架或用户自己来实现,也就是数据组装是定制的。

显然我们没法上来就直接剖析RPC,因为这里有一些绕不开的东西要先介绍:Writable序列化反序列化(已在第六篇介绍)、动态代理。所以,这里先介绍什么是动态代理。

  动态代理是代理模式的一种,还有一种就是静态代理。

  代理模式:为其他对象提供一种代理,并以控制对这个对象的访问。而对一个对象进行访问控制的一个原因是为了只有在我们确实需要这个对象时才对它进行创建和初始化。它是给某一个对象提供一个替代者(占位者),使之在client对象和subject对象之间编码更有效率。代理可以提供延迟实例化(lazy instantiation),控制访问, 等等,包括只在调用中传递。

  静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。
  动态代理:在程序运行时,运用反射机制动态创建而成。

  1.静态代理

  Person.java(接口)

1 package hadoop.jackie.dao;2 3 public interface Person {4     5     public void eat();//人具有吃饭的行为6     7     public void sleep();//人具有睡觉的行为8 9 }

  

  PersonImpl.java(实现类,也就是这里的委托类)

 1 package hadoop.jackie.dao.impl; 2  3 import hadoop.jackie.dao.Person; 4  5 public class PersonImpl implements Person { 6  7     @Override 8     public void eat() { 9         System.out.println('我是吃货');10 11     }12 13     @Override14     public void sleep() {15         System.out.println('我是猪,别管我');16 17     }18 19 } 
  • 因为现在的网络发达,网上购物非常方便,因此很多人买笔记本电脑的时候都很少会去电脑城,一般都是在网上购买,但是总有一些商家会将翻新机重新包装当成新的来卖,那要如何辨别笔记本是否是翻新机呢?现在就去看看辨别笔记本是否为翻新机的方法吧。

      因为现在的网络发达,网上购物非常方便,因此很多人买笔记本电脑的时候都很少会去电脑城,一般都是在网上购买,但是总有一些商家会将翻新机重新包装当成新的来卖,那要如何辨别笔记本是否是翻新机呢?现在就去看看辨别笔记本是否为翻新机的方法吧。

      首先我们要注意是原厂翻新的笔记本的底部会有一块标注有“This product is refurbished and contains used parts”的小标签(意思即:本产品被重新翻新并包含有使用过的零件),如图1所示,左边为一台翻新后的笔记本电脑,在底部的小红圈内即为标注为返修的小标签,而右边为一台全新的笔记本电脑,上面并没有这种小标签,下面为放大的标签部分,这个是识别IBM原厂返修笔记本的一个很重要的标志,当然有些狡猾的商家也许会将这个标签撕掉,但是这个标签即使撕掉后,也会在笔记本上留下相应的痕迹,所以如果我们在选择笔记本时发现其底部有类似的痕迹,我们完全应该有理由拒绝接受这台笔记本,因为全新的笔记本电脑上是不可能会留下这种痕迹的。

      正规厂商的翻新机会有英文标记

      另一个重要标识是在说明书上,如图2所示,在返修笔记本的说明书上,也有类似的标注,左边是返修笔记本电脑的说明书,在封面上有关于返修的相关说明,而右边则是全新笔记本电脑的说明书,封面上没有这种说明,下面为放大的说明部分,请注意划圈的几个地方,上面很清楚的注明了该笔记本内含有使用过的零件,并且保修期为1年。另外在笔记本的包装箱上也有类似标注的标签,所以我们在选择笔记本时也不要忘记检查这几个地方,如果发现了此类标签,即证明该笔记本为返修机。

      上面很清楚的注明了该笔记本内含有使用过的零件,并且保修期为1年

      以上所提到的原厂翻新笔记本因为其质量相对来说还算不错,所以对消费者的危害还比较少,而另一类完全是由一些地下作坊里所翻新的笔记本电脑,它们的质量可就完全没有保证了。因为是商家自己翻新,目前就是冒充新笔记本电脑出售,当然也不会在笔记本上留下记号,所以上面所提到的方法针对此类笔记本完全没有作用,不过我们可以按照下面的方法来进行识别:#p#分页标题#e#

      方法一:检查笔记本的表面,现在的笔记本电脑在很多地方比如键盘附近都进行了磨砂处理,这些地方表面因为经常与人体接触,时间长了就会使其变得光滑发亮,这个地方一般是很难翻新的,可以作为我们判断的重要依据。

    笔记本翻新机-检查表面易磨损部位

      笔记本翻新机-检查表面易磨损部位

      方法二:检查笔记本的固定螺丝,一般商家收购的旧笔记本电脑都会有一些问题,而商家要进行维修和翻新笔记本电脑时就必须对笔记本进行拆卸,这样势必在一些螺丝上会留下比较明显的划痕,所以如果在螺丝上发现了这种痕迹,该笔记本电脑一定有问题;

      笔记本翻新机-检查螺丝

      方法三:检查LCT显示屏的表面,观察上面否有细小的磨损痕迹,因为LCT表面很薄,无法进行打磨,所以上面的磨损一般是很难清除的。

      这是小编为大家分享辨别笔记本是否为翻新机的方法,看完后大家在买笔记本的时候就可以自己辨别一下是否为翻新机了。

  • 相关推荐:

  • 辨别笔记本是否为翻新机
  • 笔记本电池正确充电的方
  • 有道云笔记QQ授权登录失
  • 网易云阅读怎么购买书籍
  • 笔记本cpu温度多少正常
  • 笔记本电脑保养注意事项
  • 降低笔记本电池损耗
  • 笔记本怎么进入bios
  • 如何选购笔记本电脑
  • Win8笔记本屏幕分辨率调
  • 网站内容禁止违规转载,转载授权联系中国云计算网