Java分布式学习资料:分布复习大纲_第1页
Java分布式学习资料:分布复习大纲_第2页
Java分布式学习资料:分布复习大纲_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、复习大纲 以林昊的分布式Java应用基础与实践,电子工业出版社一书为基础。根据每一章前面的图提衣携领地复习每一章,即先根据图熟悉本章讲了几个问题,每个问题又分为那几个方面,每个方面的解决方法是什么。熟悉TCP/IP+BIO、TCP/IP+NIO、UDP/IP+BIO、UDP/IP+NIO实现基于消息方式实现系统间通信的主要过程(步骤)。答:TCP/IP+BIO:Java中可基于Socket和ServerSocket实现TCP/IP+BIO的分布式系统间通信。其中,Socket用于连接和网络I/O的操作,ServerSocket用于实现服务器端端口的监听及Socket对象的获取。TCP/IP+B

2、IO实现基于消息方式实现系统间通信的主要过程是:客户端:创建连接Socket socket = new Socket(目标IP,目标端口); (2) 创建读取服务器端返回流的BufferReader BufferReader in = new BufferReader(new InputStreamReader(socket.getInputStream(); (3) 创建向服务器写入流的PrinterWriter PrinterWriter out = new PrinterWriter(socket.getOututStream(), true); (4)像服务器端发送字符串Out.pri

3、ntln(“消息内容”); (5) 阻塞读取服务器的返回信息。该阻塞过程会持续到服务器返回信息或网络异常为止。 In.readline( );服务器端核心代码:创建本地指定端口的监听ServerSocket ss = new ServerSocket(监听端口)接受客户端建连接请求Socket socket = ss.accept( );2、熟悉WebService调用过程。答:WebService是一种跨语言的系统间交互标准,服务端以HTTP方式提供服务,该服务采用WSDL(Web Service Description Language)描述。WSDL文件描述服务使用的协议、期望的参数、返

4、回的参数格式等。调用端通过SOAP(Simple Object Access Protocol)方式进行交互。 WebService调用的具体过程是:首先把服务器端的服务描述成WSDL文件,并把该WSDL文件放入HTTP服务器,用Java辅助工具根据WSDL文件生成客户端stub代码。Stub代码的作用是把产生的对象请求信息封装为标准的SOAP格式数据,并发送到服务器端。服务器端在收到SOAP格式数据时进行转化,反射调用的Java类。熟悉Java Collection的基本数据类型,重点掌握使用(对象建立、元素插入、删除、遍历等)。重点掌握Set(两种)和Map的遍历方法(Map类的迭代器可采

5、用哪两类方式访问)。答:Map是重要数据集,提供了数据的插入、删除、索引、查找、遍历等数据访问功能。Map类通常采用两类迭代器访问Map类,一种是keySet,一种是entrySet,示例代码如下: String tmpkey = String.format(%d, index); if(hashmapTest.containsKey(tmpkey) System.out.println(found the key); else System.out.println(Not found the key); Iterator ite; ite = hashmapTest.keySet().ite

6、rator(); while(ite.hasNext() String tempkey = (String)ite.next(); System.out.println(Key + tempkey + value : + hashmapTest.get(tempkey); ite = hashmapTest.entrySet().iterator(); while(ite.hasNext() Map.Entry entry = (Map.Entry) ite.next(); String key = entry.getKey(); Double value = entry.getValue()

7、; System.out.println(Key + key + value : + value); 4. 熟悉Java的Concurrent数据类型,例如,ArrayList和CopyOnWriteArrayList应用的主要不同是什么。ArrayList和CopyOnWriteArrayList都是数据集类型,ArrayList是通常的数据集合,而CopyOnWriteArrayList是并发的数据集合。 二者的不同体现在,(1)二者的基类不同,ArrayList的基类是java.util.ArrayList;CopyOnWriteArrayList的基类是java.util.concur

8、rent.CopyOnWriteArrayList; (2)二者支持的数据操作类型不同,ArrayList是单线程操作,而CopyOnWriteArrayList支持多线程操作。 (3)二者的性能在小规模数据,二者的性能接近,随着数据规模的增大,CopyOnWriteArrayList的性能逐渐优于ArrayList。5.序列化和反序列化的作用是什么,以及二者的主要实现步骤是怎样的。答:分布式系统传送的数据类型很多,包括音频、视频、文字、图像等,这些不同类型的数据在网络中传输时都要进行序列化和饭序列化操作。序列化操作把要在网络系统传送的数据序列化为二进制流,反序列化则把二进制数据反序列化为原数

9、据。 序列化的常用方法:创建一个字节数组输出流 ByteArrayOutputStream output = new ByteArrayOutputStream();把字节数组包装为ObjectOutputStream ObjectOutputStream objectOut = new ObjectOutputStream(output);把对象写入ObjectOutputStreamobjectOut.writeObject(序列化数据) (4)关闭数据objectOut.close();output.close(); 反序列化的常用方法:(1) 创建一个字节数组输入流 ByteArray

10、InutStream input = new ByteArrayInutStream (); (2)把字节数组包装为ObjectInputStream ObjectInputStream objecIn = new ObjectInputStream(input); (3)从ObjectOutputStream对象读出数据objecIn.readObject(序列化数据)(4)关闭数据objectIn.close();input.close();6复习第6章、第7章首页的内容结构图,对避免故障使系统具有高可用性(第6章)、保证分布式系统缓存一致性(第7章)等问题。7什么是水平伸缩、垂直伸缩,常见的水平伸缩、垂直伸缩架构是什么。8水平伸缩架构下,负载均衡机采用什么样的策略把把用户请求转发到业务处理机。书p229-23

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论