课堂课题:
什么是RMI,什么是RPC,两者之间的区别是什么?
关联任务:
任务五
直播时间:
2018-10-04 16:30:00
课堂内容:
视频链接:
PPT链接:
提交按钮:
小课堂内容格式
标题:
【修真院xx(职业)小课堂】课题名称
开场语:
大家好,我是IT修真院XX分院第X期的学员XX,一枚正直纯洁善良的XX程序员,今天给大家分享一下,修真院官网XX(职业)任务X,深度思考中的知识点——XXX
(1)背景介绍:
背景介绍的时候,尽可能的要宽广,讲清楚来龙去脉,讲清楚为什么会需要这个技术。
(2)知识剖析:
讲知识点的时候,尽可能的成体系,学会成体系的去给别人介绍知识。现在很多做的都是零散的,没有分类。
(3)常见问题:
最少列出1个常见问题。
(4)解决方案:
写清楚常见问题的解决方案。
(5)编码实战:
尽可能的去寻找在真实项目中在用的。如果你能找到某个网站在用你说的知识点,这是最好的。学以致用,否则当成练习题就没有意义了。多准备一些demo,讲解过程中将知识点和demo结合,便于大家理解所讲解的知识点。
(6)拓展思考:
知识点之外的拓展思考,由分享人进行讲解,这些东西就是所谓的深度,也是一个人技术水准高低比较的表现。
(7)参考文献:
引入参加文献的时候,在引用的句子后面加上序号【1】。参考文献中列出详细来源。不要去抄别人的东西,这是一个基本的态度。
(8)更多讨论:
Q1:提问人:问题?
A1:回答人(可以是分享人,也可以是其他学员):回答
Q2:提问人:问题?
A2:回答人(可以是分享人,也可以是其他学员):回答
Q3:提问人:问题?
A3:回答人(可以是分享人,也可以是其他学员):回答
(9)鸣谢:
感谢XX、XX师兄,此教程是在他们之前技术分享的基础上完善而成。
(10)结束语:
今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~
Spring RMI
RMI全称是Remote Method Invocation-远程方法调用,是纯Java的网络分布式应用系统的核心解决方案之一。Java RMI 支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用。
RMI目前使用Java远程消息交换协议JRMP进行通信。由于JRMP是专为Java对象制定的,用Java RMI开发的应用系统可以部署在任何支持JRE的平台上。但由于JRMP是专为Java对象制定的,因此,RMI对于用非Java语言开发的应用系统的支持不足。不能与用非Java语言书写的对象进行通信。
知识剖析
一个正常工作的RMI系统由下面几个部分组成:
1·远程服务的接口定义
2·远程服务接口的具体实现
3·桩(Stub)和框架(Skeleton)文件
4·一个运行远程服务的服务器
5·一个RMI命名服务,它允许客户端去发现这个远程服务
6·类文件的提供者(一个HTTP或者FTP服务器)
7·一个需要这个远程服务的客户端程序
RMI的主要优点:
1. RMI是Java编写的, 具有 “编写一次,到处运行 ” 的特性。任何基于RMI的系统均可100%地移植到 任何Java虚拟机上
2. 面向对象:RMI可将完整的对象作为参数和返回值进行传递直接通过网络传输对象数据。
3.可移动属性:RMI可将属性从客户机移动到服务器,或者从服务器移到客户机。
4.设计方式:对象传递功能使您可以在分布式计算中充分利用面向对象技术的强大功能。
5.安 全:RMI使用Java内置的安全机制保证下载执行程序时用户系统的安全。
分布式和集群
分布式:一个业务分拆多个子业务,部署在不同的服务器上。集群:同一个业务,部署在多个服务器上
常见问题
1. 如何使用Spring RMI发布服务
2. 打包问题
解决方案
1. 服务端使用Spring 配置来注入RmiServiceExporter对象来发布服务
2. 使用 maven-shade-plugin 将其打包为jar文件.
编码实战
扩展思考
参考文献
RMI 说明: http://www.cnblogs.com/xt0810/p/3640167.html
RMI 优点: https://blog.csdn.net/tornado886/article/details/4540805
更多讨论
rmi的使用有什么坑吗:
上传服务器的时候一定要设置系统对外的ip是服务器外网的IP,不然会出现链接不上的问题。
rmi有什么作用:
上面已经讲的很清楚了,符合现代编程的理念,RMI 支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用。
spring rmi是唯一一个封装的框架吗:
实际上不止spring一个封装了rmi的框架,用的比较多的可能还是阿里的dubbo。
[深圳|结业弟子]JAVA-陈哲明 发表于 2018-10-16 16:49:45 #1
讲得比较简单了,内容不够充实,下次要多准备一些内容拓展才行
回复