Java分布式学习资料:分布式系统复习.docx

上传人:太** 文档编号:62858102 上传时间:2022-11-22 格式:DOCX 页数:2 大小:13.44KB
返回 下载 相关 举报
Java分布式学习资料:分布式系统复习.docx_第1页
第1页 / 共2页
Java分布式学习资料:分布式系统复习.docx_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《Java分布式学习资料:分布式系统复习.docx》由会员分享,可在线阅读,更多相关《Java分布式学习资料:分布式系统复习.docx(2页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1、Java 的集合包括 Collection, Map。2、资源消耗过多是影响分布式系统包括CPU,文件IO,网络IO,内存方面。3、负载均衡是负载均衡机器采用随机选择,Hash选择,按权重选择,按负载选择,按连 接选择策略把把用户请求转发到业务处理机。4、水平伸缩通过增加机器来支撑访问量和数据量的方式;垂直伸缩通过升级或 增加单台机器的硬件来支撑访问量和数据量增长的方式。5、写出用TCP/IP+BI0实现基于消息方式实现系统间通信的主要过程。答:Java中可基于Socket和ServerSocket实现TCP/IP+BI0的分布式系统间通信。其中, Socket用于连接和网络I/O的操作,

2、ServerSocket用于实现服务器端端口的监听及Socket 对象的获取。TCP/IP+BI0实现基于消息方式实现系统间通信的主要过程是:客户端:创立连接Socket socket = new Socket(目标 IP,目标端口);(2)创立读取服务器端返回流的BufferReaderBufferReaderin=newBufferReader(newInputStreamReader (socket, getInputStream();(3)创立向服务器写入流的PrinterWriterPrinterWriter out = new PrinterWriter (socket. getO

3、ututStrea.m(), true);(4)像服务器端发送字符串Out. printin(“消息内容”);(5)阻塞读取服务器的返回信息。该阻塞过程会持续到服务器返回信息或网络异常为 止。In.readline();服务器端核心代码:(1)创立本地指定端口的监听ServerSocket ss = new ServerSocket (监听端口)(2)接受客户端建连接请求Socket socket = ss. accept();6、WebService调用的主要过程。答:WebService是一种跨语言的系统间交互标准,服务端以HTTP方式提供服务,该服务采 用WSDL(Web Service

4、 Description Language)描述。用DL文件描述服务使用的协议、期望 的参数、返回的参数格式等。调用端通过SOAP (Simple Object Access Protocol)方式进行 交互。WebService调用的具体过程是:首先把服务器端的服务描述成WSDL文件,并把该WSDL 文件放入HTTP服务器,用Java辅助工具根据WSDL文件生成客户端stub代码。Stub代码 的作用是把产生的对象请求信息封装为标准的SOAP格式数据,并发送到服务器端。服务器 端在收到SOAP格式数据时进行转化,反射调用的Java类。7.Map类的迭代器可采用哪两类方式访问。答:Map是重要

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

6、ator();while (ite. hasNext ()String tempkey = (String)ite.next();System. out. printin (z,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. g

7、etValue();System. out. printin (,zKey + key + value : + value) ;8. ArrayList和CopyOnWriteArrayList应用的主要不同是什么?。ArrayList和CopyOnWriteArrayList都是数据集类型,ArrayList是通常的数据集合, 而CopyOnWriteArrayList是并发的数据集合。二者的不同表达在,(1)二者的基类不同,ArrayList的基类是java. util. ArrayList; CopyOnWriteArrayList 的基类是 java. util, concurrent

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

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

10、节数组输入流ByteArraylnutStream input = new ByteArraylnutStream ();(4)把字节数组包装为ObjectlnputStreamObjectInputStream objecln = new ObjectInputStream (input);(5)从ObjectOutputStream对象读出数据objecln. readObject (序列化数据)关闭数据objectin. close ();input, close ();.如何尽可能地防止故障使系统具有高可用性。答:结合课本227页图论述。10 .为了保证分布式系统的缓存一致性,简述通常采用哪三种方法。 答:结合课本251页图论述。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com